Skip to content

3.11 完整代码清单 ​

概述

本页汇总 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 派生) ​

方法路径权限码日志类型
PageGET /api/example/pagesys:example:pagequery
ListGET /api/example/listsys:example:listquery
DetailGET /api/example/detail/:idsys:example:detailquery
AddPOST /api/example/addsys:example:addadd
UpdatePUT /api/example/updatesys:example:updateupdate
StatusPUT /api/example/statussys:example:statusupdate
DeleteDELETE /api/example/delete/:idsys:example:deletedelete
BatchDeleteDELETE /api/example/batchDeletesys:example:batchDeletedelete
ImportPOST /api/example/importsys:example:importimport
ExportGET /api/example/exportsys:example:exportexport

能力与实现对照 ​

能力实现位置
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 常见问题与排错

小蚂蚁云团队 · 提供技术支持