# 3.11 完整代码清单 :::tip 概述 本页汇总 example 模块的全部文件与职责,作为手工开发的核对清单。各文件完整实现见本章对应小节。 ::: ## 文件总览 | 文件 | 层 | 核心内容 | |---|---|---| | 数据库 `gin_example` | — | 11 列(含审计四件套 + del_flag),3 个普通索引 | | `internal/model/dto/example.go` | 契约 | ExampleItem / PageReq / ListReq / DetailReq / AddReq / UpdateReq / StatusReq / DeleteReq / BatchDeleteReq / ImportReq+UnmarshalBody / ImportRes+ResMsg / ExportReq / ExportRes | | `internal/repository/example.go` | 数据访问 | ExampleRepo + NewExampleRepo(表名 gin_example)+ Ctx | | `internal/service/example.go` | 业务 | sExample 三段式;exampleSpec(ModuleSpec 声明);exampleToData;标准七方法 + Status/Import/Export 手写 | | `internal/handler/example.go` | 接口 | CExample + 十个委托方法 | | `internal/router/router.go` | 路由 | CExample 的 RouteSpec 表(10 条声明) | | `ui/src/api/tool/example.ts` | 前端 API | 与十个接口对应的请求函数 | | `ui/src/views/tool/example/` | 前端页面 | 列表 + 编辑 | ## 接口一览(RouteSpec 派生) | 方法 | 路径 | 权限码 | 日志类型 | |---|---|---|---| | Page | GET /api/example/page | sys:example:page | query | | List | GET /api/example/list | sys:example:list | query | | Detail | GET /api/example/detail/:id | sys:example:detail | query | | Add | POST /api/example/add | sys:example:add | add | | Update | PUT /api/example/update | sys:example:update | update | | Status | PUT /api/example/status | sys:example:status | update | | Delete | DELETE /api/example/delete/:id | sys:example:delete | delete | | BatchDelete | DELETE /api/example/batchDelete | sys:example:batchDelete | delete | | Import | POST /api/example/import | sys:example:import | import | | Export | GET /api/example/export | sys:example:export | export | ## 能力与实现对照 | 能力 | 实现位置 | |---|---| | name 模糊 / type、status 等值过滤 | exampleSpec.LikeFields / EqFields | | status → statusText 字典回填 | exampleSpec.SerializeMaps | | avatar 写侧转正、读侧补域名 | exampleSpec.FileFields + FileSaveDir | | 全量表单语义更新 | ToData + 全局 Update 钩子盖章 | | 软删除 | 基座 Delete/BatchDelete(del_flag=1) | | 单列状态更新 | 手写 Status | | 导入逐行校验 | 手写 Import + UnmarshalBody | | 导出过滤复用 + 字典翻译 | 手写 Export(applyFilters + DictGetText) | | 权限/日志 | RouteSpec.Permission / Log 声明,中间件执行 | ## 自检 完成后逐项核对: - [ ] 十个接口全部可访问,权限码与菜单节点一致 - [ ] 分页返回 `PageData` 五字段(records/total/size/current/pages) - [ ] statusText 有值(字典 example_status 已配置项) - [ ] avatar 上传后转正到 `upload/example/yyyymmdd/`,读侧返回完整 URL - [ ] 导入失败行有逐行原因,ResMsg 提示语正确 - [ ] 导出返回可下载的文件 URL - [ ] 删除后列表不可见(软删),数据库 del_flag=1 ## 下一步 → [3.12 常见问题与排错](/zh/guide/faq.html)