2 Star 0 Fork 0

917502/go-wechat

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
menu.go 1.76 KB
一键复制 编辑 原始数据 按行查看 历史
917502 提交于 2021-04-12 16:24 +08:00 . 'init'
package wechat
import (
"fmt"
"gitee.com/fbbi/go-wechat/util"
)
// WXAPIMenuGet 微信菜单接口,兼容企业微信和服务号
const (
WXAPIMenuGet = `menu/get?access_token=%s&agentid=%d`
WXAPIMenuAdd = `menu/create?access_token=%s&agentid=%d`
WXAPIMenuDel = `menu/delete?access_token=%s&agentid=%d`
)
type (
// Button 按钮
Button struct {
Name string `json:"name"`
Type string `json:"type"`
Key string `json:"key"`
Url string `json:"url"`
AppId string `json:"appid"`
PagePath string `json:"pagepath"`
SubButton []struct {
Name string `json:"name"`
Type string `json:"type"`
Key string `json:"key"`
Url string `json:"url"`
AppId string `json:"appid"`
PagePath string `json:"pagepath"`
} `json:"sub_button"`
}
// Menu 菜单
Menu struct {
WxErr
Button []Button `json:"button"`
Menu struct {
Button []Button `json:"button"`
} `json:"menu,omitempty"`
}
)
// GetMenu 获取应用菜单
func (s *Server) GetMenu() (m *Menu, err error) {
m = new(Menu)
url := fmt.Sprintf(s.RootUrl+WXAPIMenuGet, s.GetAccessToken(), s.AgentId)
if err = util.GetJson(url, m); err != nil {
return
}
if len(m.Menu.Button) == 0 && len(m.Button) > 0 {
m.Menu.Button = m.Button
}
err = m.Error()
return
}
// AddMenu 创建应用菜单
func (s *Server) AddMenu(m *Menu) (err error) {
e := new(WxErr)
url := fmt.Sprintf(s.RootUrl+WXAPIMenuAdd, s.GetAccessToken(), s.AgentId)
if err = util.PostJsonPtr(url, m, e); err != nil {
return
}
return e.Error()
}
// DelMenu 删除应用菜单
func (s *Server) DelMenu() (err error) {
e := new(WxErr)
url := fmt.Sprintf(s.RootUrl+WXAPIMenuDel, s.GetAccessToken(), s.AgentId)
if err = util.GetJson(url, e); err != nil {
return
}
return e.Error()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/fbbi/go-wechat.git
git@gitee.com:fbbi/go-wechat.git
fbbi
go-wechat
go-wechat
master

搜索帮助