Files
smart-project-pricing/README.md
2026-01-31 21:33:06 +08:00

268 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 智能项目定价模型
医美行业智能项目定价系统,帮助机构精准核算成本、分析市场行情、智能生成定价建议。
## 功能特性
- **成本核算**:精准计算项目成本,明确最低成本线
- **市场行情**:收集竞品价格,分析市场定价区间
- **智能定价**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*