- 双击
start.bat文件启动系统 - 系统会自动检查和安装依赖
- 启动成功后访问 http://localhost:5000
- 给启动脚本执行权限:
chmod +x start.sh - 运行启动脚本:
./start.sh - 启动成功后访问 http://localhost:5000
# 1. 安装依赖
pip install -r requirements.txt
# 2. 启动应用
python app.py- 在首页点击"模拟 NFC 碰一碰"按钮
- 系统会随机分配一个 NFC 设备
- 生成会话 ID 跳转到好评提交页面
- 填写客户姓名(必填)
- 选择评分 1-5 星(必填)
- 填写评价内容(可选)
- 填写联系方式(可选)
- 访问"好评列表"页面查看所有好评
- 支持按设备和评分筛选
- 点击好评项目查看详细信息
- 支持分页浏览
- 访问"数据统计"页面查看图表
- 评分分布柱状图
- 每日好评趋势图
- 设备使用统计饼图
- 平均评分仪表盘
- 支持数据导出
- 🚀 现代化界面: 响应式设计,支持移动端
- 📊 丰富图表: 基于 ECharts 的数据可视化
- 🎯 NFC 模拟: 模拟真实 NFC 碰触体验
- 💾 数据持久化: SQLite 数据库存储
- 🔧 易于扩展: 模块化架构设计
Frontend (HTML/CSS/JS)
↓
Flask Web Framework
↓
SQLAlchemy ORM
↓
SQLite Database
| 接口 | 方法 | 说明 |
|---|---|---|
/api/nfc/touch |
POST | 模拟 NFC 触发 |
/api/reviews |
POST | 提交好评 |
/api/reviews |
GET | 获取好评列表 |
/api/stats |
GET | 获取统计数据 |
/api/charts/{type} |
GET | 获取图表 HTML |
/api/devices |
GET | 获取设备列表 |
如果 5000 端口被占用,修改 app.py 文件中的端口号:
app.run(port=5001) # 改为其他端口# 升级pip
pip install --upgrade pip
# 使用国内镜像源
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/确保网络连接正常,系统需要加载 ECharts 库:
- 检查防火墙设置
- 确认可以访问 CDN 资源
NFChp/
├── app.py # 主应用
├── models/ # 数据模型
├── utils/ # 工具函数
├── static/ # 静态资源
├── templates/ # HTML模板
├── data/ # 数据文件
└── requirements.txt # 依赖列表
- 在
models/中定义数据模型 - 在
app.py中添加 API 路由 - 在
templates/中创建页面模板 - 在
static/中添加样式和脚本
# 进入Python交互环境
from app import app, db
with app.app_context():
# 创建表
db.create_all()
# 删除所有数据
db.drop_all()如有问题请查看:
- 控制台错误信息
- 浏览器开发者工具
- 数据库连接状态
系统日志会显示详细的错误信息,有助于定位问题。