java实现的小程序_Java实现 微信小程序 + 消息推送
實現效果:
下面要顯示五個字段
接下來,參照官方文檔,一步步實現:
一、官方給出請求示例、返回示例
二、根據上面編寫實體類
(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
總結
以上是生活随笔為你收集整理的java实现的小程序_Java实现 微信小程序 + 消息推送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中俄合作研发 航程超1.2万公里 CR9
- 下一篇: 2022年 我把比亚迪DM-i插混当纯电