小程序给绑定的公众号推送模板消息

//该小程序用户的openid   前提时该用户已关注公众号
 public AjaxResult sendWXMessage(String openId) {

        String token = getToken();
        SendWeChatMsg(token,openId);
        return AjaxResult.success();
    }


/**
     * 获取token
     *
     * @return token
     */
    public String getToken() {


        // 授予形式
        String grant_type = "client_credential";
        // 小程序应用ID
        String appid = "";
        // 小程序密钥
        String secret = "";
        // 接口地址拼接参数
        String getTokenApi = "https://api.weixin.qq.com/cgi-bin/token?grant_type="+grant_type+"&appid="+appid+"&secret="+secret;
        String tokenJsonStr = HttpUtil.doGetPost(getTokenApi, "GET", null);
        JSONObject tokenJson = JSONObject.parseObject(tokenJsonStr);
        String token = tokenJson.get("access_token").toString();
        System.out.println("获取到的TOKEN : " + token);
        return token;
    }



 /***
     * 发送消息
     *
     * @param token
     */
    public void SendWeChatMsg(String token,String openId) {
        // 接口地址
        String sendMsgApi = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token="+token;
        //openId
        String toUser = openId;
        //消息模板ID
        String template_id = "";
        //url   跳转的小程序页面   
        String url="";
        //跳转小程序参数
        Miniprogram miniprogram = new Miniprogram();
        //小程序的appid
        miniprogram.setAppid("");
        //想要跳转到的小程序页面地址
        miniprogram.setPagepath("");
        //整体参数map
        Map<String, Object> paramMap = new HashMap<String, Object>();
        //消息主题显示相关map
        Map<String, Object> dataMap = new HashMap<String, Object>();
        //根据自己的模板定义内容和颜色
        dataMap.put("first",new DataEntity("xxxx","#173177"));
        dataMap.put("keyword1",new DataEntity("xxxx","#173177"));
        dataMap.put("keyword2",new DataEntity("xxx" ,"#173177"));
        dataMap.put("keyword3",new DataEntity("xxxx","#173177"));
        dataMap.put("remark",new DataEntity("xxxxx","#173177"));

        //模板id
        paramMap.put("template_id", template_id);
        //跳转小程序参数
        paramMap.put("miniprogram", miniprogram);
        //小程序地址
        paramMap.put("url", url);
        //公众号appid!!!!   注意是公众号的
        paramMap.put("appid", "");
        
        paramMap.put("data", dataMap);
        Map<String, Object> paramMap1 = new HashMap<String, Object>();



        //最终要封装成这样的参数
        paramMap1.put("touser", toUser);
        paramMap1.put("mp_template_msg", paramMap);

        System.out.println(paramMap1.get("mp_template_msg"));
        String post = HttpUtil.doGetPost(sendMsgApi, "POST", paramMap1);
        System.out.println("发送模板消息结果"+post);
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值