feat: 添加云信群组api

This commit is contained in:
Yangtao
2025-11-28 14:12:33 +08:00
parent e0fbc8567b
commit ef99f24495

View File

@ -735,6 +735,50 @@ func (client *ImClient) CreateChatGroup(ctx context.Context, ownerUserId string,
return cast.ToString(body.Data.TeamInfo.TeamID), nil return cast.ToString(body.Data.TeamInfo.TeamID), nil
} }
// GroupMsgSend 发送群消息
func (client *ImClient) GroupMsgSend(from, tid, _type, content, msg string) error {
url := "https://api.netease.im/nimserver/msg/sendMsg.action"
httpMethod := common.HTTP_METHOD_POST
header := client.generateHeader()
sb := HyTools.NewStringBuilder()
sb.Append("from=" + from)
sb.Append("&")
sb.Append("ope=" + "1")
sb.Append("&")
sb.Append("to=" + tid)
sb.Append("&")
sb.Append("type=" + _type) // 0文本消息1图片消息2语音消息3视频消息4地理位置消息6文件消息10提示消息100自定义消息
sb.Append("&")
sb.Append("body=" + content)
sb.Append("&")
sb.Append("antispam=true")
res, err := HyTools.HttpDo(httpMethod, url, header, sb.ToString())
// code Integer 状态码
// tid Long 网易云信服务器产生,群唯一标识
// faccid String 入群失败的账号accid列表格式为 JSONArray如果创建时邀请的成员中存在加群数量超过限制的情况会返回入群失败的 accid 以及附言msg
if err != nil {
// {"desc":"already register","code":414}
log.Info("GroupMsgSend %s:" + err.Error())
return err
} else {
var resDTO CreateImRes
json.Unmarshal([]byte(res), &resDTO)
if resDTO.Code != 200 {
log.Info("GroupMsgSend %s:" + resDTO.Desc)
} else {
log.Info("GroupMsgSend %s:" + res)
}
}
var body map[string]any
if errJson := json.Unmarshal([]byte(res), &body); errJson != nil {
return errJson
}
if int(body["code"].(float64)) != 200 {
return errors.New(body["desc"].(string))
}
return nil
}
// 创建云信账户 // 创建云信账户
// 创建高级群,创建时即可通过设置群成员列表邀请用户入群。 // 创建高级群,创建时即可通过设置群成员列表邀请用户入群。
// 建群成功会返回 tid网易云信服务器产生群唯一标识该字段需要保存以便于加人与踢人等后续操作。 // 建群成功会返回 tid网易云信服务器产生群唯一标识该字段需要保存以便于加人与踢人等后续操作。