Skip to content
On this page

开发规范

参考 vue 规范

  • feat 增加新功能
  • fix 修复问题/BUG
  • style 代码风格相关无影响运行结果的
  • perf 优化/性能提升
  • refactor 重构
  • revert 撤销修改
  • test 测试相关
  • docs 文档/注释
  • chore 依赖更新/脚手架配置修改等
  • workflow 工作流改进
  • ci 持续集成
  • types 类型定义文件更改
  • wip 开发中

伟大的贡献者 Pull Request:

Fork 代码!

创建自己的分支: git checkout -b feat/xxxx

提交你的修改: git commit -am 'feat(function): add xxxxx'

推送您的分支: git push origin feat/xxxx

提交pull request

Tab占位符数量

后台Golang的Tab只用space数量为4

前端Vue的Tab只用space数量为2

项目设计结构介绍

  • api: 配置玩api层的模块,由GoZero的GoCtl生成,
    • admin: 管理后台的api
    • mp: 小程序的api
    • custom: 自定义的api
    • plugin: 插件的api (预留目录,我们在构建一个更好的插件市场机制)
  • middleware: 中间件
  • router: 路由,由GoZero的GoCtl生成
  • handle: 控制器的入口,由GoZero的GoCtl生成
  • Logic: 业务逻辑
  • UC:crud系列包括,分页列表,详情,删除,更新,增新Upsert,transaction,
  • Model:表字段配置,关系表配置

Error机制

在UseCase层中

  • 如果有方法会返回err,是需要给到上层业务层判断使用
  • 如不返回err,而是内部直接panic,则该error是穿透性,直接跳到外部接口

模型对象状态机制

删除状态

系统中对象的删除接口,使用软删除,在数据表中的deleted_at字段上控制

deleted_at 必有

激活/启用状态

一把情况下,在未删除的记录中,如果需要用激活,或者启用状态,会有bool IsActive / IsEnabled来表示是否启用

bool IsActive/IsEnabled 选项

多态状态

业务中的对象,往往会有多态,我们一般情况下会有status去描述。你也可以追加自己的状态字段

int8 status 选项

Released under the Apache-2.0 license