loginConfig.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. /**
  2. * 登录相关配置
  3. */
  4. export interface LoginConfig {
  5. // 是否启用验证码
  6. enableCaptcha: boolean;
  7. // 是否启用记住我功能
  8. enableRememberMe: boolean;
  9. // 登录页面背景配置
  10. backgroundStyle: {
  11. type: 'gradient' | 'image' | 'color';
  12. value: string;
  13. };
  14. // 自动登录超时时间(毫秒)
  15. autoLoginTimeout: number;
  16. // Token刷新间隔(毫秒)
  17. tokenRefreshInterval: number;
  18. // 是否启用自动刷新Token
  19. enableAutoRefreshToken: boolean;
  20. // 登录失败最大重试次数
  21. maxLoginRetries: number;
  22. // 是否在登录失败后显示验证码
  23. showCaptchaOnFailure: boolean;
  24. }
  25. /**
  26. * 默认登录配置
  27. */
  28. export const defaultLoginConfig: LoginConfig = {
  29. enableCaptcha: false,
  30. enableRememberMe: true,
  31. backgroundStyle: {
  32. type: 'gradient',
  33. value: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)'
  34. },
  35. autoLoginTimeout: 5000,
  36. tokenRefreshInterval: 30 * 60 * 1000, // 30分钟
  37. enableAutoRefreshToken: true,
  38. maxLoginRetries: 3,
  39. showCaptchaOnFailure: true
  40. };
  41. /**
  42. * 获取登录配置
  43. */
  44. export const getLoginConfig = (): LoginConfig => {
  45. // 可以从服务器或本地存储获取配置
  46. // 这里返回默认配置
  47. return defaultLoginConfig;
  48. };
  49. /**
  50. * 路由配置
  51. */
  52. export const routeConfig = {
  53. // 登录页面路径
  54. loginPath: '/pages/login/login',
  55. // 默认首页路径
  56. homePath: '/pages/index/index',
  57. // 无需登录的页面列表
  58. publicPages: [
  59. '/pages/login/login',
  60. '/pages/register/register',
  61. '/pages/forgot-password/forgot-password'
  62. ],
  63. // 需要管理员权限的页面
  64. adminPages: [
  65. '/pages/admin/dashboard',
  66. '/pages/admin/users',
  67. '/pages/admin/settings'
  68. ]
  69. };
  70. /**
  71. * API配置
  72. */
  73. export const apiConfig = {
  74. // 登录接口
  75. loginApi: '/auth/login',
  76. // 登出接口
  77. logoutApi: '/auth/logout',
  78. // Token检查接口
  79. checkTokenApi: '/auth/check',
  80. // Token刷新接口
  81. refreshTokenApi: '/auth/refresh',
  82. // 获取验证码接口
  83. captchaApi: '/auth/captcha',
  84. // 用户信息接口
  85. userInfoApi: '/user/info',
  86. // 用户资料接口
  87. userProfileApi: '/user/profile'
  88. };
  89. /**
  90. * 存储键名配置
  91. */
  92. export const storageKeys = {
  93. // Token存储键
  94. token: 'ACCESS_TOKEN',
  95. // 用户信息存储键
  96. userInfo: 'USER_INFO',
  97. // 记住我存储键
  98. rememberMe: 'REMEMBER_ME',
  99. // 上次登录时间存储键
  100. lastLoginTime: 'LAST_LOGIN_TIME'
  101. };
  102. /**
  103. * 错误消息配置
  104. */
  105. export const errorMessages = {
  106. // 网络错误
  107. networkError: '网络连接异常,请检查网络设置',
  108. // 登录失败
  109. loginFailed: '用户名或密码错误',
  110. // Token过期
  111. tokenExpired: '登录已过期,请重新登录',
  112. // 服务器错误
  113. serverError: '服务器错误,请稍后重试',
  114. // 验证码错误
  115. captchaError: '验证码错误,请重新输入',
  116. // 账号被锁定
  117. accountLocked: '账号已被锁定,请联系管理员',
  118. // 权限不足
  119. permissionDenied: '权限不足,无法执行此操作'
  120. };