日期: 2026-09-06
状态: 已评审待实现
产品名: 安徽建工集团医院纪检数字化监督平台 / 安建医院纪检扫码反馈系统
安徽建工集团医院纪检室需要一套「扫码反馈」系统:群众微信扫二维码进入移动端 H5 提交投诉/表扬与建言;纪检室通过 Web 管理端查看台账、办理流转并维护热线与二维码配置。
参考工程 shanxia2.0(FastAPI + Vue3 Element Plus + uni-app)仅作技术与工程约定参考;业务与视觉以本仓库 原型图/、建设方案/ 为准。
| 项 | 决定 |
|---|---|
| 范围 | 按《功能建设清单》核心功能一次可验收(移动端 6 项 + 后台业务 5 项 + 鉴权权限含角色授权 + 附件/台账) |
| 工程策略 | 同技术栈新建,不拷贝 shanxia 业务模块 |
| 移动端形态 | uni-app 编译为微信内 H5;二维码 → HTTPS 落地页;本期不上微信小程序 |
| 总体架构 | 一后端 + 两端前端;公开 API 与管理 API 分域(方案 A) |
| 权限 | 角色 ↔ 菜单(sys_role_menu)+ 管理端「角色授权」勾选页 |
| 租户 | 单院部署;无多租户字段 |
| 基础设施 | 测试 MySQL 库名 ajyy(与 shanxia 测试库同实例、不同库);MinIO 复用测试环境,独立 bucket(如 ajyy) |
ajyy/
backend/ # FastAPI(新建)
web-admin/ # Vue3 + Vite + Element Plus(新建)
mobile-wx/ # uni-app → 微信 H5(已有空壳,在此扩展)
原型图/ # UX/视觉参考,不进运行时
建设方案/ # 需求与报价参考
docs/ # 设计、SQL、部署说明
[微信扫码] → HTTPS → mobile-wx (H5)
| /api/public/*
v
backend
^ /api/web/*
|
web-admin (hash 路由 SPA)
|
MySQL(ajyy) + MinIO(共用测试环境, bucket ajyy)
约定:
{ code, message, data, timestamp }(对齐 shanxia;成功 code=200)backend/.env;前端 VITE_* / uni-app config软删除字段 del_flag;主键 id 为 UUID 字符串;审计字段:create_time / update_time / create_by / update_by(管理端写操作填充;公开提交可空或系统占位)。
| 表 | 用途 |
|---|---|
sys_user |
管理端账号:用户名、密码哈希、显示名、role_id、启用状态 |
sys_role |
角色:admin / handler / viewer(可扩展) |
sys_menu |
菜单/权限点:menu_code、名称、路由 path、类型(目录/菜单/按钮)、排序、显隐 |
sys_role_menu |
角色拥有的菜单 |
feedback |
在线反馈 |
suggestion |
建言献策 |
hotline_config |
监督热线(单行配置) |
qrcode_config |
二维码配置(单行配置) |
attachment |
附件元数据 |
oper_log |
关键操作审计 |
feedback
biz_no(如 FK20260906001)["https://..."])suggestion
biz_no(如 JY20260906001)hotline_config: 电话、邮箱、地址、受理时间说明
qrcode_config: 落地 URL、说明文案、自定义图片 URL
attachment: 原名、对象键、URL、大小、业务类型、关联业务 ID(可先传后挂)
反馈
待处理 → 处理中 → 已办结
建言
待查阅 → 已采纳
→ 已回复
状态变更写 oper_log(操作者、时间、从→到、备注摘要)。
sys_role_menu 初始授权.env / 初始化文档,不入库明文)前缀 /api。
/api/public/*(无需登录)| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /hotline |
读热线 |
| GET | /qrcode |
读二维码配置 |
| POST | /attachment/upload |
上传附件 → MinIO + attachment |
| POST | /feedback |
提交反馈 |
| POST | /suggestion |
提交建言 |
不做公众查进度接口。
/api/web/auth/*| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /login |
用户名+密码 → JWT |
| POST | /logout |
登出 |
| GET | /current-user |
当前用户与角色 |
| GET | /menus |
当前用户菜单树(按 sys_role_menu) |
| POST | /refresh |
可选;一期可用较长 access token 简化 |
密码:bcrypt。生产环境 HTTPS。不做 RSA 登录加密。
/api/web/admin/*(需 JWT)| 模块 | 能力 |
|---|---|
| 工作台 | 统计 + 最近反馈 |
| 反馈 | 列表筛选、详情、改状态+备注 |
| 建言 | 列表筛选、详情、改状态+备注 |
| 热线配置 | 读写 |
| 二维码配置 | 读写、自定义图上传 |
| 附件 | 管理端上传/预览(可复用 upload) |
| 用户 | 列表、启停、重置密码 |
| 角色授权 | 角色列表;GET/PUT .../roles/{id}/menus 勾选保存 |
| 审计 | oper_log 列表(可选,admin) |
权限模型
feedback:handle、suggestion:handle、hotline:write、qrcode:write、user:manage、role:grant。admin 全部;handler 工作台+反馈+建言(含办理);viewer 工作台+反馈+建言(无办理权限点)。对齐 原型图/index.html,主色 #a51f23。
| 页面 | 职责 |
|---|---|
| 首页 | 品牌 + 四大入口 |
| 反馈须知 | 5 秒倒计时 |
| 在线反馈 | 投诉/表扬、被反馈人选填、内容必填、多附件、匿名可选 |
| 建言献策 | 内容必填;联系人/附件选填 |
| 监督热线 | 读配置;一键拨打 |
| 扫码分享 | 展示配置二维码图或按落地 URL 生成 |
工程结构参考 shanxia miniprogram:api/、utils/request、分页面目录。UI 优先还原原型纪检红,不强制 Vant。
对齐 原型图/admin.html 信息架构;Vue3 + Element Plus 精简自建壳(不整套拷贝 Art Design Pro)。
| 模块 | 职责 |
|---|---|
| 登录 | 账号密码 |
| 工作台 | 四指标 + 最近反馈 |
| 在线反馈 | 筛选、详情抽屉、状态流转 |
| 建言献策 | 同上 |
| 热线配置 | 表单保存 |
| 二维码配置 | URL/文案/自定义图、预览下载 |
| 用户管理 | 启停、重置密码 |
| 角色授权 | 勾选菜单保存到 sys_role_menu |
列表交互参考 shanxia「筛选项 + 表格 + 抽屉详情」。
薄路由 → services → crud / models;core:config、database、auth、storage(MinIO)。
启动或迁移脚本写入种子数据。
oper_log不做:公开接口限流/上传白名单加固、字段脱敏、API 加密中间件。
| 清单区块 | 覆盖 |
|---|---|
| 移动端 1–6 | 首页、须知、反馈、建言、热线、分享 |
| 后台 7–11 | 工作台、反馈、建言、热线配置、二维码配置 |
| 后端 12–14 | API、附件、台账留痕 |
| 安全 15–17 | 登录、角色菜单+授权页、操作审计 |
| 部署/配套 18–25 | 工程可部署;域名证书、印刷物料、培训按现场另排;建设方案文档已有 |
backend 骨架(config/db/auth/response/storage)+ 建表与种子web-admin 骨架(登录、布局、动态菜单)mobile-wx 页面打通提交闭环详细任务拆解在设计批准后由 implementation plan 给出。
原型图/index.html原型图/admin.html建设方案/安徽建工集团医院纪检数字化监督平台-功能建设清单.mdshanxia2.0/backend、shanxia2.0/web-admin、shanxia2.0/miniprogram