Skip to content

Latest commit

 

History

History
159 lines (114 loc) · 3.36 KB

File metadata and controls

159 lines (114 loc) · 3.36 KB

使用说明

快速开始

Windows 用户

  1. 双击 start.bat 文件启动系统
  2. 系统会自动检查和安装依赖
  3. 启动成功后访问 http://localhost:5000

Linux/Mac 用户

  1. 给启动脚本执行权限:chmod +x start.sh
  2. 运行启动脚本:./start.sh
  3. 启动成功后访问 http://localhost:5000

手动启动

# 1. 安装依赖
pip install -r requirements.txt

# 2. 启动应用
python app.py

功能介绍

1. NFC 碰一碰模拟

  • 在首页点击"模拟 NFC 碰一碰"按钮
  • 系统会随机分配一个 NFC 设备
  • 生成会话 ID 跳转到好评提交页面

2. 好评提交

  • 填写客户姓名(必填)
  • 选择评分 1-5 星(必填)
  • 填写评价内容(可选)
  • 填写联系方式(可选)

3. 好评查看

  • 访问"好评列表"页面查看所有好评
  • 支持按设备和评分筛选
  • 点击好评项目查看详细信息
  • 支持分页浏览

4. 数据统计

  • 访问"数据统计"页面查看图表
  • 评分分布柱状图
  • 每日好评趋势图
  • 设备使用统计饼图
  • 平均评分仪表盘
  • 支持数据导出

技术特点

  • 🚀 现代化界面: 响应式设计,支持移动端
  • 📊 丰富图表: 基于 ECharts 的数据可视化
  • 🎯 NFC 模拟: 模拟真实 NFC 碰触体验
  • 💾 数据持久化: SQLite 数据库存储
  • 🔧 易于扩展: 模块化架构设计

系统架构

Frontend (HTML/CSS/JS)
    ↓
Flask Web Framework
    ↓
SQLAlchemy ORM
    ↓
SQLite Database

API 接口

接口 方法 说明
/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    # 依赖列表

添加新功能

  1. models/ 中定义数据模型
  2. app.py 中添加 API 路由
  3. templates/ 中创建页面模板
  4. static/ 中添加样式和脚本

数据库管理

# 进入Python交互环境
from app import app, db
with app.app_context():
    # 创建表
    db.create_all()

    # 删除所有数据
    db.drop_all()

联系支持

如有问题请查看:

  1. 控制台错误信息
  2. 浏览器开发者工具
  3. 数据库连接状态

系统日志会显示详细的错误信息,有助于定位问题。