日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

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

發(fā)布時(shí)間:2023/12/15 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实现的小程序_Java实现 微信小程序 + 消息推送 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

實(shí)現(xiàn)效果:

下面要顯示五個(gè)字段

接下來(lái),參照官方文檔,一步步實(shí)現(xiàn):

一、官方給出請(qǐng)求示例、返回示例

二、根據(jù)上面編寫(xiě)實(shí)體類(lèi)

(1)請(qǐng)求參數(shù)

@Data

public class SendTemplateReq {

/**

* 接收者(用戶(hù))的 openid

*/

private String touser;

/**

* 所需下發(fā)的模板消息的id

*/

private String template_id;

/**

* 點(diǎn)擊模板卡片后的跳轉(zhuǎn)頁(yè)面,僅限本小程序內(nèi)的頁(yè)面。支持帶參數(shù),(示例index?foo=bar)。

* 該字段不填則模板無(wú)跳轉(zhuǎn)。

*/

private String page;

/**

* 表單提交場(chǎng)景下,為 submit 事件帶上的 formId;支付場(chǎng)景下,為本次支付的 prepay_id

*/

private String form_id;

/**

* 模板內(nèi)容

* 不填則下發(fā)空模板。具體格式請(qǐng)參考示例。

*/

private DoctorReplyMsgData data;

/**

* 模板需要放大的關(guān)鍵詞

* 不填則默認(rèn)無(wú)放大

*/

private String emphasis_keyword;

}

(2)請(qǐng)求參數(shù)中的data,如實(shí)現(xiàn)效果所示,這是在小程序顯示的五個(gè)字段.

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

@Data

public class DoctorReplyMsgData {

private KeyNote keyword1;

private KeyNote keyword2;

private KeyNote keyword3;

private KeyNote keyword4;

private KeyNote keyword5;

}

(3)上面五個(gè)字段對(duì)應(yīng)的值(data是對(duì)象,所以需要這樣)

@Data

public class KeyNote {

private String value;

}

(4)請(qǐng)求后,微信返回的消息體

@Data

public classSendTemplateResponse {

/**

* 錯(cuò)誤碼

* 0 ok

* 40037 template_id不正確

* 41028 form_id不正確,或者過(guò)期

* 41029 form_id已被使用

* 41030 page不正確

* 45009 接口調(diào)用超過(guò)限額(目前默認(rèn)每個(gè)帳號(hào)日調(diào)用限額為100萬(wàn))

*/

private interrcode;

/**

* 錯(cuò)誤信息

*/

privateString errmsg;

}

三、實(shí)現(xiàn)代碼

public voidsendTemplate() {

SendTemplateReq sendTemplateReq= newSendTemplateReq();//1、用戶(hù)的 openid

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

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

sendTemplateReq.setForm_id("小程序傳給后臺(tái)的formid,七天有效");//4、點(diǎn)擊模板跳轉(zhuǎn)頁(yè)面

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);//如上...總共五個(gè)字段//6、獲取token

String token = "token,倆小時(shí)有效";//7、模板url拼接上token,最上面的請(qǐng)求的url那樣

String url = "TemplateUrl" + "token";//8、請(qǐng)求體轉(zhuǎn)為json

String reqStr=JsonUtil.ModelToGson(sendTemplateReq);//9、發(fā)送httpclient請(qǐng)求

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

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

}

}

1、openid:通過(guò)jsCode獲取的

2、formid:小程序端傳過(guò)來(lái)的

3、Template_id:小程序設(shè)置模板時(shí)帶的

4、data:對(duì)象類(lèi)型

5、token:調(diào)用接口獲取token

總結(jié)

以上是生活随笔為你收集整理的java实现的小程序_Java实现 微信小程序 + 消息推送的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。