uniapp开发微信小程序订阅消息
微信小程序订阅消息
一、小程序订阅模板准备
1.1、获取模板id及模板字段名称
注意点: 消息字段的类型是有校验的,充电度数是number类型,则传入的string中不能使用0.00度。则会报错。
二、Java服务端代码
2.1、编写消息模板配置文件
用于保存消息的id和pages
2.2、编写订阅消息请求对象
2.3、编写充电开始订阅消息模板对象
2.2.1、DataEntry
package com.nis.charge.domain.dto.subscribeMsg.model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author 朱潘栋
* @Data 15:28 2021/8/20
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class DataEntry implements Serializable {
private static final long serialVersionUID = 7946471752462379765L;
private String value;
}
2.2.2、ChargeStartModel
2.4、编写发送接口
/**
* 发送充电开始订阅消息
*
* @return
*/
@Override
public boolean sendChargeStartMsg(String openId, String orderId, String createTime, String placeName, String equipCode, String portName) {
boolean sendSuccess = false;
String accessToken = iWechatService.getAccessToken();
ChargeStartModel startCharge = ChargeStartModel.builder().character_string11(DataEntry.builder().value(orderId).build())
.time2(DataEntry.builder().value(createTime).build())
.thing5(DataEntry.builder().value(placeName).build())
.character_string6(DataEntry.builder().value(equipCode).build())
.thing7(DataEntry.builder().value(portName).build()).build();
WechatMiniMsgParams wechatMiniMsgParams = WechatMiniMsgParams.builder()
.touser(openId).template_id(WechatMsgTempConfig.START_CHARGE.getTempId()).page(WechatMsgTempConfig.START_CHARGE.getPage())
.data(startCharge).build();
JSONObject jsonResult = restTemplate.postForObject(WechatConstant.SEND_SUBSCRIBE_URL + "?access_token=" + accessToken, wechatMiniMsgParams, JSONObject.class);
log.info("充电开始推送消息返回参数:{}", JSON.toJSONString(jsonResult));
Integer errorCode = jsonResult.getInteger("errcode");
String errorMessage = jsonResult.getString("errmsg");
if (errorCode == 0) {
sendSuccess = true;
log.info("充电开始推送消息发送成功");
} else {
log.info("充电开始推送消息发送失败,errcode:{},errorMessage:{}", errorCode, errorMessage);
}
return sendSuccess;
}
三、uniapp代码
uni.requestSubscribeMessage({
tmplIds: [76-w0HT6wfZVP0F8DtVNuGyOWWMALAmQHPgBBgcQUgY],
complete(res) {
// 调用支付接口
_this.wechatPay(chargeData)
}
})
四、测试
上一篇:
uniapp开发微信小程序-2.页面制作
下一篇:
微信小程序返回上一页各种方法
