Files
zogo/README.md
T
4566704 40c9f62c9f docs: 顶层 README 更新——包清单按类归组 + go-hua 迁移对照表
- 新增 28 个迁入包的分类清单(基础工具/网络协议/系统与硬件)
- go-hua→zogo 包名替换对照表(含不迁入项: log 弃用/qps 空壳/remote 归 remote-core)
- examples 例程约定写入开发约定
2026-09-20 12:42:42 +08:00

7.0 KiB
Raw Permalink Blame History

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 校验收口)、ParseXML httpx/README.md
logger logrus 日志初始化(控制台彩色 + 按天轮转文件 + 历史压缩) logger/README.md
wsc WebSocket 服务端框架(会话/房间/路由)+ 配套客户端(自动重连),同一 Message 信封 wsc/README.md
jwtx 轻量 HMAC-SHA256 令牌签发与校验 jwtx/README.md
snowid 雪花 ID 生成器(进程内单例)+ GORM 模型 ID 钩子模板 snowid/README.md

基础工具(自 go-hua 迁入)

包 用途 文档
stringx 字符串/切片工具:随机串、UUID、通配符匹配、校验规则、中文首字母 stringx/README.md
timex 时间日期:NT/UTC 时间戳互转、时间字符串转毫秒时间戳、月份天数 timex/README.md
filex 文件目录:运行目录定位、路径存在性、进度下载、Zip 压缩解压(GBK 兼容) filex/README.md
cryptox MD5 摘要:字符串/字节集/文件 cryptox/README.md
netx 本机网络信息:IPv4 与 MAC 地址枚举 netx/README.md
numx 数值工具:流量格式化、低位取整、多整数取最值 numx/README.md
verx 版本号:点分版本解析/还原/比较 verx/README.md
counter 线程安全 string→int64 键值计数器(原 go-hua/single 更名) counter/README.md
queue 链式先进先出队列(哨兵头结点风格) queue/README.md

网络协议(自 go-hua 迁入)

包 用途 文档
frame 应用层帧协议:8 字节头(版本+命令+长度+流 ID)+ 数据,Conn 读写封装 frame/README.md
proto 长度前缀封包协议编解码(含 CRC32 校验版) proto/README.md
bytepacket 二进制封包/解包(小端序,兼容易语言协议、GBK、易语言日期) bytepacket/README.md
conn net.Conn 装饰器:透明叠加带宽限速(rate)与流量统计(flow) conn/README.md
listen net.Listener 简单封装(Close 解除 Accept 阻塞) listen/README.md
flow 并发安全流量统计(收发字节累计/取走清零) flow/README.md
rate 按秒配额的带宽限速器 rate/README.md
httpprobe 按首部字节探测 HTTP/HTTPS 流量(原 go-hua/http 更名) httpprobe/README.md
httpc HTTP 客户端:GET/POST/PUT/DELETE/代理/Digest 认证(原 go-hua/httpurl 更名) httpc/README.md
nettest 网络连通性探测:TCP 端口 + 原始 ICMP Ping,统计成功率与延迟 nettest/README.md
spmux 单端口多路复用:按报文特征分发到 HTTP/HTTPS/TCP 三个 Listener spmux/README.md
ipratelimiter 按 IP 维度的令牌桶限流器 ipratelimiter/README.md

系统与硬件(自 go-hua 迁入)

包 用途 文档
arp 系统 ARP 表读取与 IP→MAC 查询(定时刷新缓存) arp/README.md
dll Windows API 封装:互斥体防多开、ShellExecute、窗口操作 dll/README.md
hardware 硬件信息采集(WMI)与硬件变更检测 hardware/README.md
monitor 系统资源监控:CPU/内存/磁盘/网络/进程/连接/主机,后台采集 monitor/README.md
dotnet .NET Framework 安装信息(Windows 注册表,原 go-hua/netFramework 更名) dotnet/README.md
ipquery IP/域名归属地查询(ip2region xdb 全内存加载) ipquery/README.md
mail SMTP 邮件发送(收/抄/密送、HTML 正文) mail/README.md
certx x509 证书解析校验与自签生成(原 go-hua/ssl 更名) certx/README.md
gormtypes GORM/JSON 双向转换类型:八种 Slice/Map 类型(原 go-hua/datatypes 更名) gormtypes/README.md
cafegame 网咖游戏识别与运行记录上报(网吧业务专用) cafegame/README.md

历史说明:v0.1.0 曾存在独立包 wscclient,v0.2.0 起并入 wsc(wsc.Client)—— 客户端与服务端共用信封定义,协议单一来源防两端漂移。

go-hua 迁移对照

2026-09 自 github.com/4566704/go-hua 迁入并整理,消费方替换对照:

go-hua 包 zogo 去处 说明
common 拆分为 stringx / timex / filex / cryptox / netx / numx / verx;frame.go 独立为 frame 拆大杂烩,按职责归位
http httpprobe 实为协议探测,与 net/http 混淆故更名
httpurl httpc 实为 HTTP 客户端
single counter 实为键值计数器
netFramework dotnet 实为 .NET Framework 信息查询
ssl certx 实为 x509 证书操作
datatypes gormtypes 避免与 gorm.io/datatypes 混淆
log 不迁入(已弃用) 消费方用 logger(logrus);spmux 已改为 spmux.Logger 接口
snowid / gormhook 已被 snowid 覆盖(v0.2.0 吸收),不再迁入
httpx 已存在,仅并入 ParseXML 与全套单元测试
remote 并入 remote-core 仓库(被控端远程能力归位)
qps 不迁入 空壳包(无代码)

迁移中修复的缺陷见各包 README:frame(SetData 未返回错误、ReadFrame 短读/吞帧)、 ipratelimiter(包子句大写不规范)、httpx(README 笔误)等。

约定

  • 通用性准入:被 ≥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 版本不高于最低版本消费方,不要随意上调。
  • 依赖版本声明「最低可用」而非 latest(如 gorm 锁消费方在用的版本),避免把消费方依赖图顶出新版本引发不兼容。
  • 每个包自带 README.md(定位/用法/注意事项),改 API 先改文档;可运行例程统一放 examples/<包名>/main.go。