typings.d.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. declare namespace API {
  2. /** 服务端 LoginResp 中的用户信息(对应 Go UserInfo 结构体) */
  3. interface ServerUserInfo {
  4. userId: number;
  5. username: string;
  6. nickname: string;
  7. avatar: string;
  8. email: string;
  9. phone: string;
  10. isSuperAdmin: number;
  11. mustChangePassword: number;
  12. memberType: string;
  13. perms: string[];
  14. }
  15. /** 服务端登录/刷新 token 接口返回的数据(对应 Go LoginResp 结构体) */
  16. interface LoginResp {
  17. accessToken: string;
  18. refreshToken: string;
  19. expires: number;
  20. userInfo: ServerUserInfo;
  21. }
  22. /**
  23. * 本地存储的用户信息(localStorage user-info + cookie authorized-token 内容合并)。
  24. * 读取 token 和展示用户信息时均使用此类型。
  25. */
  26. interface UserInfo {
  27. userId?: number;
  28. username?: string;
  29. nickname?: string;
  30. avatar?: string;
  31. email?: string;
  32. phone?: string;
  33. isSuperAdmin?: number;
  34. mustChangePassword?: number;
  35. memberType?: string;
  36. perms?: string[];
  37. /** token 字段,与用户信息一起存储以方便读取 */
  38. accessToken?: string;
  39. expires?: number;
  40. refreshToken?: string;
  41. }
  42. /** 管理后台登录参数 */
  43. interface AdminLoginParams {
  44. username: string;
  45. password: string;
  46. managementKey: string;
  47. captchaId?: string;
  48. captchaCode?: string;
  49. }
  50. /** 管理后台 cap.js 登录参数 */
  51. interface AdminLoginByCapParams {
  52. username: string;
  53. password: string;
  54. managementKey: string;
  55. capToken: string;
  56. }
  57. type LoginResult = Result<LoginResp>;
  58. type RefreshTokenResult = Result<LoginResp>;
  59. interface CaptchaInfo {
  60. base64image: string;
  61. id: string;
  62. }
  63. type CaptchaResult = Result<CaptchaInfo>;
  64. /** cap.js 端点响应(go-zero CapEndpointResp.Data) */
  65. interface CapEndpointData {
  66. data: string;
  67. }
  68. type CapEndpointResult = Result<CapEndpointData>;
  69. interface UserUpdateInfoReq {
  70. username: string;
  71. nickname: string;
  72. avatar: string;
  73. email: string;
  74. phone: string;
  75. }
  76. type UserUpdateInfoResult = Result<Empty>;
  77. interface UserUpdatePasswordReq {
  78. username: string;
  79. oldPassword: string;
  80. newPassword: string;
  81. }
  82. type UserUpdatePasswordResult = Result<Empty>;
  83. }