github.com/chanxuehong/wechat@v0.0.0-20230222024006-36f0325263cd/mp/menu/api.go (about) 1 package menu 2 3 import ( 4 "github.com/chanxuehong/wechat/mp/core" 5 ) 6 7 // 创建自定义菜单. 8 func Create(clt *core.Client, menu *Menu) (err error) { 9 const incompleteURL = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" 10 11 var result core.Error 12 if err = clt.PostJSON(incompleteURL, menu, &result); err != nil { 13 return 14 } 15 if result.ErrCode != core.ErrCodeOK { 16 err = &result 17 return 18 } 19 return 20 } 21 22 // 查询自定义菜单. 23 func Get(clt *core.Client) (menu *Menu, conditionalMenus []Menu, err error) { 24 const incompleteURL = "https://api.weixin.qq.com/cgi-bin/menu/get?access_token=" 25 26 var result struct { 27 core.Error 28 Menu Menu `json:"menu"` 29 ConditionalMenus []Menu `json:"conditionalmenu"` 30 } 31 if err = clt.GetJSON(incompleteURL, &result); err != nil { 32 return 33 } 34 if result.ErrCode != core.ErrCodeOK { 35 err = &result.Error 36 return 37 } 38 menu = &result.Menu 39 conditionalMenus = result.ConditionalMenus 40 return 41 } 42 43 // 删除自定义菜单. 44 func Delete(clt *core.Client) (err error) { 45 const incompleteURL = "https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=" 46 47 var result core.Error 48 if err = clt.GetJSON(incompleteURL, &result); err != nil { 49 return 50 } 51 if result.ErrCode != core.ErrCodeOK { 52 err = &result 53 return 54 } 55 return 56 }