login.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import request from '@/utils/request';
  2. import { AxiosPromise } from 'axios';
  3. import { LoginData, LoginResult, VerifyCodeResult, TenantInfo } from './types';
  4. import { UserInfo } from '@/api/system/user/types';
  5. /**
  6. * @param data {LoginData}
  7. * @returns
  8. */
  9. export function login(data: LoginData): AxiosPromise<LoginResult> {
  10. const params = {
  11. tenantId: data.tenantId,
  12. username: data.username.trim(),
  13. password: data.password,
  14. code: data.code,
  15. uuid: data.uuid
  16. };
  17. return request({
  18. url: '/auth/login',
  19. headers: {
  20. isToken: false
  21. },
  22. method: 'post',
  23. data: params
  24. });
  25. }
  26. // 注册方法
  27. export function register(data: any) {
  28. return request({
  29. url: '/auth/register',
  30. headers: {
  31. isToken: false
  32. },
  33. method: 'post',
  34. data: data
  35. });
  36. }
  37. /**
  38. * 注销
  39. */
  40. export function logout() {
  41. return request({
  42. url: '/auth/logout',
  43. method: 'post'
  44. });
  45. }
  46. /**
  47. * 获取验证码
  48. */
  49. export function getCodeImg(): AxiosPromise<VerifyCodeResult> {
  50. return request({
  51. url: '/code',
  52. headers: {
  53. isToken: false
  54. },
  55. method: 'get',
  56. timeout: 20000
  57. });
  58. }
  59. /**
  60. * 第三方登录
  61. * @param source 第三方登录类型
  62. * */
  63. export function socialLogin(source: string, code: any, state: any): AxiosPromise<any> {
  64. const data = {
  65. code,
  66. state,
  67. source
  68. };
  69. return request({
  70. url: '/auth/social-login',
  71. method: 'get',
  72. params: data
  73. });
  74. }
  75. // 获取用户详细信息
  76. export function getInfo(): AxiosPromise<UserInfo> {
  77. return request({
  78. url: '/system/user/getInfo',
  79. method: 'get'
  80. });
  81. }
  82. // 获取租户列表
  83. export function getTenantList(): AxiosPromise<TenantInfo> {
  84. return request({
  85. url: '/auth/tenant/list',
  86. headers: {
  87. isToken: false
  88. },
  89. method: 'get'
  90. });
  91. }