/** * 全局配置文件 * 统一管理应用配置信息 */ // 环境配置 const ENV = { // 开发环境 DEVELOPMENT: 'development', // 生产环境 PRODUCTION: 'production', // 测试环境 TEST: 'test' } // 当前环境 const currentEnv = ENV.DEVELOPMENT // 基础配置 const config = { // 应用信息 app: { name: 'RentEase', version: '1.0.0', description: '智能租赁管理平台' }, // API配置 api: { // 开发环境 development: { baseUrl: 'http://localhost:3000/api', timeout: 30000, retry: 1 }, // 生产环境 production: { baseUrl: 'https://api.rentease.com/api', timeout: 30000, retry: 2 }, // 测试环境 test: { baseUrl: 'http://test-api.rentease.com/api', timeout: 30000, retry: 1 } }, // 存储键名配置 storage: { token: 'token', userInfo: 'userInfo', tenantInfo: 'tenantInfo', menus: 'menus', savedUser: 'savedUser', settings: 'settings' }, // 分页配置 pagination: { page: 1, pageSize: 10, pageSizeOptions: [10, 20, 50, 100] }, // 状态码配置 statusCode: { SUCCESS: 200, BAD_REQUEST: 400, UNAUTHORIZED: 401, FORBIDDEN: 403, NOT_FOUND: 404, SERVER_ERROR: 500 }, // 正则表达式配置 regex: { // 手机号 phone: /^1[3-9]\d{9}$/, // 邮箱 email: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/, // 密码(至少6位) password: /^.{6,}$/, // 用户名(3-20位字母数字下划线) username: /^[a-zA-Z0-9_]{3,20}$/, // 金额(最多2位小数) amount: /^\d+(\.\d{1,2})?$/ } } /** * 获取当前环境配置 */ export const getCurrentConfig = () => { return { ...config.api[currentEnv], env: currentEnv } } /** * 获取API基础URL */ export const getBaseUrl = () => { return config.api[currentEnv].baseUrl } /** * 获取请求超时时间 */ export const getTimeout = () => { return config.api[currentEnv].timeout } /** * 获取存储键名 */ export const getStorageKey = (key) => { return config.storage[key] || key } /** * 验证正则 */ export const validate = (type, value) => { const regex = config.regex[type] return regex ? regex.test(value) : false } /** * 获取状态码配置 */ export const statusCode = config.statusCode export default config