Mars Developer 51f8d95bf9 first commit
2025-06-26 11:24:11 +08:00

287 lines
5.6 KiB
TypeScript

// 用户角色类型
export type UserRole = 'user' | 'interpreter' | 'admin'
// 用户相关类型
export interface User {
id: string
name: string
email: string
phone: string
avatar?: string
balance: number
status: 'active' | 'inactive' | 'suspended'
role: UserRole
totalOrders?: number
completedOrders?: number
createdAt: string
updatedAt: string
}
// 认证相关类型
export interface AuthUser {
id: string
email: string
name: string
role: UserRole
avatar?: string
}
// 登录请求
export interface LoginRequest {
email: string
password: string
}
// 登录响应
export interface LoginResponse {
user: AuthUser
token: string
expiresIn: number
}
// 注册请求
export interface RegisterRequest {
name: string
email: string
phone: string
password: string
role: UserRole
verificationCode?: string
}
// 口译员相关类型
export interface Interpreter {
id: string
name: string
email: string
phone: string
avatar?: string
languages: string[]
specialties: string[]
rating: number
totalOrders: number
status: 'active' | 'inactive' | 'busy'
hourlyRate: number
createdAt: string
updatedAt: string
certifications?: string[]
experience?: number
}
// 订单相关类型
export interface Order {
id: string
userId: string
interpreterId?: string
type: 'voice' | 'video' | 'on-site'
status: 'pending' | 'confirmed' | 'in-progress' | 'completed' | 'cancelled'
scheduledAt: string
duration: number
amount: number
sourceLanguage: string
targetLanguage: string
description?: string
createdAt: string
updatedAt: string
user?: User
interpreter?: Interpreter
rating?: number
feedback?: string
}
// 文档翻译类型
export interface DocumentTranslation {
id: string
userId: string
title: string
sourceLanguage: string
targetLanguage: string
status: 'pending' | 'in-progress' | 'completed' | 'rejected'
originalFile: string
translatedFile?: string
wordCount: number
amount: number
deadline: string
createdAt: string
updatedAt: string
user?: User
translator?: Interpreter
}
// 充值记录类型
export interface RechargeRecord {
id: string
userId: string
amount: number
method: 'alipay' | 'wechat' | 'bank_card' | 'admin'
status: 'pending' | 'completed' | 'failed'
transactionId?: string
createdAt: string
user?: User
}
// 收费配置类型
export interface PricingConfig {
id: string
type: 'voice' | 'video' | 'on-site' | 'document'
timeSlot: 'peak' | 'normal' | 'off-peak'
basePrice: number
perMinutePrice?: number
perWordPrice?: number
createdAt: string
updatedAt: string
}
// 统计数据类型
export interface DashboardStats {
totalUsers: number
newUsers: number
voiceOrders: number
videoOrders: number
totalRevenue: number
pendingOrders: number
activeInterpreters: number
completedTranslations: number
}
// 财务统计类型
export interface FinanceStats {
totalRevenue: number
monthlyRevenue: number
platformBalance: number
pendingWithdraw: number
}
// 订单统计类型
export interface OrderStats {
pending: number
confirmed: number
inProgress: number
completed: number
cancelled: number
todayRevenue: number
}
export interface UserStats {
total: number
users: number
interpreters: number
admins: number
active: number
inactive: number
suspended: number
newThisMonth: number
totalBalance: number
}
export interface InterpreterStats {
total: number
online: number
busy: number
inactive: number
averageRating: number
averageHourlyRate: number
}
export interface Transaction {
id: string
type: 'order_payment' | 'interpreter_payout' | 'platform_fee' | 'refund' | 'withdraw'
amount: number
fee: number
status: 'completed' | 'pending' | 'failed'
userName: string
userType: string
orderId?: string
createdAt: string
}
export interface WithdrawalRequest {
id: string
interpreterId: string
interpreterName: string
interpreterAvatar?: string
amount: number
bankInfo: string
status: 'pending' | 'approved' | 'rejected'
createdAt: string
}
// 分页参数类型
export interface PaginationParams {
page: number
limit: number
total?: number
}
// API响应类型
export interface ApiResponse<T> {
success: boolean
data: T
message?: string
pagination?: PaginationParams
}
// 筛选参数类型
export interface FilterParams {
search?: string
status?: string
type?: string
dateRange?: string
startDate?: string
endDate?: string
}
// 系统设置相关类型
export interface SystemSettings {
// 基础设置
platformName: string
customerServicePhone: string
customerServiceEmail: string
workingHours: string
platformDescription: string
maintenanceMode: boolean
// 费率设置
platformFeeRate: number
minimumOrderAmount: number
maximumOrderAmount: number
minimumWithdrawAmount: number
serviceTypes: ServiceType[]
// 订单设置
orderCancelTimeout: number
reviewTimeLimit: number
interpreterResponseTime: number
advanceBookingTime: number
allowCancellation: boolean
requireDeposit: boolean
autoAssignInterpreter: boolean
// 通知设置
emailNotifications: NotificationSetting[]
smsNotifications: NotificationSetting[]
// 安全设置
passwordMinLength: number
maxLoginAttempts: number
lockoutDuration: number
sessionTimeout: number
requireEmailVerification: boolean
requirePhoneVerification: boolean
enableTwoFactorAuth: boolean
}
export interface ServiceType {
type: string
name: string
description: string
basePrice: number
pricePerMinute: number
}
export interface NotificationSetting {
type: string
name: string
description: string
enabled: boolean
}