背景
- 最近有项目需要使用 im 能力
- 项目的技术栈为 Golang
- 环信官方没有提供 Golang 的 sdk, github 上也没有找到合适的
结构设计
按照功能模块化进行设计,后续可以按照这样的规则 增加对应的接口
├── LICENSE
├── README.md
├── chatroom # 聊天室模块
│ ├── api.go # 聊天室相关结构体
│ └── chatroom.go # 接口封装
├── config # 配置模块
│ └── config.go
├── easemob.go # 主文件
├── easemob_test.go # c 测试文件
├── go.mod
├── go.sum
├── request # 对外发送请求
│ └── request.go
└── token # 获取相关 token 模块
├── api.go
└── token.go
使用方式
安装
go get github.com/jjeejj/easemob-im-server-sdk
这里如果拉取不下来,可以指定最新 commit 重新拉取 go get github.com/jjeejj/easemob-im-server-sdk@{commit-hash}
调用
// 实例化
easemobClient = New(&config.EasemobConfig{
ApiUrl: "https://a1.easemob.com",
OrgName: "easemob-cn",
AppName: "test",
AppKey: "easemob-cn-test",
ClientId: "easemob-cn-test",
ClientSecret: "easemob-cn-test",
})
// 获取应用 token
easemobClient.Token.GetAppToken(context.Background(), &token.GetAppTokenReq{
TTl: 3600,
})
最后
目前只实现了少量接口,而且还不够完善,如果现在你也找对应的 sdk , 可以一起参与进来晚上