Преглед изворни кода

添加菜单-支持json方式 (#261)

silenceper пре 6 година
родитељ
комит
351cf65621
1 измењених фајлова са 35 додато и 0 уклоњено
  1. 35 0
      officialaccount/menu/menu.go

+ 35 - 0
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()