200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 微信小程序通过公众号(服务号)推送通知或提醒步骤及代码(二 推送通知或提醒)

微信小程序通过公众号(服务号)推送通知或提醒步骤及代码(二 推送通知或提醒)

时间:2020-04-05 23:34:33

相关推荐

微信小程序通过公众号(服务号)推送通知或提醒步骤及代码(二 推送通知或提醒)

推动公众号通知或提醒!

关于推送前所需要获取的数据请移步:/weixin_44467567/article/details/112304488

第一步:登录公众号后台创建模板消息

创建完成后点击详情

第二步:代码实现

接口传参格式

{"touser":"OPENID","template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY","url":"/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":"9月22日","color":"#173177"},"remark":{"value":"欢迎再次购买!","color":"#173177"}}}

代码如下:

传输实体类

import lombok.Data;import java.io.Serializable;/*** @Description: 消息模板Data类* @Param:* @return:* @Author: XQD* @Date:/1/5 11:02*/@Datapublic class DataEntityDto implements Serializable {//内容private String value;//字体颜色private String color;public DataEntityDto(String value ,String color){this.value = value;this.color = color;}}

在此之前已经通过用户关注公众号的时候获取到了用户的openId

/*** @Description: 发送模板消息* @Param: [openId]* @return: boolean* @Author: XQD* @Date:/1/5 10:02*/// param参数格式 {"keyword1":"张三","keyword2","项目名称"}@Overridepublic boolean sendTemplateMsg(String openId, JSONObject param) {// 发送模板消息的URLString sendMsgUrl = "https://api./cgi-bin/message/template/send?access_token=" + getAccessToken();// 整体参数mapMap<String, Object> paramMap = new HashMap<String, Object>();// 跳转小程序参数map 如不需跳转小程序,该map不用创建Map<String, Object> miniprogramMap = new HashMap<String, Object>();// 消息主题显示相关mapMap<String, Object> dataMap = new HashMap<String, Object>();paramMap.put("touser", openId);// 收藏客户访问paramMap.put("template_id", "这里写公众后台申请的模板I的");miniprogramMap.put("appid", "需要跳转的小程序appId,必须为关联的小程序");miniprogramMap.put("pagepath","需要跳转的页面");paramMap.put("miniprogram",miniprogramMap);//根据自己的模板定义内容和颜色// 前面的first,keyword1,keyword2,keyword3,remark 要模板消息中的参数一致// 后面的(String) param.get("keyword1")中的keyword1是我自己传参时自定义写的,为了和前面保持一致dataMap.put("first",new DataEntityDto("收藏客户访问小程序通知!","#173177"));dataMap.put("keyword1",new DataEntityDto((String) param.get("keyword1"),"#173177"));dataMap.put("keyword2",new DataEntityDto((String) param.get("keyword2") ,"#173177"));dataMap.put("keyword3",new DataEntityDto("访问项目小程序首页内容" ,"#173177"));dataMap.put("remark",new DataEntityDto("及时与收藏客户保持良好联系","#173177"));paramMap.put("data", dataMap);String post = HttpClientUtil.post(sendMsgUrl, JSON.toJSONString(paramMap));Map<String,Object> map = null;try {map = objectMapper.readValue(post, Map.class);} catch (IOException e) {log.error("公众号模板消息异常通知-转化异常",e);}String errcode = String.valueOf(map.get("errcode"));String errmsg = String.valueOf(map.get("errmsg"));if (!errcode.equals("0")){log.error("消息发送失败:code="+errcode+"msg="+errmsg);return false;}return true;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。