user.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. /** 按钮级别权限 */
  14. permissions: Array<string>;
  15. /** `token` */
  16. token: string;
  17. /** `token`的过期时间(格式'xxxx/xx/xx xx:xx:xx') */
  18. expires: Date;
  19. };
  20. error: string;
  21. };
  22. export type RefreshTokenResult = {
  23. success: boolean;
  24. data: {
  25. /** `token` */
  26. token: string;
  27. /** `accessToken`的过期时间(格式'xxxx/xx/xx xx:xx:xx') */
  28. expires: Date;
  29. };
  30. };
  31. export type UserInfo = {
  32. /** 头像 */
  33. avatar: string;
  34. /** 用户名 */
  35. username: string;
  36. /** 昵称 */
  37. nickname: string;
  38. /** 邮箱 */
  39. email: string;
  40. /** 联系电话 */
  41. phone: string;
  42. /** 简介 */
  43. description: string;
  44. };
  45. export type UserInfoResult = {
  46. success: boolean;
  47. data: UserInfo;
  48. };
  49. type ResultTable = {
  50. success: boolean;
  51. data?: {
  52. /** 列表数据 */
  53. list: Array<any>;
  54. /** 总条目数 */
  55. total?: number;
  56. /** 每页显示条目个数 */
  57. pageSize?: number;
  58. /** 当前页数 */
  59. currentPage?: number;
  60. };
  61. };
  62. /** 登录 */
  63. export const getLogin = (data?: object) => {
  64. return http.request<UserResult>("post", "/api/login/login", { data });
  65. };
  66. /** 刷新`token` */
  67. export const refreshTokenApi = (data?: object) => {
  68. return http.request<RefreshTokenResult>("post", "/api/login/refreshToken", { data });
  69. };
  70. /** 账户设置-个人信息 */
  71. export const getMine = (data?: object) => {
  72. return http.request<UserInfoResult>("get", "/mine", { data });
  73. };
  74. /** 账户设置-个人安全日志 */
  75. export const getMineLogs = (data?: object) => {
  76. return http.request<ResultTable>("get", "/mine-logs", { data });
  77. };