1. 程式人生 > >[微信開發] - 獲取使用者資訊及自定義選單

[微信開發] - 獲取使用者資訊及自定義選單

昨夜雨疏風驟,濃睡不消殘酒。試問捲簾人,卻道海棠依舊。知否,知否?應是綠肥紅瘦。

雖然昨天沒下雨,但是很喜歡李清照啊,忽然就想以這首詩詞起個頭.    

 

測試號請求的路徑的POST請求中,直接呼叫了一個方法:

//獲取使用者資訊
        WxUtil.getUserInfo(WxUtil.getAccessToken(),fromUserName);

也就是說整個程式碼結構雖然還有些紊亂,但內分泌已經正常.接下來就是整理加強

 

.

 將選單更新至公眾號其實就是呼叫 MenuUtil.createMenu()方法. (還沒有確定是不是根據postResult欄位是否為null or not null 返回 0 或者 1.

前臺通過@RestController的方式,獲取0或1來提示更新選單成功.

 

新增自定義選單

package com.baigehuidi.baige.util;

import com.alibaba.fastjson.JSONObject;
import com.baigehuidi.baige.entity.*;

/**
 * 建立公眾賬號自定義選單
 * 其中的固定的欄位應改為配置形式
 */
public class MenuUtil {

    //建立自定義選單
    public static Integer createMenu() {
        
//選單物件 Button btn = new Button(); //第一個一級選單 btn.getButton().add(new ClickButton("公司介紹", "1")); //第二個一級選單 btn.getButton().add(new ViewButton("1級跳轉", "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+WxUtil.getAPPID()+"&redirect_uri="+CommonUtil.urlEncodeUTF8("http://www.ykmimi.com")+"&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"));
//建立第三個一級選單 SubButton sb = new SubButton("含子選單"); //為第三個一級選單增加子選單 sb.getSub_button().add(new PhotoOrAlbumButton("傳圖", "31")); sb.getSub_button().add(new ClickButton("點選", "32")); sb.getSub_button().add(new ViewButton("連結", "http://www.baigehuidi.com")); //加入第三個一級選單 btn.getButton().add(sb); //轉為json字串 String jsonObjStr = JSONObject.toJSONString(btn); System.out.println(jsonObjStr); //準備url String url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN"; url = url.replace("ACCESS_TOKEN", WxUtil.getAccessToken()); //傳送請求 String postResult = WxUtil.post(url, jsonObjStr); System.out.println(postResult); return postResult==null?0:1; } }

在上述方法中,已經將自定義選單以固定格式寫入,應該為當前端form表單傳過來設定的一級選單,二級選單,選單內容(按鈕功能)後.

將這些資料傳遞過來,當儲存時,執行微信Controller的路徑,返回0或1.

 

明天將以思維導圖細分現有微信開發程式碼模組.

之後將更多介面功能做出來.