搜尋
首頁微信小程式微信開發分享微信公眾號開發自訂選單實例教程

歡迎留言、轉寄、

專案原始碼參考位址點我點我--歡迎Start

#前幾篇文章已講完如何匯入項目,如何啟動設定項目,如何成為開發者,重源碼分析訊息是如何交互(如果前四項不是很清楚可以看這裡極速開發微信公眾號。這篇文章就來講講如果實現自定義菜單

實作自訂選單有兩種方式
1、編輯模式
2、開發模式

編輯模式就很簡單了就不贅述了...

開發模式實作自訂選單

1、使用微信公眾平台介面偵錯工具實作
2、使用官方提供的介面實作

#前期準備

#注意:
1、目前訂閱號 只能使用編輯模式而且不能添加超鏈接,微信認證之後才可以使用開發模式。
3、產生的選單不會立即顯示(隔天),如果想立即看到效果可以取消追蹤再追蹤

#新增外掛

分享微信公眾號開發自訂選單實例教程

K8WTIEI86W9W5XERD`MRD{6.png

使用微信公眾平台介面調試工具實作

分享微信公眾號開發自訂選單實例教程

自訂選單-介面偵錯工具.png

可以看到需要兩個參數而且都是必填

access_token  body

有人要問,這兩個參數如何取得呢? access_token

的取得如下圖

#自訂選單-取得access_token.png

使用官方提供的介面實作

初次了解微信自訂選單的同學建議先看看官方的文件3遍

分享微信公眾號開發自訂選單實例教程

Jfinal-weixin

中有封裝選單的創建、查詢、刪除、以及個人化選單的建立、查詢、刪除、

測試個人化選單比對結果

自訂選單-選單封裝的介面.png那麼問題來了,封裝好如何使用呢? javen.weixin.menu.MenuManager類別中提供了詳細使用的Demo

 {
     "button":[
     {    
          "type":"click",
          "name":"今日歌曲",
          "key":"V1001_TODAY_MUSIC"
      },
      {
           "name":"菜单",
           "sub_button":[
           {    
               "type":"view",
               "name":"搜索",
               "url":"http://www.soso.com/"
            },
            {
               "type":"view",
               "name":"视频",
               "url":"http://v.qq.com/"
            },
            {
               "type":"click",
               "name":"赞一下我们",
               "key":"V1001_GOOD"
            }]
       }]
 }

可以看到main方法中呼叫了

MenuApi.createMenu(jsonMenu)分享微信公眾號開發自訂選單實例教程

jsonMenu

從何而來呢?

其實這裡是將自訂選單的實體物件轉換為了JSON

String jsonMenu = JsonKit.toJson(getTestMenu()).toString();

#選單的封裝

    //查询自定义菜单
    public static ApiResult getMenu() {
        String jsonResult = HttpUtils.get(getMenu + AccessTokenApi.getAccessTokenStr());
        return new ApiResult(jsonResult);
    }
    //创建自定义菜单
    public static ApiResult createMenu(String jsonStr) {
        String jsonResult = HttpUtils.post(createMenu + AccessTokenApi.getAccessTokenStr(), jsonStr);
        return new ApiResult(jsonResult);
    }
    //删除自定义菜单
    public static ApiResult deleteMenu() {
        String jsonResult = HttpUtils.get(deleteMenuUrl + AccessTokenApi.getAccessTokenStr());
        return new ApiResult(jsonResult);
    }
    //创建个性化自定义菜单
    public static ApiResult addConditional(String jsonStr) {
        String jsonResult = HttpUtils.post(addConditionalUrl + AccessTokenApi.getAccessTokenStr(), jsonStr);
        return new ApiResult(jsonResult);
    }
    //删除个性化自定义菜单
    public static ApiResult delConditional(String menuid) {
        HashMap params = new HashMap();
        params.put("menuid", menuid);
        String url = delConditionalUrl + AccessTokenApi.getAccessTokenStr();
        String jsonResult = HttpUtils.post(url, JsonUtils.toJson(params));
        return new ApiResult(jsonResult);
    }
    //测试个性化菜单匹配结果
    public static ApiResult tryMatch(String userId) {
        HashMap params = new HashMap();
        params.put("user_id", userId);
        String url = tryMatchUrl + AccessTokenApi.getAccessTokenStr();
        String jsonResult = HttpUtils.post(url, JsonUtils.toJson(params));
        return new ApiResult(jsonResult);
    }

    public static ApiResult getCurrentSelfMenuInfo() {
        String jsonResult = HttpUtils.get(getCurrentSelfMenuInfoUrl + AccessTokenApi.getAccessTokenStr());
        return new ApiResult(jsonResult);
    }
執行main方法會輸出產生選單的JSON以及回應的狀態
public static void main(String[] args) { 

           // 将菜单对象转换成json字符串
           String jsonMenu = JsonKit.toJson(getTestMenu()).toString();
           System.out.println(jsonMenu);
           ApiConfig ac = new ApiConfig();

            // 配置微信 API 相关常量 请使用你自己公众号的
            ac.setAppId("wx614c453e0d1dcd12");
            ac.setAppSecret("19a02e4927d346484fc70327970457f9");
//          ac.setAppId(PropKit.get("appId"));
//          ac.setAppSecret(PropKit.get("appSecret"));
            ApiConfigKit.setThreadLocalApiConfig(ac);

           //创建菜单
           ApiResult apiResult=MenuApi.createMenu(jsonMenu);
           System.out.println(apiResult.getJson());
     }

以上是產生自訂選單的全過程。 【相關推薦】

1.

微信公眾號平台原始碼下載

#2. 

微智創T+微信機器人原始碼

3. 

微信人脈王v3.4.5高階商業版微信魔術方塊原始碼

#

以上是分享微信公眾號開發自訂選單實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具