元器件二维码管理

赫优讯自动化 · 防伪验证 · 数据库 · 网页管理 · 扫码溯源

版本 v1.0 | 2026-05-24 | 存档: /mnt/sda/work/QR_SYSTEM.md

一、需求摘要

电气成套柜生产过程中,每个元器件(变频器、PLC等)贴二维码标签。客户微信扫码后看到采购信息,同时系统防伪——无法复制二维码到其他元器件冒充质保。

  • 嫂子(车间主任):拍照→登录→录入→生成二维码→打印→贴标
  • 客户:微信扫码→查看元器件信息+验证真伪
  • 管理员:网页管理后台→增删改查→导出数据
  • 二、技术选型(全部开源,无需注册)

    **关键原则:所有软件纯开源,不调用任何远程 API,不发送数据到外部。**

    三、数据库设计

    users 表

    components 表

    四、防伪机制

    签名 = HMAC-SHA256(server_secret, serial_number + created_at)
    二维码URL = https://heusion.site/verify/<签名>
    
  • 每个元器件有唯一序列号,签名由序列号+时间戳+服务器密钥生成
  • 客户扫码后,服务器验证签名合法 → 显示元器件信息
  • **防伪要点**:
  • 1. 标签上同时印有明文序列号,客户可肉眼核对

    2. 二维码中的签名与序列号一一绑定,无法伪造

    3. 客户把标签贴到其他器件 → 序列号对不上 → 立即发现

    4. 客户自己生成二维码 → 签名无效 → 网页显示"验证失败"

    五、页面设计

    公共页面(无需登录)

    管理页面(需登录)

    微信扫码后看到的页面(verify页)

    ┌──────────────────────┐
    │  赫优讯自动化         │
    │  元器件溯源信息        │
    │                      │
    │  元器件: ABB ACS880   │
    │  序列号: SN20260524001│
    │  供应商: 无锡XX电气   │
    │  采购日期: 2026-05-24 │
    │  项目: 恒信DCS项目    │
    │  参数: 380V 50Hz ... │
    │  ─────────────────── │
    │  ✅ 序列号验证通过    │
    │  此标签为正品标签     │
    └──────────────────────┘
    

    六、手机端支持

    管理端(嫂子用)

  • 网页已适配手机响应式(Bootstrap 5),手机浏览器直接登录管理
  • 流程:手机拍照→浏览器登录→填表单→生成二维码→保存到手机→发送到标签打印机
  • 后续可选:封装成 PWA(渐进式 Web 应用),手机桌面图标一键打开,可离线缓存
  • 客户端(客户扫码)

  • 微信扫码直接打开验证页,无需安装任何 App
  • 页面针对手机屏幕优化(小字体、窄布局)
  • 后续扩展

  • PWA 封装后可调用手机相机直接拍照上传
  • 可打包成 APK(WebView 套壳)分发,但非必需
  • 七、嫂子操作流程

    拍照 → 登录网站 → 点"添加元器件" →
      填写表单(名称/序列号/供应商/项目/参数等) →
      上传照片(可选) →
      点"保存并生成二维码" →
      预览二维码 → 点"打印" →
      标签打印机输出 → 贴到元器件上
    

    七、部署方案

    用户浏览器 ──→ nginx :443 (heusion.site) ──→ gunicorn :5000 ──→ Flask App
                                                  │
                                             SQLite DB
                                             /mnt/sda/qr-system/
    
  • nginx 已有 Docker 容器(:8443),添加 location 块反代到 :5000
  • gunicorn 用 systemd 管理,开机自启
  • 数据库、照片、二维码图片全存 `/mnt/sda/qr-system/`(安全盘)
  • 域名 heusion.site 需 DNS 解析到工作站外网 IP
  • 九、文件结构

    /mnt/sda/qr-system/
    ├── app.py              # Flask 主程序
    ├── config.py           # 配置文件
    ├── models.py           # 数据库模型
    ├── auth.py             # 认证模块
    ├── qr_utils.py         # 二维码生成/签名
    ├── templates/          # HTML 模板
    │   ├── base.html
    │   ├── index.html      # 首页
    │   ├── login.html
    │   ├── admin.html      # 管理后台
    │   ├── add.html        # 添加元器件
    │   ├── list.html       # 元器件列表
    │   ├── detail.html     # 详情编辑
    │   ├── qr_print.html   # 打印二维码
    │   └── verify.html     # 扫码验证页
    ├── static/             # CSS/JS/图片
    ├── instance/           # SQLite DB + 配置
    │   └── qr_system.db
    ├── uploads/            # 上传的照片
    └── qr_codes/           # 生成的二维码图片
    

    十、实施步骤

    ---

    *审核后开始实施,后续需求变更随时更新本文档*

    阿良工作站 © 2026 | 存档 /mnt/sda/work/QR_SYSTEM_PLAN.md
    ← 返回首页
    Station Opt