login.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  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 {encrypt} from "@/utils/jsencrypt";
  6. // pc端固定客户端授权id
  7. const clientId = import.meta.env.VITE_APP_CLIENT_ID;
  8. /**
  9. * @param data {LoginData}
  10. * @returns
  11. */
  12. export function login(data: LoginData): AxiosPromise<LoginResult> {
  13. let md5pwd = encrypt(data.password);
  14. let param = {
  15. account: data.username,
  16. password: md5pwd
  17. }
  18. return request({
  19. url: "/sys/auth/login",
  20. method: "post",
  21. data: param,
  22. });
  23. }
  24. export function ticketLogin(param : {ticket?: string}): AxiosPromise<LoginResult> {
  25. return request({
  26. url: "/sys/auth/ticket_login",
  27. method: "post",
  28. data: param,
  29. });
  30. }
  31. /**
  32. * @param data {LoginData}
  33. * @returns
  34. */
  35. export function loginWxApi(data: LoginData): AxiosPromise<LoginResult> {
  36. return request({
  37. url: "/sys/auth/login",
  38. method: "post",
  39. data: data,
  40. });
  41. }
  42. // 注册方法
  43. export function register(data: any) {
  44. const params = {
  45. ...data,
  46. clientId: clientId,
  47. grantType: 'password'
  48. };
  49. return request({
  50. url: '/auth/register',
  51. headers: {
  52. isToken: false,
  53. isEncrypt: true
  54. },
  55. method: 'post',
  56. data: params
  57. });
  58. }
  59. /**
  60. * 注销
  61. */
  62. export function logout() {
  63. return request({
  64. url: '/lingcun/logout',
  65. method: 'post'
  66. });
  67. }
  68. /**
  69. * 获取验证码
  70. */
  71. export function getCodeImg(): AxiosPromise<VerifyCodeResult> {
  72. return request({
  73. url: '/auth/code',
  74. headers: {
  75. isToken: false
  76. },
  77. method: 'get',
  78. timeout: 20000
  79. });
  80. }
  81. // 获取用户详细信息
  82. export function getInfo(): AxiosPromise<UserInfo> {
  83. return request({
  84. url: '/sys/auth/getCurrentUserInfo',
  85. method: 'post'
  86. });
  87. }
  88. // 获取用户权限
  89. export function getResource(): AxiosPromise<UserInfo> {
  90. return request({
  91. url: '/sys/permission/getUserAccessResource',
  92. method: 'post'
  93. });
  94. }
  95. // 获取用户权限
  96. export function callback(): AxiosPromise<UserInfo> {
  97. return request({
  98. url: '/sys/permission/getUserAccessResource',
  99. method: 'post'
  100. });
  101. }
  102. // 获取租户列表
  103. export function getTenantList(): AxiosPromise<TenantInfo> {
  104. return request({
  105. url: '/auth/tenant/list',
  106. headers: {
  107. isToken: true
  108. },
  109. method: 'get'
  110. });
  111. }
  112. // 获取租户列表
  113. export function getXworkLoginParam(): AxiosPromise<WWLoginOptions> {
  114. return request({
  115. url: '/xwork/get_x_work_login_param',
  116. headers: {
  117. isToken: true
  118. },
  119. method: 'get',
  120. params:{}
  121. });
  122. }