You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.1 KiB

  1. import { http } from "@/utils/http";
  2. export type UserResult = {
  3. success: boolean;
  4. data: {
  5. /** 头像 */
  6. avatar: string;
  7. /** 用户名 */
  8. username: string;
  9. /** 昵称 */
  10. nickname: string;
  11. /** 当前登录用户的角色 */
  12. roles: Array<string>;
  13. /** `token` */
  14. accessToken: string;
  15. /** 用于调用刷新`accessToken`的接口时所需的`token` */
  16. refreshToken: string;
  17. /** `accessToken`的过期时间(格式'xxxx/xx/xx xx:xx:xx') */
  18. expires: Date;
  19. };
  20. };
  21. export type RefreshTokenResult = {
  22. success: boolean;
  23. data: {
  24. /** `token` */
  25. accessToken: string;
  26. /** 用于调用刷新`accessToken`的接口时所需的`token` */
  27. refreshToken: string;
  28. /** `accessToken`的过期时间(格式'xxxx/xx/xx xx:xx:xx') */
  29. expires: Date;
  30. };
  31. };
  32. /** 登录 */
  33. export const getLogin = (data?: object) => {
  34. return http.request<UserResult>("post", "/login", { data });
  35. };
  36. /** 刷新`token` */
  37. export const refreshTokenApi = (data?: object) => {
  38. return http.request<RefreshTokenResult>("post", "/refresh-token", { data });
  39. };