uniapp开发支付宝小程序订阅消息功能

uniapp开发支付宝小程序订阅消息功能

  • 一、订阅消息模板
  • 二、uniapp中添加相应插件支持
    • 1、manifest.json文件中添加插件支持
    • 2、manifest.json文件中添加插件支持
    • 3、在小程序的插件服务中订阅“订阅消息”服务
  • 三、uniapp前端代码实现
  • 四、后端订阅消息代码实现
  • 五、支付宝订阅消息更新,请阅读此文档

一、订阅消息模板

支付宝消息部分文档链接
支付宝小程序消息部分文档链接
在这里插入图片描述

二、uniapp中添加相应插件支持

支付宝模板消息文档地址

支付宝订阅消息插件文档地址

uniapp开发支付宝小程序订阅消息功能_第1张图片

1、manifest.json文件中添加插件支持

uniapp开发支付宝小程序订阅消息功能_第2张图片

"plugins": { // 使用到的插件
	"subscribeMsg": { // 订阅消息插件
		"version": "*", // 目前只支持设置 * 拉取当前上架最新版本
		"provider": "2021001155639035" // 消息订阅插件 appid
	}
}

2、manifest.json文件中添加插件支持

在需要添加订阅消息功能的页面上,增加组件支持
uniapp开发支付宝小程序订阅消息功能_第3张图片

3、在小程序的插件服务中订阅“订阅消息”服务

uniapp开发支付宝小程序订阅消息功能_第4张图片
在搜索框中搜索,订阅消息
uniapp开发支付宝小程序订阅消息功能_第5张图片
uniapp开发支付宝小程序订阅消息功能_第6张图片
uniapp开发支付宝小程序订阅消息功能_第7张图片

三、uniapp前端代码实现

uniapp开发支付宝小程序订阅消息功能_第8张图片

		
		
		<subscribe-msg />
		
		
	// #ifdef MP-ALIPAY
	// 引入消息模板方法
	const {
		requestSubscribeMessage
	} = requirePlugin('subscribeMsg');
	// #endif
let _this = this
requestSubscribeMessage({
	// 模板id列表,最多3个
	entityIds: _this.aliPayTemplateList,
	// 接收结果的回调方法
	callback(res) {
		console.log('订阅回调', res);
		if (res.success) {
			const successIds = _this.aliPayTemplateList.filter(i => res[i.entityId] === 'accept').map(i =>
				i.entityId);

			// 订阅成功
			my.call('toast', {
				content: `模板${successIds.join(',')}订阅成功`,
				type: 'success'
			});
			
		} else {
			switch (res.errorCode) {
				case 11: {
					my.call('toast', {
						content: '用户未订阅关闭弹窗'
					});
					break;
				}
				default: {
					my.call('toast', {
						content: `ErrorCode: ${res.errorCode}, ErrorMsg: ${res.errorMessage}`
					});
					break;
				}
			}
		}
	}
});

四、后端订阅消息代码实现

AlipayClient alipayClient =newDefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");
AlipayOpenAppMiniTemplatemessageSendRequest request =new AlipayOpenAppMiniTemplatemessageSendRequest();
request.setBizContent("{"+
    "\"to_user_id\":\"2088102122458832\","+//触达消息的支付宝user_id
    //"\"form_id\":\"2017010100000000580012345678\","+// 订阅类型消息不填。
    "\"user_template_id\":\"MDI4YzIxMDE2M2I5YTQzYjUxNWE4MjA4NmU1MTIyYmM=\","+//消息模板id
    "\"page\":\"page/component/index\","+ // 模板消息"进入小程序查看"按钮跳转的小程序页面地址
    "\"data\":\"{\\\"keyword1\\\":{\\\"value\\\":\\\"12:00\\\"},\\\"keyword2\\\":{\\\"value\\\":\\\"20180808\\\"},\\\"keyword3\\\":{\\\"value\\\":\\\"支付宝\\\"}}\""+
"}");
AlipayOpenAppMiniTemplatemessageSendResponse response = alipayClient.execute(request);
if(response.isSuccess()){
    System.out.println("调用成功");
}else{
    System.out.println("调用失败");
}

五、支付宝订阅消息更新,请阅读此文档

支付宝订阅消息开发文档地址

你可能感兴趣的:(uniapp,小程序,java,windows)