# 一键全部清空功能 - 超简化版本 ## 🎯 设计理念 **后端只有一个通用接口**,通过业务模块标识匹配表名,前端配置极简。 ## 🔧 后端架构(已完成) ### 核心组件 - ✅ `CommonClearController` - 通用清空控制器 - ✅ `CommonClearService` - 通用清空服务 - ✅ `CommonClearMapper` - 通用清空数据访问层 ### 安全措施 1. **白名单机制** - 只允许清空预定义的表 2. **表名验证** - 正则校验,防止SQL注入 3. **权限检查** - 动态权限验证 4. **SQL关键字过滤** - 防止恶意攻击 5. **长度限制** - 表名长度控制 6. **操作日志** - 完整的审计日志 ## 🚀 前端快速集成(3步完成) ### 步骤1:添加按钮(导入按钮后) ```vue 一键全部清空 ``` ### 步骤2:导入mixin ```javascript import clearAllMixin from "@/mixins/clearAllMixin"; export default { name: "YourComponent", mixins: [clearAllMixin], // ... 其他代码 } ``` ### 步骤3:配置模块信息(created钩子中) ```javascript created() { // 其他代码... // 配置清空功能(仅需3个参数) this.clearAllConfig = { moduleKey: '模块标识', // 见下方支持的模块列表 entityName: '显示名称', // 如:'日常故障记录' permission: '权限标识' // 如:'ems/info:dailyFaultRecord:remove' }; } ``` ## 📋 支持的模块列表(后端已配置) | 模块标识 | 实体名称 | 权限标识 | |---------|---------|---------| | `dailyFaultRecord` | 日常故障记录 | `ems/info:dailyFaultRecord:remove` | | `faultHandlingRecord` | 故障处置记录 | `ems/info:faultHandlingRecord:remove` | | `plcBufferBatteryLifecycle` | PLC缓冲电池生命周期 | `ems/info:plcBufferBatteryLifecycle:remove` | | `securityDoorBatteryLifecycle` | 安全门电池生命周期 | `ems/info:securityDoorBatteryLifecycle:remove` | | `upsBatteryLifecycle` | UPS电池生命周期 | `ems/info:upsBatteryLifecycle:remove` | | `sparePartsInventory` | 备件库记录 | `ems/info:sparePartsInventory:remove` | | `sparePartsUsageRecord` | 备件领用记录 | `ems/info:sparePartsUsageRecord:remove` | | `sparePartsRegistration` | 废旧备件登记 | `ems/info:sparePartsRegistration:remove` | | `supervisionChecklist` | 监督检查清单 | `ems/info:supervisionChecklist:remove` | | `sparePartsInventoryCheck` | 备件盘点记录 | `ems/info:sparePartsInventoryCheck:remove` | ## 💡 实际应用示例 ### 日常故障记录页面(已完成) ```vue 一键全部清空 ``` ### 故障处置记录页面(示例) ```javascript // 只需要修改配置 this.clearAllConfig = { moduleKey: 'faultHandlingRecord', entityName: '故障处置记录', permission: 'ems/info:faultHandlingRecord:remove' }; ``` ## ⚡ 添加新模块支持 如需要支持新模块,只需要在后端 `CommonClearController` 的白名单中添加: ```java put("新模块标识", new TableInfo("数据库表名", "显示名称", "权限标识")); ``` ## 🛡️ 安全特性 1. **三次确认机制** - 确保用户真的要执行操作 2. **白名单限制** - 只能清空预定义的表 3. **权限验证** - 检查用户权限 4. **SQL安全** - 防止注入攻击 5. **操作审计** - 记录所有操作日志 ## 📈 开发效率对比 | 方案 | 后端代码量 | 前端集成步骤 | 新增模块成本 | |-----|-----------|-------------|-------------| | 原方案 | 每模块5个文件 | 8步 | 高 | | **新方案** | **1个通用接口** | **3步** | **极低** | ## 🎉 总结 - **后端**:一次开发,永久使用 - **前端**:复制粘贴,秒级集成 - **维护**:集中管理,安全可控 - **扩展**:新增模块只需添加一行配置 现在为任何页面添加清空功能,只需要3步,2分钟搞定!