# zogo zeroone Go 通用库(单仓多包,顶层即包)。被各后端服务以 Go module 依赖引用: `go get git.zeroonesoft.cn/golib/zogo/xxx` ## 包清单 | 包 | 用途 | 文档 | |---|---|---| | `httpx` | Gin 统一出入参:OkJson/ErrorJson(CodeMsg 错误码透传)、Handle/HandleResult、Parse(uri→query→header→json 顺序绑定 + binding 校验收口) | [httpx/README.md](httpx/README.md) | | `logger` | logrus 日志初始化(控制台彩色 + 按天轮转文件 + 历史压缩) | [logger/README.md](logger/README.md) | | `wsc` | WebSocket 服务端框架(会话/房间/路由)+ 配套客户端(自动重连),同一 Message 信封 | [wsc/README.md](wsc/README.md) | | `jwtx` | 轻量 HMAC-SHA256 令牌签发与校验 | [jwtx/README.md](jwtx/README.md) | > 历史说明:v0.1.0 曾存在独立包 `wscclient`,v0.2.0 起并入 `wsc`(`wsc.Client`)—— > 客户端与服务端共用信封定义,协议单一来源防两端漂移。 ## 约定 - 通用性准入:被 ≥2 个服务复制使用过的包才进入本仓库;仅单服务使用的留在服务内。 - 改动流程:在本仓库修复/演进 → 打 tag(如 v0.2.0)→ 各服务 `go get git.zeroonesoft.cn/golib/zogo@v0.2.0`。 - 本地联动开发:在 `D:\zomaintain\backend\go.work` 中 `use D:/golib/zogo`(go.work 不提交)。 - go.mod 声明 go 1.24(不高于最低版本消费方),不要随意上调。 - 依赖版本声明「最低可用」而非 latest(如 gorm 锁消费方在用的版本),避免把消费方依赖图顶出新版本引发不兼容。 - 每个包自带 README.md(定位/用法/注意事项),改 API 先改文档。 ## 私有模块拉取配置(每台开发机/CI 一次) ``` go env -w GOPRIVATE=git.zeroonesoft.cn/* ``` git 凭据需能访问 git.zeroonesoft.cn(Git Credential Manager 存 PAT)。