/** * 登录相关配置 */ export interface LoginConfig { // 是否启用验证码 enableCaptcha: boolean; // 是否启用记住我功能 enableRememberMe: boolean; // 登录页面背景配置 backgroundStyle: { type: 'gradient' | 'image' | 'color'; value: string; }; // 自动登录超时时间(毫秒) autoLoginTimeout: number; // Token刷新间隔(毫秒) tokenRefreshInterval: number; // 是否启用自动刷新Token enableAutoRefreshToken: boolean; // 登录失败最大重试次数 maxLoginRetries: number; // 是否在登录失败后显示验证码 showCaptchaOnFailure: boolean; } /** * 默认登录配置 */ export const defaultLoginConfig: LoginConfig = { enableCaptcha: false, enableRememberMe: true, backgroundStyle: { type: 'gradient', value: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)' }, autoLoginTimeout: 5000, tokenRefreshInterval: 30 * 60 * 1000, // 30分钟 enableAutoRefreshToken: true, maxLoginRetries: 3, showCaptchaOnFailure: true }; /** * 获取登录配置 */ export const getLoginConfig = (): LoginConfig => { // 可以从服务器或本地存储获取配置 // 这里返回默认配置 return defaultLoginConfig; }; /** * 路由配置 */ export const routeConfig = { // 登录页面路径 loginPath: '/pages/login/login', // 默认首页路径 homePath: '/pages/index/index', // 无需登录的页面列表 publicPages: [ '/pages/login/login', '/pages/register/register', '/pages/forgot-password/forgot-password' ], // 需要管理员权限的页面 adminPages: [ '/pages/admin/dashboard', '/pages/admin/users', '/pages/admin/settings' ] }; /** * API配置 */ export const apiConfig = { // 登录接口 loginApi: '/auth/login', // 登出接口 logoutApi: '/auth/logout', // Token检查接口 checkTokenApi: '/auth/check', // Token刷新接口 refreshTokenApi: '/auth/refresh', // 获取验证码接口 captchaApi: '/auth/captcha', // 用户信息接口 userInfoApi: '/user/info', // 用户资料接口 userProfileApi: '/user/profile' }; /** * 存储键名配置 */ export const storageKeys = { // Token存储键 token: 'ACCESS_TOKEN', // 用户信息存储键 userInfo: 'USER_INFO', // 记住我存储键 rememberMe: 'REMEMBER_ME', // 上次登录时间存储键 lastLoginTime: 'LAST_LOGIN_TIME' }; /** * 错误消息配置 */ export const errorMessages = { // 网络错误 networkError: '网络连接异常,请检查网络设置', // 登录失败 loginFailed: '用户名或密码错误', // Token过期 tokenExpired: '登录已过期,请重新登录', // 服务器错误 serverError: '服务器错误,请稍后重试', // 验证码错误 captchaError: '验证码错误,请重新输入', // 账号被锁定 accountLocked: '账号已被锁定,请联系管理员', // 权限不足 permissionDenied: '权限不足,无法执行此操作' };