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. clientId: 'e5cd7e4891bf95d1d19206ce24a7b32e',
  17. grantType: 'password'
  18. };
  19. return request({
  20. url: '/auth/login',
  21. headers: {
  22. isToken: false
  23. },
  24. method: 'post',
  25. data: params
  26. });
  27. }
  28. // 注册方法
  29. export function register(data: any) {
  30. return request({
  31. url: '/auth/register',
  32. headers: {
  33. isToken: false
  34. },
  35. method: 'post',
  36. data: data
  37. });
  38. }
  39. /**
  40. * 注销
  41. */
  42. export function logout() {
  43. return request({
  44. url: '/auth/logout',
  45. method: 'post'
  46. });
  47. }
  48. /**
  49. * 获取验证码
  50. */
  51. export function getCodeImg(): AxiosPromise<VerifyCodeResult> {
  52. return request({
  53. url: '/code',
  54. headers: {
  55. isToken: false
  56. },
  57. method: 'get',
  58. timeout: 20000
  59. });
  60. }
  61. /**
  62. * 第三方登录
  63. * @param source 第三方登录类型
  64. * */
  65. export function socialLogin(source: string, code: any, state: any): AxiosPromise<any> {
  66. const data = {
  67. code,
  68. state,
  69. source
  70. };
  71. return request({
  72. url: '/auth/social-login',
  73. method: 'get',
  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. }