137 lines
2.4 KiB
JavaScript
137 lines
2.4 KiB
JavaScript
/**
|
||
* 全局配置文件
|
||
* 统一管理应用配置信息
|
||
*/
|
||
|
||
// 环境配置
|
||
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
|