溫州湖前怎么創(chuàng)建微信公眾號自定義菜單欄?這里給出了權威解答

閱讀 34701  ·  發(fā)布日期 2020-08-24 17:26  ·  溫州優(yōu)光網絡科技有限公司|建站|APP小程序制作|做網站SEO推廣優(yōu)化
【摘要】 剛開始開通微信公眾號的時候是抱著好奇的心態(tài),其實我那時也不是很了解,經過查閱分析,前端是通過自定義菜單手動配置的,菜單不是通過后臺生成的,后面想要獲取事件信息的時候出現(xiàn)了點問題,所以我重新研究了下相關的文檔,分享給大家其實生成菜單非常簡單,直接上代碼:官方文檔地址:https://mp.weixin.qq.com/wi... 【溫州小程序開發(fā),溫州微信公眾號,平陽做網站,平陽網站建設公司,平陽小程序商城制作,昆陽萬全做網站,鰲江水頭小程序,蕭江騰蛟微信公眾號,山門順溪南雁海西南麂鳳臥麻步懷溪網絡網店服務,政采云網店管理服務】...

怎么創(chuàng)建微信公眾號自定義菜單欄?這里給出了權威解答

剛開始開通微信公眾號的時候是抱著好奇的心態(tài),其實我那時也不是很了解,經過查閱分析,前端是通過自定義菜單手動配置的,菜單不是通過后臺生成的,后面想要獲取事件信息的時候出現(xiàn)了點問題,所以我重新研究了下相關的文檔,分享給大家其實生成菜單非常簡單,直接上代碼:
官方文檔地址:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141013創(chuàng)建幾個實體類,用來生成創(chuàng)建菜單必須的json:/** * 微信公眾號菜單 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 sub_button;
public MenuEntity() {
super();
// TODO Auto-generated constructor stub }
public MenuEntity(String name, List 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 getSub_button() {
return sub_button;
}
public void setSub_button(List sub_button) {
this.sub_button = sub_button;
}
}
寫一個工具類直接獲json,zlimport 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創(chuàng)建 * @author cdj * @date 2018年7月26日 下午2:22:02 */ public class WxCreateButtonUtils {
/** * 獲得微信公眾號菜單 * @return */ public static String getWxCreateButtonJson() {
JSONObject jsonObject = new JSONObject();
List lobjs = new ArrayList();
List 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("微信公眾號創(chuàng)建菜單") @ApiImplicitParams({
}
) @PostMapping("/WxCreateButton") public JsonResult wxCreateButton() {
try {
wxInfoService.createButton();
return JsonResult.success("創(chuàng)建成功");
}
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 里面的type 有多種情況, 例如 click 點擊(可以與click事件綁定),miniprogram (小程序:
需要參數(shù)appid ,pagepath, url 等) 不同的內容參數(shù)不同,效果也不同,可以看相應的文檔了解一下。
測試時會出現(xiàn)很多的小bug , 可以通過百度錯誤碼,網上有很多的回復 ;
總結:
新建菜單不難,但一定要細心,內容的格式一定要正確,json的key一定不能錯,不能有的參數(shù)一定不要有,別問我怎么知道的。
相關文章:
微信公眾平臺開發(fā)二維碼、創(chuàng)建菜單php實現(xiàn)微信公眾平臺賬號自定義菜單類,公眾賬號相關視頻:
自定義菜單(1)-PHP微信公眾平臺開發(fā)視頻教程以上就是怎么創(chuàng)建微信公眾號自定義菜單欄?這里給出了權威解答的詳細內容,更多請關注php中文網其它相關文章!
微信
分享相關標簽:
微信公眾號本文原創(chuàng)發(fā)布php中文網,轉載請注明出處,感謝您的尊重!
上一篇:
微信公眾號開發(fā),實現(xiàn)倒計時的一個功能(純代碼)
下一篇:
長見識了,原來微信瀏覽器內可以直接啟動外部瀏覽器相關文章相關視頻修改微信號有什么影響嗎?微信中共享實時位置什么意思數(shù)據庫設計的基本原則是什么?微信小程序調用圖片安全API怎么創(chuàng)建微信公眾號自定義菜單欄?這里給出了權威解答微信公眾號接口調用頻次限制說明微信公眾號以及curl微信公眾號前段微信公眾號開發(fā)-微信公眾號中url的配置
[溫州做微信公眾號]