微信公众号推送的模板消息无法跳转到小程序指定页面?

微信公众号推送的模板消息无法跳转到小程序指定页面?

发送模板消息

接口调用请求说明

http请求方式: POST

https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

POST数据说明

POST数据示例如下:

{
           "touser":"OPENID",
           "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
           "url":"http://weixin.qq.com/download",  
           "miniprogram":{
             "appid":"xiaochengxuappid12345",
             "pagepath":"index?foo=bar"
           },          
           "data":{
                   "first": {
                       "value":"恭喜你购买成功!",
                       "color":"#173177"
                   },
                   "keyword1":{
                       "value":"巧克力",
                       "color":"#173177"
                   },
                   "keyword2": {
                       "value":"39.8元",
                       "color":"#173177"
                   },
                   "keyword3": {
                       "value":"2014年9月22日",
                       "color":"#173177"
                   },
                   "remark":{
                       "value":"欢迎再次购买!",
                       "color":"#173177"
                   }
           }
       }

参数说明

参数 是否必填 说明
touser 接收者openid
template_id 模板ID
url 模板跳转链接(海外帐号没有跳转能力)
miniprogram 跳小程序所需数据,不需跳小程序可不用传该数据
appid 所需跳转到的小程序appid(该小程序 appid 必须与发模板消息的公众号是绑定关联关系,暂不支持小游戏)
pagepath 所需跳转到小程序的具体页面路径,支持带参数,(示例index?foo=bar),要求该小程序已发布,暂不支持小游戏
data 模板数据
color 模板内容字体颜色,不填默认为黑色

注:url和 miniprogram 都是非必填字段,若都不传则模板无跳转;若都传,会优先跳转至小程序。开发者可根据实际需要选择其中一种跳转方式即可。当用户的微信客户端版本不支持跳小程序时,将会跳转至url。

返回码说明

在调用模板消息接口后,会返回 JSON 数据包。正常时的返回 JSON 数据包示例:

 {
    "errcode":0,
     "errmsg":"ok",
     "msgid":200228332
  }

解决方案

第一种方式
"miniprogram":{
             "appid":"wxda23313f1f458e76",
             "pagePath "=>"pages/lst/lst",
    		   "usePath"  => false
           }, 
第二种方式
"miniprogram":{
             "appid":"wxda23313f1f458e76",
             "pagepath "=>"pages/lst/lst",
    		   "usepath"  => false
           }, 
第三种方式
"miniprogram":{
             "appid":"wxda23313f1f458e76",
             "pagepath "=>"pages/lst/lst",
           },
部分代码实现
WxMpTemplateMessage.MiniProgram miniProgram = new WxMpTemplateMessage.MiniProgram();
                
				miniProgram.setAppid("小程序appid");
                miniProgram.setPagePath("跳转页面");
                miniProgram.setUsePath(false);//必须要加上
                WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
                        // 接收者openid
                        .toUser("接收者openid")
                        // 模板id
                        .templateId("模板id")
                        // 模板跳转链接
                        .build();
                // 添加模板数据
templateMessage.addData(new WxMpTemplateData("first", "xxx", "#FF00FF"))
               .addData(new WxMpTemplateData("keyword1", "今日吃鸡", "#000000"))
               .addData(new WxMpTemplateData("keyword2", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm"), "#000000"))
               .addData(new WxMpTemplateData("remark", "请点击详情进行查看", "#000000"));
                templateMessage.setMiniProgram(miniProgram);
                try {
                    // 发送模板消息
			 wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
                } catch (WxErrorException e) {
                    e.printStackTrace();
                }

你可能感兴趣的:(微信,微信,小程序)