环信 im server golang sdk 封装

226 阅读1分钟

背景

  1. 最近有项目需要使用 im 能力
  2. 项目的技术栈为 Golang
  3. 环信官方没有提供 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 , 可以一起参与进来晚上

地址: github.com/jjeejj/ease…