搜索
简帛阁>技术文章>java实现的小程序_Java实现 微信小程序 + 消息推送

java实现的小程序_Java实现 微信小程序 + 消息推送

实现效果:

下面要显示五个字段

d42379c608e2e0f4f8d8c061aa7b190e.png

接下来,参照官方文档,一步步实现:

一、官方给出请求示例、返回示例

286ccac1bf62b10b0b1a5deed4c3b6c0.png

7e2c41d2b7e836cd885dbb1bfc9da369.png

二、根据上面编写实体类

(1)请求参数

@Data

public class SendTemplateReq {

/**

* 接收者(用户)的 openid

*/

private String touser;

/**

* 所需下发的模板消息的id

*/

private String template_id;

/**

* 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。

* 该字段不填则模板无跳转。

*/

private String page;

/**

* 表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id

*/

private String form_id;

/**

* 模板内容

* 不填则下发空模板。具体格式请参考示例。

*/

private DoctorReplyMsgData data;

/**

* 模板需要放大的关键词

* 不填则默认无放大

*/

private String emphasis_keyword;

}

(2)请求参数中的data,如实现效果所示,这是在小程序显示的五个字段.

(属性名就要叫keyword1、2、3,否则推送的消息空白)

@Data

public class DoctorReplyMsgData {

private KeyNote keyword1;

private KeyNote keyword2;

private KeyNote keyword3;

private KeyNote keyword4;

private KeyNote keyword5;

}

(3)上面五个字段对应的值(data是对象,所以需要这样)

@Data

public class KeyNote {

private String value;

}

(4)请求后,微信返回的消息体

@Data

public classSendTemplateResponse {

/**

* 错误码

* 0 ok

* 40037 template_id不正确

* 41028 form_id不正确,或者过期

* 41029 form_id已被使用

* 41030 page不正确

* 45009 接口调用超过限额(目前默认每个帐号日调用限额为100万)

*/

private interrcode;

/**

* 错误信息

*/

privateString errmsg;

}

三、实现代码

public voidsendTemplate() {

SendTemplateReq sendTemplateReq= newSendTemplateReq();//1、用户的 openid

sendTemplateReq.setTouser("openid");//2、模板消息的id

sendTemplateReq.setTemplate_id("小程序启用模板的模板id");//3、formid

sendTemplateReq.setForm_id("小程序传给后台的formid,七天有效");//4、点击模板跳转页面

sendTemplateReq.setPage("");//5、Data,按次序,只能叫keyword1、2、3

DoctorReplyMsgData replyData = newDoctorReplyMsgData();

KeyNote keyword1= newKeyNote();

keyword1.setValue("小程序显示的消息字段1");

replyData.setKeyword1(keyword1);

KeyNote keyword2= newKeyNote();

keyword2.setValue("小程序显示的消息字段2");

replyData.setKeyword2(keyword2);

sendTemplateReq.setData(replyData);//如上...总共五个字段//6、获取token

String token = "token,俩小时有效";//7、模板url拼接上token,最上面的请求的url那样

String url = "TemplateUrl" + "token";//8、请求体转为json

String reqStr=JsonUtil.ModelToGson(sendTemplateReq);//9、发送httpclient请求

String resultStr =httpRequestUtil.doPost(sb.toString(), reqStr);//10、接收返回的消息体:是否成功,成功返回0

SendTemplateResponse sendTemplateResponse = (SendTemplateResponse)JsonUtil.GsonToModel(resultStr,SendTemplateResponse.class);if(sendTemplateResponse.getErrcode() == 0){//"推送成功!"

}

}

1、openid:通过jsCode获取的

2、formid:小程序端传过来的

3、Template_id:小程序设置模板时带的

4、data:对象类型

5、token:调用接口获取token

实现效果:下面要显示五个字段接下来,参照官方文档,一步步实现:一、官方给出请求示例、返回示例二、根据上面编写实体类(1)请求参数@DatapublicclassSendTemplateReq{/***
最近参与开发项目有用到微信模板消息推送,在这离记录一下。1工具类;用于访问WeChatAPI接口;这里工具类使用了静态内部类,且禁止外部使用new创建对象。ps:URL这里用finalstati
不多说,直接上代码实体类SendTemplateMessagepublicclassSendTemplateMessage{privateStringtouser;//接收者(用户)openidp
不多说,直接上代码实体类SendTemplateMessagepublicclassSendTemplateMessage{privateStringtouser;//接收者(用户)openidp
最近需要开发微信和程序推送功能,需要用java后台实现推送,自己本身java程序都做,所以就自己动手实现程序模版推送功能推送实现思路1程序获取用户openid,收集formid传给
程序订阅消息推送(含源码)java实现程序推送,springboot实现微信消息推送发布时间:2020040419:42:47来源:51CTO阅读:704作者:wx5cef8dfc0aa1c前面写
说到程序自动语音播报功能,不得不提到官方一款程序“收款账本”,当收到一笔款后,就能语音提醒。这是在收款程序应用,再举2个例子!▍外卖店家做了一个简单外卖程序,一来尝试互联网线上玩法,扩
接之前微信公众号需求后,现在又需要对接微信小程序实现订阅消息推送功能。我把相关实现逻辑,注意事项总结了一下。一、配置信息微信渠道服务号granttype可共用wechatauthgranttyp
1,拿到用户openid2,获取access_token3,调用程序消息推送接口一,获取用户openid关于openid获取百度一大堆方法,有兴趣可以去查看一下,此处不在赘述。。。。。二
002java实现微信模版消息推送本节知识点1,注册微信公号测试账号2,获取测试账号用户openid3,接入微信推送sdk4,实现微信推送课程中用到网址和文件1,微信官方注册测试账号:https