diff --git a/officialaccount/menu/menu.go b/officialaccount/menu/menu.go index 1434057..243fb09 100644 --- a/officialaccount/menu/menu.go +++ b/officialaccount/menu/menu.go @@ -138,6 +138,24 @@ func (menu *Menu) SetMenu(buttons []*Button) error { return util.DecodeWithCommonError(response, "SetMenu") } + +//SetMenuByJSON 设置按钮 +func (menu *Menu) SetMenuByJSON(jsonInfo string) error { + accessToken, err := menu.GetAccessToken() + if err != nil { + return err + } + + uri := fmt.Sprintf("%s?access_token=%s", menuCreateURL, accessToken) + + response, err := util.PostJSON(uri, jsonInfo) + if err != nil { + return err + } + + return util.DecodeWithCommonError(response, "SetMenu") +} + //GetMenu 获取菜单配置 func (menu *Menu) GetMenu() (resMenu ResMenu, err error) { var accessToken string @@ -198,6 +216,23 @@ func (menu *Menu) AddConditional(buttons []*Button, matchRule *MatchRule) error return util.DecodeWithCommonError(response, "AddConditional") } + +//AddConditionalByJSON 添加个性化菜单 +func (menu *Menu) AddConditionalByJSON(jsonInfo string) error { + accessToken, err := menu.GetAccessToken() + if err != nil { + return err + } + + uri := fmt.Sprintf("%s?access_token=%s", menuAddConditionalURL, accessToken) + response, err := util.PostJSON(uri, jsonInfo) + if err != nil { + return err + } + + return util.DecodeWithCommonError(response, "AddConditional") +} + //DeleteConditional 删除个性化菜单 func (menu *Menu) DeleteConditional(menuID int64) error { accessToken, err := menu.GetAccessToken()