微信小程序通知消息使用记录

在维护程序的时候,需要新增微信通知消息的功能,下面记录一下通知消息的发送流程
(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)在业务里面调用该方法即可

posted @ 2021-06-23 18:38  小猫爱哭鬼  阅读(263)  评论(0编辑  收藏  举报