first commit

This commit is contained in:
Yangtao
2025-11-18 17:48:20 +08:00
commit 6e56cab848
196 changed files with 65809 additions and 0 deletions

38
pkg/common/netease/req.go Normal file
View File

@ -0,0 +1,38 @@
package Netease
// CreateChatGroupReq 创建群组请求
// https://doc.yunxin.163.com/messaging2/server-apis/DIwODUwMTE?platform=server
type CreateChatGroupReq struct {
OwnerAccountID string `json:"owner_account_id"` // M 群主(创建者)的 IM 账号 ID。
TeamType int `json:"team_type"` // M 1高级群。2超大群。
Name string `json:"name"` // M 长度上限 64 位字符。
Icon string `json:"icon,omitempty"` // O 群组头像的 URL 地址,例如 "https://netease/xxx.png",长度上限 1024 位字符。
Announcement string `json:"announcement,omitempty"` // O 群组公告,长度上限 1024 位字符。
Intro string `json:"intro,omitempty"` // O群组简介长度上限 512 位字符。
MembersLimit int `json:"members_limit"` // O 群组成员数上限(包含群主),默认为 200。可设置范围的为[2 ~ 200]。
ServerExtension string `json:"server_extension,omitempty"` // O 自定义群组扩展字段,第三方可以跟据此属性自定义扩展自己的群属性,建议封装成 JSONObject 格式,{key:value}。长度上限 1024 位字符。 对应 SDK 的 serverExtension 字段。
CustomerExtension string `json:"customer_extension,omitempty"` // O 客户端自定义扩展字段,仅服务器 API 可以设置SDK 仅负责透传,不解析内容。 对应 SDK 的 customerExtension 字段。
Extension string `json:"extension,omitempty"` // M 创建群组时邀请入群的成员列表。
InviteAccountIDs []string `json:"invite_account_ids,omitempty"` // M 邀请入群的附言,长度上限 150 位字符。
InviteMsg string `json:"invite_msg,omitempty"`
Configuration *TeamConfiguration `json:"configuration,omitempty"`
AntispamConfiguration *AntispamConfig `json:"antispam_configuration,omitempty"`
}
type TeamConfiguration struct {
JoinMode int `json:"join_mode"` // 通过 SDK 侧操作申请入群的验证方式。 0默认无需验证直接入群。 1需要群主或管理员验证通过才能入群。 2不允许任何人申请入群。
AgreeMode int `json:"agree_mode"` // 邀请入群时是否需要被邀请人的同意。 0默认需要被邀请人同意才能入群。 1不需要被邀请人同意直接入群。
InviteMode int `json:"invite_mode"` // 邀请权限,即谁可以邀请他人入群。 0默认群主和管理员。 1所有人。
UpdateTeamInfoMode int `json:"update_team_info_mode"`
UpdateExtensionMode int `json:"update_extension_mode"`
}
type AntispamConfig struct {
Enabled bool `json:"enabled"`
BusinessIDMap *BusinessIDMap `json:"business_id_map,omitempty"`
}
type BusinessIDMap struct {
Type int `json:"type"`
AntispamBusinessID string `json:"antispam_business_id"`
}