微信小程序订阅消息(java后端实现)

订阅消息说明

订阅消息是微信近期新出的一个能力,用来代替原有的模板消息(原有的模板消息即将下线)
订阅消息的功能较模板消息有所提升,"7天"的限制取消,同时有"一次性"和"永久"订阅.(功能上是这样说的,但是实际开发时发现"永久"订阅还是对小程序的服务类目有要求的,客户的小程序只支持"一次性"订阅)

官方通道:
小程序前端:点击进入
小程序服务端:点击进入

开发思路

用户在小程序内触发按钮或进行支付操作时前端调用订阅消息授权框,默认一次授权只能发送一次订阅消息
如果用户勾选"下次自动授权",下次将不再弹出授权框->点击按钮直接拥有一次发送订阅消息的机会,此处不需要模板消息的"formId",较之前更简单
经过测试,如果在小程序上多次点击触发授权的按钮,发送订阅消息的机会可以累加!!!
(如,1分钟内点击了10次按钮,后面将拥有10次发送订阅消息的机会,什么时候发都可以)

代码实现(仅java后端)

实体类部分

1.TemplateParam.java

public class TemplateParam {  

private String key;  
private String value;  

public TemplateParam(String key,String value){  
    this.key=key;  
    this.value=value;  
}  
public String getValue() {  
    return value;  
}  
public void setValue(String value) {  
    this.value = value;  
}
public String getKey() {
	return key;
}
public void setKey(String key) {
	this.key = key;
}  

}

2.Template.java

import java.util.List;

public class Template {  
	  
private String touser;  
private String template_id;  
private String page;
private List<TemplateParam> templateParamList;  


public String getTouser() {
	return touser;
}

public void setTouser(String touser) {
	this.touser = touser;
}

public String getTemplate_id() {
	return template_id;
}

public void setTemplate_id(String template_id) {
	this.template_id = template_id;
}

public String getPage() {
	return page;
}

public void setPage(String page) {
	this.page = page;
}



public String toJSON() {  
    StringBuffer buffer = new StringBuffer();  
    buffer.append("{");  
    buffer.append(String.format("\"touser\":\"%s\"", this.touser)).append(",");  
    buffer.append(String.format("\"template_id\":\"%s\"", this.template_id)).append(",");  
    buffer.append(String.format("\"page\":\"%s\"", this.page)).append(","); 
    buffer.append("\"data\":{");  
    TemplateParam param = null;  
    for (int i = 0; i < this.templateParamList.size(); i++) {  
         param = templateParamList.get(i);  
        // 判断是否追加逗号  
        if (i < this.templateParamList.size() - 1){  
            buffer.append(String.format("\"%s\": {\"value\":\"%s\"},", param.getKey(), param.getValue()));  
        }else{  
            buffer.append(String.format("\"%s\": {\"value\":\"%s\"}", param.getKey(), param.getValue()));  
        }  
    }  
    buffer.append("}");  
    buffer.append("}");  
    return buffer.toString();  
    }  

public List<TemplateParam> getTemplateParamList() {  
    return templateParamList;  
}  

public void setTemplateParamList(List<TemplateP
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值