📋 掌上盘点

个人练手项目:一个基于二维码的固定资产管理工具,实践了前后端分离、多租户数据隔离、二维码生成与扫描、AI 助手集成等技术。

项目简介

这个项目尝试解决的问题

📄
纸质台账容易丢失、难以更新
电子档案,永久保存,随时查阅
🔎
人工盘点效率低、容易遗漏
手机扫码盘点,进度实时可见
📊
资产信息分散,无法统一查看
统一管理,扫码即查
无法追踪资产从购入到报废的生命周期
全生命周期可追溯,处置有据可查

功能实现

项目中实现的主要功能模块

📷

拍照建档

调用手机摄像头拍照,选择类别和名称,提交后由管理员审核,自动生成唯一编号和二维码。

🔖

二维码生成与打印

使用 qrcode 库生成二维码图片,支持批量导出 PDF 打印。扫码可查看资产详情。

🔍

扫码盘点

基于 jsQR 实现浏览器端二维码扫描,无需安装 APP。盘点进度按房间实时统计。

👥

双人校验

可选的复核流程,一人操作一人复核,通过状态机管理审核流转。

🗑

资产处置

软删除设计(is_active 标记),处置记录永久保留。已贴二维码不会因处置而失效。

📊

Excel 导出

使用 openpyxl 生成多 sheet 工作簿,按房间分页,嵌入二维码图片到单元格。

技术架构

前后端分离 + 多租户数据隔离

💻 后端技术

  • Python 3 + FastAPI 框架
  • SQLAlchemy ORM + MySQL
  • 多租户:每个账户独立数据库
  • JWT 令牌认证
  • SSE 流式响应(AI 助手)
  • 知识库 RAG 检索增强
  • qrcode + openpyxl 生成二维码和报表

📱 前端技术

  • Vue 3 + Composition API
  • 管理端:Element Plus
  • 移动端:Vant 4
  • jsQR 浏览器端扫码
  • Vite 构建 + Nginx 部署
  • 响应式布局 + Flexbox
  • 官网:原生 HTML/CSS/JS(零框架)