login.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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. };
  68. return request({
  69. url: '/auth/social-login/' + source,
  70. method: 'get',
  71. headers: {
  72. isToken: true
  73. },
  74. params: data
  75. });
  76. }
  77. // 获取用户详细信息
  78. export function getInfo(): AxiosPromise<UserInfo> {
  79. return request({
  80. url: '/system/user/getInfo',
  81. method: 'get'
  82. });
  83. }
  84. // 获取租户列表
  85. export function getTenantList(): AxiosPromise<TenantInfo> {
  86. return request({
  87. url: '/auth/tenant/list',
  88. headers: {
  89. isToken: false
  90. },
  91. method: 'get'
  92. });
  93. }