微信小程序消息订阅

登录微信公众平台

在这里插入图片描述
选择合适的模板。复制”模板ID“

实现

1.引进依赖

 <dependency>
        <groupId>com.github.binarywang</groupId>
        <artifactId>weixin-java-miniapp</artifactId>
        <version>4.0.8.B</version>
    </dependency>

2.准备推送的数据
模板ID、要推送的内容、推给谁【openid】、查看详情【详情页面】
在这里插入图片描述
准备推荐语录和推荐理由。按照红框中提示的属性赋值

3.注入WxMaService

	@Autowired
	WxMaService wxMaService;

4.java代码实现

Map<String, String> map = new HashMap<>();
map.put("thing1", "这是推荐语录");
map.put("thing2", "这是推荐理由");

WxMaSubscribeMessage wxMaSubscribeMessage = WxMaSubscribeMessage.builder()
				.toUser("填openid")
				.templateId("填模板ID")
				.page("填要跳转的详情页面")
				.build();
// 设置将推送的消息
map.forEach( (k,v)-> { wxMaSubscribeMessage.addData(new WxMaSubscribeMessage.MsgData(k, v));} );
	try {
		wxMaService.getMsgService().sendSubscribeMsg(wxMaSubscribeMessage);
	} catch (WxErrorException e) {
		e.printStackTrace();
	}

注意:移动端必须订阅才可以

function subscribeMessage() {
	// 调用订阅
	return new Promise((resolve) => {
		uni.requestSubscribeMessage({
			tmplIds: ['此处填模板ID'],
			success(res) {
				resolve(res)
			},
			fail(error) {
				resolve(error)
			}
		})
	})
}
### Spring Boot 整合微信小程序消息订阅实现方案 #### 配置依赖项 为了使Spring Boot应用能够处理来自微信服务器的请求并发送订阅消息,需引入必要的依赖库。通常情况下会涉及到HTTP客户端用于发起网络请求给微信公众平台API。 ```xml <dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-miniapp</artifactId> <version>LATEST_VERSION</version> </dependency> ``` 此段代码展示了如何在`pom.xml`文件里添加对于微信Java SDK的支持[^3]。 #### 获取用户的OpenID 当用户首次访问小程序时,应该引导其完成授权流程从而获得登录凭证code,并利用该code换取用户的唯一标识符即OpenID。这一步骤至关重要因为后续所有的个性化操作都需要基于这个身份来进行关联。 ```java // 假设已经获得了临时登陆票据 code String openid = wxMaService.getUserService().getUserInfo(sessionKey, encryptedData, iv).getOpenId(); ``` 上述方法演示了怎样借助于已有的session_key解密由前端传递过来的数据包来取得open ID[^4]。 #### 发送订阅消息 一旦拥有了合法有效的OpenID之后,则可以根据业务逻辑向特定用户推送定制化的通知信息。需要注意的是,在正式发出任何一条订阅性质的信息前,务必确认目标受众确实同意接收此类内容;另外还要注意设置好相应的模板参数以便让最终呈现形式更加贴近预期效果。 ```java WxMaSubscribeMessage message = WxMaSubscribeMessage.builder() .touser(openid) .templateId(templateId) .page(pagePath) .data(Collections.singletonMap("thing1", new WxMaTemplateData("value"))) .build(); wxMaService.getMsgService().sendSubscribeMessage(message); ``` 这里给出了一个简单的例子说明构建和传送带有指定页面链接以及动态填充字段的消息对象的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值