Skip to content

zer0boss/tpi-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TobaccoPrice Intelligence 卷烟价格监测系统

🚀 系统简介

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调用日志

🚀 部署一致性规范

为确保开发、测试、生产环境的一致性,避免因环境差异导致的部署问题,请遵循以下规范:

1. API请求规范

  • 必须使用相对路径:所有前端API请求必须使用相对路径,以/api开头
  • 禁止硬编码完整URL:严禁在代码中直接使用http://localhost:5000等环境特定的完整URL
  • 统一API服务封装:所有API调用必须通过统一的API服务封装

2. 环境配置规范

  • 开发环境:通过Vite开发服务器代理处理API请求
  • 生产环境:通过Nginx反向代理处理API请求
  • 环境变量:环境特定配置应通过环境变量管理,而非硬编码

3. 代理配置规范

  • Vite代理配置:开发环境需在vite.config.ts中配置API代理
  • Nginx代理配置:生产环境需在Nginx配置中设置API反向代理
  • 代理路径一致性:开发和生产环境的代理路径必须保持一致

详细规范请参考 DEPLOYMENT_CONSISTENCY.md 文档。

🚀 快速启动

1. 启动后端API服务

cd backend
python app.py

服务将在 http://localhost:5000 启动,局域网内可通过 http://your-ip:5000 访问

2. 启动前端服务

对于新版本React前端:

cd frontend
npm install
npm run dev

对于旧版本静态前端:

cd frontend
python -m http.server 3000

或使用其他静态文件服务器

3. 访问系统

🔄 代码更新

Windows环境更新

项目提供了Windows环境下的更新脚本:

批处理脚本 (简单版本):

update-repo.bat

PowerShell脚本 (功能完整版):

# PowerShell中运行
.\update-repo.ps1

# 强制更新(不提示确认)
.\update-repo.ps1 -Force

# 自动暂存更改
.\update-repo.ps1 -Stash

Linux/Mac环境更新

# 简单更新
git pull origin main

# 或使用提供的脚本
./update-repo.sh

📡 API接口文档

产品相关接口

  • GET /api/products - 获取产品列表
    • 参数: page, limit, search, sort_by
  • GET /api/products/<product_id>/price-history - 获取产品价格历史
    • 参数: days (默认30天)

仪表盘接口

  • GET /api/dashboard - 获取仪表盘统计数据

🎯 使用指南

1. 产品查询

  • 在搜索框输入产品名称进行模糊搜索
  • 可选择按名称、价格、涨跌幅度排序
  • 支持产品类型筛选

2. 价格走势

  • 点击产品行查看价格走势
  • 支持7天、30天、90天时间范围选择
  • 图表支持缩放、悬停查看详情

3. 数据监控

  • 页面顶部显示实时统计数据
  • 每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安全传输

📞 技术支持

如有问题,请检查:

  1. 后端API服务是否启动 (localhost:5000)
  2. 数据库连接是否正常 (192.168.1.7:3306)
  3. 前端服务是否启动 (localhost:3000)
  4. 网络连接是否正常

📄 版本信息

  • 版本: 1.0.0
  • 发布日期: 2025-08-31
  • 数据库: TPI (已存在)
  • API版本: v1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published