login.ts 1.8 KB

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