1. 程式人生 > 其它 >微信小程式通知訊息使用記錄

微信小程式通知訊息使用記錄

在維護程式的時候,需要新增微信通知訊息的功能,下面記錄一下通知訊息的傳送流程
(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)在業務裡面呼叫該方法即可