This commit is contained in:
邹宗楠
2023-01-29 15:37:58 +08:00
parent 9f0e014981
commit d3b6f4d6d1

View File

@@ -20,6 +20,8 @@ const (
MsgTypeTemplateCard = "template_card" // 模板卡片消息(文本型/图文型/按钮型/投票型/多项选择型)
)
const EnterpriseAgentid = 1000005 // 企业应用的id
// EnterpriseSendMsgReq 发送企业微信文本卡片消息请求参数
type EnterpriseSendMsgReq struct {
Touser string `json:"touser"` // 成员ID列表消息接收者多个接收者用|分隔最多支持1000个
@@ -52,7 +54,7 @@ type EnterpriseSendMsgRes struct {
ResponseCode string `json:"response_code"` // 仅消息类型为“按钮交互型”“投票选择型”和“多项选择型”的模板卡片消息返回应用可使用response_code调用更新模版卡片消息接口72小时内有效且只能使用一次
}
// SendMsgToUser 将消息发送给企业微信用户
// SendMsgToUser 将消息发送给企业微信用户 msgtype = textcard
func (a *API) SendMsgToUser(msg *EnterpriseSendMsgReq) error {
a.CheckAccessTokenExpiresIn()
param := utils.Struct2Map(msg, "", false)
@@ -71,3 +73,74 @@ func (a *API) SendMsgToUser(msg *EnterpriseSendMsgReq) error {
return nil
}
// 发送文本消息
type SendTextMsgReq struct {
Touser string `json:"touser"`
Toparty string `json:"toparty"`
Totag string `json:"totag"`
Msgtype string `json:"msgtype"`
Agentid int `json:"agentid"`
Text struct {
Content string `json:"content"`
} `json:"text"`
Safe int `json:"safe"`
EnableIdTrans int `json:"enable_id_trans"`
EnableDuplicateCheck int `json:"enable_duplicate_check"`
DuplicateCheckInterval int `json:"duplicate_check_interval"`
}
// SendMsgToUserTypeText 发送文本消息给用户
func (a *API) SendMsgToUserTypeText(msg *SendTextMsgReq) error {
a.CheckAccessTokenExpiresIn()
param := utils.Struct2Map(msg, "", false)
data, err := a.AccessAPI(WeChatBaseApi, SendMsgToUser, http.MethodPost, param)
if err != nil {
return err
}
result := &EnterpriseSendMsgRes{}
if err := utils.Map2StructByJson(data, result, false); err != nil {
return err
}
if result.Errcode != 0 {
return errors.New(result.Errmsg)
}
return nil
}
// 发送文本消息
type SendMarkdownMsgReq struct {
Touser string `json:"touser"`
Toparty string `json:"toparty"`
Totag string `json:"totag"`
Msgtype string `json:"msgtype"`
Agentid int `json:"agentid"`
Markdown struct {
Content string `json:"content"`
} `json:"markdown"`
Safe int `json:"safe"`
EnableIdTrans int `json:"enable_id_trans"`
EnableDuplicateCheck int `json:"enable_duplicate_check"`
DuplicateCheckInterval int `json:"duplicate_check_interval"`
}
// SendMsgToUserMarkdown 发送makedown消息
func (a *API) SendMsgToUserMarkdown(msg *SendMarkdownMsgReq) error {
a.CheckAccessTokenExpiresIn()
param := utils.Struct2Map(msg, "", false)
data, err := a.AccessAPI(WeChatBaseApi, SendMsgToUser, http.MethodPost, param)
if err != nil {
return err
}
result := &EnterpriseSendMsgRes{}
if err := utils.Map2StructByJson(data, result, false); err != nil {
return err
}
if result.Errcode != 0 {
return errors.New(result.Errmsg)
}
return err
}