login.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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, tenantId: string, code: any, state: any): AxiosPromise<any> {
  66. const data = {
  67. socialCode: code,
  68. socialState: state,
  69. source,
  70. tenantId,
  71. clientId: 'e5cd7e4891bf95d1d19206ce24a7b32e',
  72. grantType: 'social'
  73. };
  74. return request({
  75. url: '/auth/social-login',
  76. method: 'post',
  77. data: data
  78. });
  79. }
  80. // 获取用户详细信息
  81. export function getInfo(): AxiosPromise<UserInfo> {
  82. return request({
  83. url: '/system/user/getInfo',
  84. method: 'get'
  85. });
  86. }
  87. // 获取租户列表
  88. export function getTenantList(): AxiosPromise<TenantInfo> {
  89. return request({
  90. url: '/auth/tenant/list',
  91. headers: {
  92. isToken: false
  93. },
  94. method: 'get'
  95. });
  96. }