Nexus Go SDKs
Nexus 平台各模块的官方 Go SDK 集合。
每个子目录是一个独立的 Go package,共享同一个 module (github.com/Nexus-Aethra/Nexus-Go-SDKs),通过子目录路径区分。
SDK 列表
安装
# 安装 Portal SDK
go get github.com/Nexus-Aethra/Nexus-Go-SDKs/portal
# 安装 Story Loom SDK (待发布)
# go get github.com/Nexus-Aethra/Nexus-Go-SDKs/storyloom
快速示例 — Portal SDK
import portalsdk "github.com/Nexus-Aethra/Nexus-Go-SDKs/portal"
func main() {
client := portalsdk.New("http://portal:8080")
defer client.Close()
claims, err := client.VerifyToken(ctx, tokenString)
if err != nil {
// 错误处理: ErrTokenExpired / ErrSignatureInvalid 等
return
}
fmt.Println(claims.UserID, claims.Username)
}
版本管理
本仓库使用 git tag 管理版本,遵循 SemVer 规范:
| Tag |
含义 |
兼容策略 |
v0.1.0 |
首次发布 |
— |
v0.2.0 |
新增功能 |
向后兼容 |
v1.0.0 |
稳定版本 |
后续严格 SemVer |
v1.1.0 |
增量功能 |
— |
v2.0.0 |
破坏性变更 |
需要明确升级 |
锁定特定版本
# 升级到 v0.2.0
go get github.com/Nexus-Aethra/Nexus-Go-SDKs/portal@v0.2.0
Mono-repo 特点
所有子 SDK 共享同一版本号。这是有意为之:
- ✅ 跨 SDK 协议变更可同步发布
- ✅ 一次
go get -u 升级所有子 SDK
- ⚠️ 如果你只用一个子 SDK,也是拉整个仓库(几 KB,影响小)
如果后续需要拆分版本管理,可将各子 SDK 拆为独立仓库(参见 docs/ARCHITECTURE.md)。
贡献
修改 SDK 后,确保:
go test ./...
go vet ./...
go mod tidy
新功能请在对应子目录添加,并在本文档"SDK 列表"中追加。
License
参见 LICENSE。