feat(device): 新增设备管理模块全栈实现并拆分菜单 - 客户设备台账(customer_equipment)与智电设备型号目录(smart_device)CRUD,JWT+RBAC鉴权、参数绑定防SQL注入;设备监控改目录挂台账(/device/equipment),新建基础数据目录挂型号(/base/smart-device);前端防XSS样式对齐客户模块;远程库菜单迁移20261007_device_menu_split_fix.sql(id 58-60)
This commit is contained in:
1 parent
91aa3c06f0
commit
09f7345e8a
18 files changed
+2482
-7
No files matched your search
@@ -0,0 +1,21 @@
|
||||
# Checklist
|
||||
|
||||
## 后端
|
||||
- [x] customer_equipment 实体含 building 关联且无 updated_at 冲突(timestamps 处理正确 —— @Table timestamps:false,仅 created_at 字段)
|
||||
- [x] 客户设备台账接口支持列表(按客户/建筑/类型/关键字过滤)、详情、创建、更新、删除
|
||||
- [x] 设备编码唯一性校验生效(EQ+日期+序号自动生成,UniqueConstraint/冲突重试,重复返回明确错误)
|
||||
- [x] smart_device 型号目录支持分页 CRUD,类型映射字典(网关/探测器/采集器)
|
||||
- [x] 所有设备端点均经 auth + rbac 鉴权;无 token 返回 401,无权限返回 403(浏览器实测 401 通过;rbac 中间件新增 PERMISSION_MAP 映射)
|
||||
- [x] 所有查询使用 Sequelize 参数绑定([Op.like]/[Op.in]/where 对象),无 SQL 字符串拼接
|
||||
- [x] 接口返回统一标准 JSON(code/message/data,兼容 APP;实测 code 200)
|
||||
|
||||
## 前端
|
||||
- [x] 设备台账页面实现列表、搜索、新增/编辑/删除、照片上传,样式与客户管理模块一致
|
||||
- [x] 设备型号目录页面实现 CRUD(Tab 容器页切换)
|
||||
- [x] `/device` 占位路由已替换为真实设备管理页面(views/device/index.vue)
|
||||
- [x] 前端输出统一转义,防 XSS(全模块未用 v-html,Vue 插值自动转义)
|
||||
|
||||
## 构建与验证
|
||||
- [x] 后端可通过 `yarn dev` 成功启动,无 Schema/编译错误(实体自动注册,tsc --noEmit exit 0,实测启动成功)
|
||||
- [x] 前端可通过 `yarn dev` 成功启动,路由可访问(vue-tsc check 通过,Vite 3000 启动成功)
|
||||
- [x] 设备模块接口经浏览器验证可正常调用并通过鉴权(无token→401,admin token→200 并返回列表数据)
|
||||
Reference in new issue
Block a user