45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
// API相关常量
|
|||
|
|
export const API_BASE_URL = import.meta.env.VITE_APP_BASE_URL || '/api';
|
||
|
|
|
||
|
|
// 存储相关常量
|
||
|
|
export const STORAGE_KEYS = {
|
||
|
|
TOKEN: 'LEASER_TOKEN',
|
||
|
|
USER_INFO: 'LEASER_USER_INFO',
|
||
|
|
LOCALE: 'arco-locale',
|
||
|
|
THEME: 'arco-theme',
|
||
|
|
} as const;
|
||
|
|
|
||
|
|
// 路由相关常量
|
||
|
|
export const ROUTE_NAMES = {
|
||
|
|
LOGIN: 'login',
|
||
|
|
DASHBOARD: 'dashboard',
|
||
|
|
PROJECT: 'project',
|
||
|
|
TENANT: 'tenant',
|
||
|
|
CONTRACT: 'contract',
|
||
|
|
} as const;
|
||
|
|
|
||
|
|
// 业务相关常量
|
||
|
|
export const PAGE_SIZE_OPTIONS = [10, 20, 50, 100];
|
||
|
|
export const DEFAULT_PAGE_SIZE = 20;
|
||
|
|
|
||
|
|
// 文件相关常量
|
||
|
|
export const FILE_UPLOAD = {
|
||
|
|
MAX_SIZE: 10 * 1024 * 1024, // 10MB
|
||
|
|
ALLOWED_TYPES: [
|
||
|
|
'image/jpeg',
|
||
|
|
'image/png',
|
||
|
|
'image/gif',
|
||
|
|
'application/pdf',
|
||
|
|
'application/msword',
|
||
|
|
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
||
|
|
],
|
||
|
|
} as const;
|
||
|
|
|
||
|
|
// 表单验证相关常量
|
||
|
|
export const VALIDATION_RULES = {
|
||
|
|
PHONE: /^1[3-9]\d{9}$/,
|
||
|
|
EMAIL: /^[^\s@]+@[^\s@]+\.[^\s@]+$/,
|
||
|
|
ID_CARD:
|
||
|
|
/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
|
||
|
|
} as const;
|