TobaccoPrice Intelligence 是一个卷烟价格监测系统,提供实时价格查询和价格走势分析功能。
- ✅ 实时价格查询: 235个卷烟产品的实时价格数据
- ✅ 价格走势图表: 基于13万+价格历史数据的可视化分析
- ✅ 智能搜索: 支持产品名称模糊搜索和多种排序方式
- ✅ 响应式设计: 支持PC和移动端访问
- ✅ 数据可视化: 使用ECharts展示价格变化趋势
- 框架: Flask (Python)
- 数据库: MySQL (192.168.1.7:3306)
- API: RESTful API设计
- 跨域: Flask-CORS支持
- 框架: 原生JavaScript + HTML5 + CSS3
- 图表: ECharts 5.4.3
- HTTP客户端: Axios
- 样式: 现代化CSS3设计
- products表: 235个产品基本信息
- price_history表: 131,909条价格历史记录
- api_logs表: API调用日志
为确保开发、测试、生产环境的一致性,避免因环境差异导致的部署问题,请遵循以下规范:
- 必须使用相对路径:所有前端API请求必须使用相对路径,以
/api
开头 - 禁止硬编码完整URL:严禁在代码中直接使用
http://localhost:5000
等环境特定的完整URL - 统一API服务封装:所有API调用必须通过统一的API服务封装
- 开发环境:通过Vite开发服务器代理处理API请求
- 生产环境:通过Nginx反向代理处理API请求
- 环境变量:环境特定配置应通过环境变量管理,而非硬编码
- Vite代理配置:开发环境需在
vite.config.ts
中配置API代理 - Nginx代理配置:生产环境需在Nginx配置中设置API反向代理
- 代理路径一致性:开发和生产环境的代理路径必须保持一致
详细规范请参考 DEPLOYMENT_CONSISTENCY.md 文档。
cd backend
python app.py
服务将在 http://localhost:5000 启动,局域网内可通过 http://your-ip:5000
访问
对于新版本React前端:
cd frontend
npm install
npm run dev
对于旧版本静态前端:
cd frontend
python -m http.server 3000
或使用其他静态文件服务器
- 本地访问:http://localhost:5173 (React) 或 http://localhost:3000 (静态)
- 局域网访问:http://your-machine-ip:5173 (React) 或 http://your-machine-ip:3000 (静态)
- 确保防火墙允许相应端口的入站连接
项目提供了Windows环境下的更新脚本:
批处理脚本 (简单版本):
update-repo.bat
PowerShell脚本 (功能完整版):
# PowerShell中运行
.\update-repo.ps1
# 强制更新(不提示确认)
.\update-repo.ps1 -Force
# 自动暂存更改
.\update-repo.ps1 -Stash
# 简单更新
git pull origin main
# 或使用提供的脚本
./update-repo.sh
- GET /api/products - 获取产品列表
- 参数: page, limit, search, sort_by
- GET /api/products/<product_id>/price-history - 获取产品价格历史
- 参数: days (默认30天)
- GET /api/dashboard - 获取仪表盘统计数据
- 在搜索框输入产品名称进行模糊搜索
- 可选择按名称、价格、涨跌幅度排序
- 支持产品类型筛选
- 点击产品行查看价格走势
- 支持7天、30天、90天时间范围选择
- 图表支持缩放、悬停查看详情
- 页面顶部显示实时统计数据
- 每30秒自动刷新最新数据
- 支持手动刷新
系统采用响应式设计,在手机、平板等移动设备上也能正常使用。
DB_CONFIG = {
'host': '192.168.1.7',
'port': 3306,
'user': 'root',
'password': 'zhongbo8',
'database': 'TPI'
}
- 后端API: 5000端口
- 前端服务: 3000端口
- 产品列表展示
- 价格走势图表
- 实时统计数据
- 智能搜索筛选
- 桌面端完整功能
- 移动端优化布局
- 触摸友好交互
- 产品总数: 235个
- 价格记录: 131,909条
- 更新频率: 实时更新
- 数据时间跨度: 历史价格数据完整
- 无用户认证要求
- 只读数据访问
- 安全的数据库连接
- 输入验证和过滤
- 使用内置Flask开发服务器
- 前端使用Python内置HTTP服务器
- 推荐使用Gunicorn + Nginx
- 数据库连接池优化
- 静态文件CDN加速
- HTTPS安全传输
如有问题,请检查:
- 后端API服务是否启动 (localhost:5000)
- 数据库连接是否正常 (192.168.1.7:3306)
- 前端服务是否启动 (localhost:3000)
- 网络连接是否正常
- 版本: 1.0.0
- 发布日期: 2025-08-31
- 数据库: TPI (已存在)
- API版本: v1