Initial commit: 智能项目定价模型

This commit is contained in:
kuzma
2026-01-31 21:33:06 +08:00
commit ef0824303f
174 changed files with 31705 additions and 0 deletions

267
README.md Normal file
View File

@@ -0,0 +1,267 @@
# 智能项目定价模型
医美行业智能项目定价系统,帮助机构精准核算成本、分析市场行情、智能生成定价建议。
## 功能特性
- **成本核算**:精准计算项目成本,明确最低成本线
- **市场行情**:收集竞品价格,分析市场定价区间
- **智能定价**AI 智能分析,生成定价建议
- **利润模拟**:模拟不同定价的利润情况,敏感性分析
## 技术栈
### 后端
- Python 3.11 + FastAPI
- SQLAlchemy + MySQL 8.0
- 遵循瑞小美 AI 接入规范
### 前端
- Vue 3 + TypeScript + Vite
- Element Plus + Tailwind CSS
- Pinia + Axios
- ESLint已配置
### 部署
- Docker + Docker Compose
- Nginx 反向代理
- Let's Encrypt SSL
## 快速开始
### 开发环境
1. 复制环境配置文件
```bash
cp env.dev.example .env.dev
```
2. 启动开发环境
```bash
docker-compose -f docker-compose.dev.yml up -d
```
3. 访问应用
- 前端http://localhost:3000支持热重载
- 后端 APIhttp://localhost:8000
- API 文档http://localhost:8000/docs
### 生产环境部署
#### 方式一:使用部署脚本(推荐)
1. 配置环境变量
```bash
cp env.example .env
# 编辑 .env 文件,修改数据库密码、密钥等
vim .env
chmod 600 .env
```
2. 执行部署
```bash
./scripts/deploy.sh deploy
```
3. 配置 SSL 证书
```bash
DOMAIN=pricing.yourcompany.com EMAIL=admin@yourcompany.com ./scripts/setup-ssl.sh request
```
#### 方式二:手动部署
1. 复制并修改环境配置
```bash
cp env.example .env
# 编辑 .env 文件
vim .env
# 修改以下配置:
# - MYSQL_ROOT_PASSWORD: 数据库 root 密码
# - MYSQL_PASSWORD: 应用数据库密码
# - SECRET_KEY: 应用密钥32位以上随机字符串
# - CORS_ORIGINS: 允许的跨域来源
chmod 600 .env
```
2. 创建外部网络(如未创建)
```bash
docker network create scrm_network
```
3. 启动服务
```bash
docker-compose up -d
```
4. 配置 Nginx 反向代理
-`nginx.conf` 添加到主机 Nginx 配置中
- 修改域名为实际域名
- 配置 SSL 证书
5. 刷新 Nginx DNS 缓存
```bash
docker exec nginx_proxy nginx -s reload
```
## 运维管理
### 服务管理
```bash
# 查看状态
./scripts/deploy.sh status
# 重启服务
./scripts/deploy.sh restart
# 停止服务
./scripts/deploy.sh stop
# 查看日志
./scripts/deploy.sh logs
```
### 数据库备份
```bash
# 执行备份
./scripts/backup.sh backup
# 查看备份列表
./scripts/backup.sh list
# 恢复备份
./scripts/backup.sh restore <备份文件>
```
### 监控检查
```bash
# 完整监控报告
./scripts/monitor.sh report
# 快速检查
./scripts/monitor.sh quick
```
### 定时任务(建议配置)
```bash
# 每日凌晨 2 点备份
0 2 * * * /opt/pricing-model/scripts/backup.sh backup
# 每 5 分钟健康检查
*/5 * * * * /opt/pricing-model/scripts/monitor.sh quick
```
## 项目结构
```
智能项目定价模型/
├── 后端服务/ # FastAPI 后端
│ ├── app/
│ │ ├── main.py # 应用入口
│ │ ├── config.py # 配置管理
│ │ ├── database.py # 数据库连接
│ │ ├── models/ # SQLAlchemy 模型
│ │ ├── schemas/ # Pydantic 模型
│ │ ├── routers/ # API 路由
│ │ ├── services/ # 业务逻辑
│ │ └── middleware/ # 中间件
│ ├── prompts/ # AI 提示词
│ ├── tests/ # 单元测试
│ ├── Dockerfile
│ └── requirements.txt
├── 前端应用/ # Vue 3 前端
│ ├── src/
│ │ ├── views/ # 页面组件
│ │ ├── components/ # 通用组件
│ │ ├── stores/ # Pinia 状态
│ │ ├── api/ # API 封装
│ │ └── router/ # 路由配置
│ ├── eslint.config.js # ESLint 配置
│ ├── Dockerfile
│ └── package.json
├── scripts/ # 运维脚本
│ ├── deploy.sh # 部署脚本
│ ├── backup.sh # 备份脚本
│ ├── setup-ssl.sh # SSL 配置
│ └── monitor.sh # 监控脚本
├── docs/ # 文档
│ ├── 用户操作手册.md
│ └── 系统管理手册.md
├── docker-compose.yml # 生产环境编排
├── docker-compose.dev.yml # 开发环境编排
├── nginx.conf # Nginx 反向代理配置
└── init.sql # 数据库初始化脚本
```
## 功能模块
| 阶段 | 模块 | 状态 |
|------|------|------|
| M1 | 基础搭建(框架、基础数据管理) | ✅ 已完成 |
| M2 | 核心功能(成本核算、市场行情) | ✅ 已完成 |
| M3 | 智能功能(智能定价、利润模拟) | ✅ 已完成 |
| M4 | 测试优化(单元测试、性能优化) | ✅ 已完成 |
| M5 | 上线部署(部署脚本、文档) | ✅ 已完成 |
## API 文档
启动后端服务后访问:
- Swagger UIhttp://localhost:8000/docs
- ReDochttp://localhost:8000/redoc
> 生产环境默认关闭 API 文档,如需开启请设置 `DEBUG=true`
## 文档
- [用户操作手册](docs/用户操作手册.md) - 功能使用指南
- [系统管理手册](docs/系统管理手册.md) - 部署运维指南
## 规范遵循
本项目严格遵循:
- 《瑞小美系统技术栈标准与字符标准》
- 《瑞小美 AI 接入规范》
## 环境要求
### 硬件
| 资源 | 最低配置 | 推荐配置 |
|------|----------|----------|
| CPU | 2 核 | 4 核 |
| 内存 | 4 GB | 8 GB |
| 磁盘 | 40 GB | 100 GB |
### 软件
- Docker 24.0+
- Docker Compose 2.20+
- Linux (推荐 Ubuntu 22.04 / Debian 12)
## 安全注意事项
- `.env` 文件权限必须设置为 600
- 禁止将 `.env` 文件提交到 Git
- 生产环境必须修改默认密码
- API Key 从门户系统获取,禁止硬编码
## License
Copyright © 2026 瑞小美技术团队
---
*瑞小美技术团队 · 2026*