1.7 KiB
1.7 KiB
Checklist
后端
- customer_equipment 实体含 building 关联且无 updated_at 冲突(timestamps 处理正确 —— @Table timestamps:false,仅 created_at 字段)
- 客户设备台账接口支持列表(按客户/建筑/类型/关键字过滤)、详情、创建、更新、删除
- 设备编码唯一性校验生效(EQ+日期+序号自动生成,UniqueConstraint/冲突重试,重复返回明确错误)
- smart_device 型号目录支持分页 CRUD,类型映射字典(网关/探测器/采集器)
- 所有设备端点均经 auth + rbac 鉴权;无 token 返回 401,无权限返回 403(浏览器实测 401 通过;rbac 中间件新增 PERMISSION_MAP 映射)
- 所有查询使用 Sequelize 参数绑定([Op.like]/[Op.in]/where 对象),无 SQL 字符串拼接
- 接口返回统一标准 JSON(code/message/data,兼容 APP;实测 code 200)
前端
- 设备台账页面实现列表、搜索、新增/编辑/删除、照片上传,样式与客户管理模块一致
- 设备型号目录页面实现 CRUD(Tab 容器页切换)
/device占位路由已替换为真实设备管理页面(views/device/index.vue)- 前端输出统一转义,防 XSS(全模块未用 v-html,Vue 插值自动转义)
构建与验证
- 后端可通过
yarn dev成功启动,无 Schema/编译错误(实体自动注册,tsc --noEmit exit 0,实测启动成功) - 前端可通过
yarn dev成功启动,路由可访问(vue-tsc check 通过,Vite 3000 启动成功) - 设备模块接口经浏览器验证可正常调用并通过鉴权(无token→401,admin token→200 并返回列表数据)