ホームページ > 記事 > WeChat アプレット > WeChat公式アカウント用のカスタムメニューバーを作成するにはどうすればよいですか?ここに権威ある答えがあります
私が初めて WeChat 公式アカウントを開設したとき、私は当時それについてあまり知りませんでしたが、調べて分析したところ、フロントエンドはカスタム メニューを通じて手動で設定されていることがわかりました。メニューがバックエンド経由で生成されませんでした。後で取得したいです。イベント情報に問題があったため、関連するドキュメントを再検討して共有します。実際、メニューの生成は非常に簡単です。コード:
/** * 微信公众号菜单 view 模式 * * @author cdj * @date 2018年7月26日 下午2:02:57 */ public class ViewEntity { public String type; public String name; public String url; public ViewEntity() { super(); // TODO Auto-generated constructor stub } public ViewEntity(String type, String name, String url) { super(); this.type = type; this.name = name; this.url = url; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } }
/** * 微信公众号多级菜单按钮实体类 * * @author cdj * @date 2018年7月26日 下午2:08:40 */ public class MenuEntity { public String name; /**下级菜单按钮 集合 */ public List<Object> sub_button; public MenuEntity() { super(); // TODO Auto-generated constructor stub } public MenuEntity(String name, List<Object> sub_button) { super(); this.name = name; this.sub_button = sub_button; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Object> getSub_button() { return sub_button; } public void setSub_button(List<Object> sub_button) { this.sub_button = sub_button; } }ツールを書くjson,zl
import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.modou.park.entity.wechat.MenuEntity; import com.modou.park.entity.wechat.ViewEntity; /** * 微信公众号获取button创建 * @author cdj * @date 2018年7月26日 下午2:22:02 */ public class WxCreateButtonUtils { /** * 获得微信公众号菜单 * @return */ public static String getWxCreateButtonJson() { JSONObject jsonObject = new JSONObject(); List<Object> lobjs = new ArrayList<>(); List<Object> firstvl = new ArrayList<>(); ViewEntity infoEntity = new ViewEntity("view", "个人信息", "http://www.xxx.com/xxxxxxxxx.html");//写自己的要跳转的url firstvl.add(infoEntity); MenuEntity thirdEntity = new MenuEntity("我的",firstvl); lobjs.add(thirdEntity); jsonObject.put("button", lobjs); System.out.println(jsonObject); return JSON.toJSONString(jsonObject); } }を直接取得するクラスController:
@ApiOperation("微信公众号创建菜单") @ApiImplicitParams({ }) @PostMapping("/WxCreateButton") public JsonResult wxCreateButton() { try { wxInfoService.createButton(); return JsonResult.success("创建成功"); } catch (Exception e) { // TODO: handle exception LOG.error(e.getMessage()); return JsonResult.failMsg(e.getMessage()); } }service :
@Override public void createButton() { //String accessToken = wxPublicAccessTokenUtils.getAccessToken(); //String createButton_Url = UserInfoUtil.getCreateButton_Url(accessToken); String weixin_jssdk_acceToken_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s"; String jssdkAcceTokenUrl = String.format(weixin_jssdk_acceToken_url, WxPublicProperties.APPID, WxPublicProperties.APPSCREAT); String accesstoken = HttpsUtil.httpsRequestToString(jssdkAcceTokenUrl, "GET", null); WxToken accToken = JSONObject.parseObject(accesstoken, WxToken.class); String accessToken = accToken.getAccessToken(); String createurl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=%s"; String createButton_Url = String.format(createurl, accessToken); String buttonJson = WxCreateButtonUtils.getWxCreateButtonJson(); String httpsRequestToString = HttpsUtil.httpsRequestToString(createButton_Url, "POST", buttonJson); System.out.println(httpsRequestToString); }成功フィードバック: {"errcode":0,"errmsg":"ok"}apache php mysqljson 型はたくさんあります、クリック (クリック イベントにバインドできる)、ミニプログラム (ミニ プログラム: appid、pagepath、url などのパラメーターが必要) など。コンテンツ パラメーターが異なれば、パラメーターも異なり、効果も異なります。詳細については、対応するドキュメントを参照してください。 。 テスト中には小さなバグが多数発生する可能性があります。Baidu のエラー コードを使用することもでき、インターネット上でも多くの回答があります。 概要: 新しいメニューを作成するのは難しくありませんが、メニューの形式に注意する必要があります。コンテンツが正しい必要があり、json のキーが間違っていてはなりません。存在できないパラメーターがあってはなりません。どうやって知っているかは聞かないでください。 関連記事:
WeChatパブリックプラットフォームはQRコードを開発し、メニューを作成します
phpはWeChatパブリックプラットフォームアカウントのカスタムメニュークラス、パブリックアカウントを実装します
カスタムメニュー(1) -PHP WeChatパブリックプラットフォーム開発ビデオチュートリアル
以上がWeChat公式アカウント用のカスタムメニューバーを作成するにはどうすればよいですか?ここに権威ある答えがありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。