微信小程式通知訊息使用記錄
阿新 • • 發佈:2021-06-23
在維護程式的時候,需要新增微信通知訊息的功能,下面記錄一下通知訊息的傳送流程
(1)先寫一個傳送https和http請求的工具類,這裡選擇了httpclent來實現該類的全部內容在前面的部落格裡面有記錄,這裡就不復制程式碼了
(2)寫一個微信訊息的工具類,以後方便呼叫
public static boolean sendMassage(String openId, ItemReturnMessage returnMessage) throws Exception { String access_token = getAccessToken(); String sendParamUrl = sendMessageUrl + "?access_token=" + access_token; JSONObject param = new JSONObject(); param.put("touser", openId);//openid 傳送給誰 param.put("miniprogram_state", miniprogram_state);//傳送給那個版本 param.put("template_id", resultMessageId);//傳送訂閱訊息模板 param.put("page", goPage); param.put("data", returnMessage); //傳送訊息 JSONObject object = HttpUtil.sendHttpsPost(sendParamUrl, param.toJSONString()); logger.info(object.toJSONString()); if ("ok".equals(object.get("errmsg"))) { return true; } else { logger.error("微信授權失敗"); return false; } }
(3)上面需要一個獲取token的方法,程式碼如下
/** * 獲取伺服器token * * @return * @throws Exception */ public static String getAccessToken() throws Exception { String sendParamUrl = accessTokenUrl + "?appid=" + appid + "&secret=" + secret + "&grant_type=" + grant_type_msg; //傳送獲取token請求 JSONObject object = HttpUtil.sendHttpsPost(sendParamUrl, null); logger.info(object.toJSONString()); if (object.getInteger("expires_in").intValue() != 7200) { throw new AuthException("獲取服務token失敗"); } else { return object.getString("access_token"); } }
(4)在業務裡面呼叫該方法即可