# XF-119 **Repository Path**: tz520/xf-119 ## Basic Information - **Project Name**: XF-119 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-01 - **Last Updated**: 2026-08-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 消防检查管理平台 便携式单体二进制消防检查管理系统,支持单位台账、现场检查、隐患登记、复查跟踪、自定义表单、账号权限、自动备份、Excel 导入导出。 ## 技术栈 - **后端**: Go + Gin + SQLite3 (pure-Go driver) - **前端**: Vue 3 + NaiveUI + Pinia + Vue Router + Vite 5 - **数据库**: SQLite (单文件,无外部依赖) - **前端嵌入**: `go:embed` 将构建产物打包进二进制文件 ## 功能特性 - 单位管理:CRUD + 动态扩展字段 + 绑定检查表单 - 检查表单:自定义检查项模板、分类管理、复制表单、绑定单位 - 现场检查:选单位自动加载表单、逐项检查、照片上传、自动结论 - 隐患管理:从不合格项一键登记隐患、等级分类、整改跟踪 - 复查台账:复查记录、状态推进、整改结果确认 - 账号管理:管理员/检查员角色、JWT 认证 - 备份恢复:ZIP 打包(数据库+照片)、VACUUM INTO 一致性快照、自动备份 - Excel 导入导出:单位批量导入、检查/隐患/复查报表导出 - 数据软删除:所有业务表支持 soft delete,保留审计追溯 ## 快速开始 ### 构建 ```bash # 安装前端依赖并构建 cd web npm install npm run build cd .. # 构建 Go 二进制文件 go build -o fire-inspection . ``` ### 运行 ```bash # 默认端口 8080 ./fire-inspection # 自定义配置 ./fire-inspection --port 9090 --data ./mydata --admin-user admin --admin-pass mypassword ``` 启动后访问 `http://localhost:8080`,默认管理员:`admin` / `admin123`。 ### 参数说明 | 参数 | 说明 | 默认值 | |------|------|--------| | `--port` | 监听端口 | `8080` | | `--data` | 数据目录 | `./data` | | `--admin-user` | 默认管理员用户名 | `admin` | | `--admin-pass` | 默认管理员密码 | `admin123` | | `--jwt-secret` | JWT 签名密钥 | `fire-inspection-change-me` | ## 项目结构 ``` . ├── main.go # 入口,前端嵌入、路由注册、启动 ├── go.mod / go.sum # Go 依赖 ├── internal/ │ ├── config/ # 命令行参数解析 │ ├── model/ # 数据模型、枚举定义 │ ├── database/ # 数据库迁移(DDL) │ ├── store/ # 存储抽象层 + SQLite 实现 │ ├── service/ # 业务逻辑(认证、单位、检查、隐患、备份、Excel) │ ├── middleware/ # JWT 认证、角色鉴权中间件 │ └── handler/ # HTTP 请求处理 ├── web/ │ ├── package.json # 前端依赖 │ ├── vite.config.ts # Vite 构建配置 │ └── src/ │ ├── api/ # Axios 客户端、API 接口、TypeScript 类型 │ ├── store/ # Pinia 状态管理 │ ├── router/ # Vue Router 路由定义 │ └── views/ # 页面组件(登录、仪表盘、单位、检查、隐患等) └── data/ # 运行时数据目录(SQLite 数据库 + 照片) ``` ## API 路由 | 方法 | 路径 | 说明 | 权限 | |------|------|------|------| | POST | /api/v1/auth/login | 登录获取 JWT | 公开 | | GET | /api/v1/auth/me | 获取当前用户信息 | 登录 | | POST | /api/v1/auth/change-password | 修改密码 | 登录 | | GET | /api/v1/users | 用户列表 | admin | | POST | /api/v1/users | 创建用户 | admin | | PUT | /api/v1/users/:id | 更新用户 | admin | | POST | /api/v1/users/:id/reset-password | 重置密码 | admin | | DELETE | /api/v1/users/:id | 删除用户 | admin | | GET | /api/v1/units | 单位列表(分页+筛选) | 登录 | | POST | /api/v1/units | 创建单位 | 登录 | | PUT | /api/v1/units/:id | 更新单位 | 登录 | | DELETE | /api/v1/units/:id | 删除单位(软删除) | 登录 | | GET | /api/v1/units/:id/bound-form | 获取绑定表单 | 登录 | | GET | /api/v1/ext-fields | 扩展字段列表 | admin | | POST | /api/v1/ext-fields | 创建扩展字段 | admin | | PUT | /api/v1/ext-fields/:id | 更新扩展字段 | admin | | DELETE | /api/v1/ext-fields/:id | 删除扩展字段 | admin | | GET | /api/v1/form-templates | 表单模板列表 | admin | | POST | /api/v1/form-templates | 创建表单模板 | admin | | PUT | /api/v1/form-templates/:id | 更新表单模板 | admin | | POST | /api/v1/form-templates/:id/copy | 复制表单模板 | admin | | POST | /api/v1/form-templates/:id/bind-units | 绑定单位 | admin | | DELETE | /api/v1/form-templates/:id | 删除表单模板 | admin | | GET | /api/v1/inspections | 检查记录列表 | 登录 | | POST | /api/v1/inspections | 创建检查记录 | 登录 | | PUT | /api/v1/inspections/:id | 更新检查记录 | 登录 | | DELETE | /api/v1/inspections/:id | 删除检查记录 | 登录 | | GET | /api/v1/hazards | 隐患列表 | 登录 | | POST | /api/v1/hazards | 登记隐患 | 登录 | | PUT | /api/v1/hazards/:id | 更新隐患 | 登录 | | POST | /api/v1/hazards/:id/status | 更新隐患状态 | 登录 | | DELETE | /api/v1/hazards/:id | 删除隐患 | 登录 | | GET | /api/v1/hazards/rechecks | 复查记录列表 | 登录 | | POST | /api/v1/hazards/:id/rechecks | 添加复查 | 登录 | | POST | /api/v1/files/photos/upload | 上传照片 | 登录 | | GET | /api/v1/files/photos/* | 查看照片 | 登录 | | GET | /api/v1/backups | 备份列表 | admin | | POST | /api/v1/backups | 创建备份 | admin | | POST | /api/v1/backups/:id/restore | 恢复备份 | admin | | GET | /api/v1/backups/:id/download | 下载备份 | admin | | DELETE | /api/v1/backups/:id | 删除备份 | admin | | GET | /api/v1/excel/units-template | 下载导入模板 | admin | | POST | /api/v1/excel/units-import | 导入单位 | admin | | GET | /api/v1/excel/units-export | 导出单位 | admin | | GET | /api/v1/excel/inspections-export | 导出检查记录 | admin | | GET | /api/v1/excel/hazards-export | 导出隐患 | admin | | GET | /api/v1/excel/rechecks-export | 导出复查记录 | admin | | GET | /api/v1/settings | 获取系统设置 | admin | | PUT | /api/v1/settings | 更新系统设置 | admin | ## 许可证 MIT License