From 114bf81fcbf566dfdf88b2a84ac938ade08acf7a Mon Sep 17 00:00:00 2001 From: mars Date: Sun, 29 Jun 2025 16:13:34 +0800 Subject: [PATCH] first commit --- .gitignore | 114 ++++++++++++++++++++++++++++++ README.md | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 315 insertions(+) create mode 100644 .gitignore create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a3bea26 --- /dev/null +++ b/.gitignore @@ -0,0 +1,114 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local +.env + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts + +# IDE +.vscode/ +.idea/ +*.swp +*.swo + +# OS +Thumbs.db +.DS_Store + +# Logs +logs +*.log + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Coverage directory used by tools like istanbul +coverage/ + +# nyc test coverage +.nyc_output + +# Dependency directories +node_modules/ +jspm_packages/ + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test +.env.local +.env.development.local +.env.test.local +.env.production.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..2b6211b --- /dev/null +++ b/README.md @@ -0,0 +1,201 @@ +# 口译服务管理后台 + +一个基于 Next.js 和 TypeScript 构建的现代化口译服务管理后台系统。 + +## 功能特性 + +### 🏢 企业服务管理 +- **企业合同管理**:管理企业合同信息和服务费率配置 +- **企业员工管理**:管理企业员工信息和通话记录 +- **企业账单管理**:企业结算记录和账单管理 +- **个性化费率配置**:为不同企业设置专属服务费率 + +### 📋 订单管理 +- **多种服务类型**: + - AI语音翻译 + - AI视频翻译 + - 手语翻译 + - 人工口译 + - 文档翻译 +- **订单状态跟踪**:待处理、处理中、已完成、已取消、失败 +- **优先级管理**:紧急、高、普通、低 +- **详细信息展示**:包括译员信息、时间安排、费用等 + +### 📄 文档管理 +- **文档上传管理**:支持多种文档格式 +- **翻译进度跟踪**:实时显示翻译状态和进度 +- **文档下载功能**:支持原文档和翻译结果下载 + +### 🧾 发票管理 +- **发票生成**:支持个人和企业发票 +- **发票下载**:PDF格式发票下载 +- **发票打印**:直接打印功能 +- **发票状态管理**:草稿、已开具、已付款、已取消 + +### 👥 用户管理 +- **用户信息管理**:个人用户和企业用户 +- **用户状态跟踪**:活跃状态、登录记录 +- **用户类型区分**:个人用户、企业用户 + +### 🎯 译员管理 +- **译员信息管理**:译员资料、专业领域 +- **译员状态监控**:在线、离线、忙碌状态 +- **语言能力管理**:支持的语言对 + +### 📞 通话管理 +- **实时通话监控**:当前活跃通话 +- **通话记录管理**:历史通话记录 +- **通话质量统计**:通话时长、费用统计 + +### ⚙️ 系统设置 +- **服务费率配置**:为每种服务设置独立费率 +- **系统参数配置**:通话设置、通知设置 +- **安全设置**:双因素认证、会话超时 +- **API配置**:第三方服务集成 + +## 技术栈 + +- **前端框架**:Next.js 14 +- **类型系统**:TypeScript +- **样式框架**:Tailwind CSS +- **图标库**:Heroicons +- **状态管理**:React Hooks +- **数据库**:Supabase(可选) +- **部署**:Vercel(推荐) + +## 安装和运行 + +### 环境要求 +- Node.js 18.0 或更高版本 +- npm 或 yarn + +### 安装依赖 +```bash +npm install +# 或 +yarn install +``` + +### 环境配置 +复制 `.env.example` 到 `.env.local` 并配置必要的环境变量: + +```bash +cp .env.example .env.local +``` + +### 开发模式运行 +```bash +npm run dev +# 或 +yarn dev +``` + +访问 [http://localhost:3000](http://localhost:3000) 查看应用。 + +### 构建生产版本 +```bash +npm run build +# 或 +yarn build +``` + +### 启动生产服务器 +```bash +npm start +# 或 +yarn start +``` + +## 项目结构 + +``` +├── components/ # 可复用组件 +├── lib/ # 工具库和配置 +│ ├── demo-data.ts # 演示数据 +│ ├── supabase.ts # Supabase 配置 +│ └── utils.ts # 工具函数 +├── pages/ # 页面组件 +│ ├── api/ # API 路由 +│ ├── auth/ # 认证页面 +│ └── dashboard/ # 管理后台页面 +├── public/ # 静态资源 +├── styles/ # 样式文件 +├── types/ # TypeScript 类型定义 +└── utils/ # 工具函数 +``` + +## 核心功能说明 + +### 费率优先级机制 +系统采用三级费率优先级: +1. **企业合同费率**:优先级最高,适用于企业员工 +2. **系统通用费率**:适用于个人用户和无合同企业 +3. **默认费率**:系统兜底费率 + +### 演示模式 +项目支持演示模式,无需配置数据库即可体验完整功能: +- 自动检测 Supabase 配置 +- 使用内置演示数据 +- 支持所有功能的模拟操作 + +### 响应式设计 +- 完全响应式界面设计 +- 支持移动端和桌面端 +- 优化的用户体验 + +## 部署 + +### Vercel 部署(推荐) +1. 将项目推送到 GitHub +2. 在 Vercel 中导入项目 +3. 配置环境变量 +4. 部署完成 + +### 其他平台部署 +项目支持部署到任何支持 Next.js 的平台,如: +- Netlify +- Railway +- Heroku +- 自托管服务器 + +## 环境变量 + +```bash +# Supabase 配置(可选) +NEXT_PUBLIC_SUPABASE_URL=your_supabase_url +NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key + +# 其他第三方服务配置 +TWILIO_ACCOUNT_SID=your_twilio_sid +TWILIO_AUTH_TOKEN=your_twilio_token +OPENAI_API_KEY=your_openai_key +``` + +## 贡献指南 + +1. Fork 项目 +2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) +3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) +4. 推送到分支 (`git push origin feature/AmazingFeature`) +5. 创建 Pull Request + +## 许可证 + +本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 + +## 联系方式 + +- 项目地址:[http://git.wanzhongtech.com/mars/Twilioapp-admin](http://git.wanzhongtech.com/mars/Twilioapp-admin) +- 问题反馈:请在 GitLab Issues 中提交 + +## 更新日志 + +### v1.0.0 (2024-01-30) +- ✅ 完成企业服务管理功能 +- ✅ 完成订单管理功能 +- ✅ 完成发票管理功能 +- ✅ 完成文档管理功能 +- ✅ 完成用户和译员管理功能 +- ✅ 完成系统设置功能 +- ✅ 完成演示模式 +- ✅ 完成响应式设计 \ No newline at end of file