如何更换订阅消息通知
如何在CrmebJava项目中更换自己的订阅消息通知
1.首先,看看CrmebJava项目中的订阅消息通知内容在什么地方
平台后台-设置-消息通知
这个部分的内容主要涉及eb_system_notification、eb_template_message两张表
其中eb_system_notification存储所有的消息管理,如上图
eb_template_message中存储,微信相关的公众号模板消息、小程序订阅消息的详细内容
2.看看项目在代码中是如何发送小程序订阅消息的
TemplateMessageService类pushMiniTemplateMessage()方法
可以看到方法主要接收了3个参数,
templateId — 模板ID
temMap — 需要发送的内容
openId — 微信用户唯一标识
在项目中每一个发送微信小程序订阅通知的地方都需要调用这个方法,这个方法中templateId、openId都是从微信中获取的,只有temMap是需要我们自己组装的。
上图是支付成功后发送订阅消息的代码,它展示了如何组装一个temMap。
这其中map对象中的key是如何来的呢?这个时候就可以看下我们订阅消息中的模板内容
可以看到模板内容中{{}}中包含的就是Map对象中的key值。
3.微信后台创建我的模板
3.1 在微信小程序后台进入订阅消息管理,位置如图所示
3.2 添加新的模板消息
在公共模板库中选择想要的模板,选用它
然后会,进入模板消息构建页,选择关键词
左边是展示效果,右边是关键词的选择,关键词有数量限制,已选择的关键词可以上下拖动,调整展示顺序。
提交之后,新的消息模板就创建好了,可以在我的模板中看到它,一般是最上边一个
这就是我刚才创建的消息模板。
4.更换项目中的订阅消息
4.1更新数据表数据
根据我们刚才创建的是一个支付成功的模板,这个时候我们先在eb_system_notification表中找到对应的数据
其中routine_id,就是eb_template_message表中对应的id
我们替换eb_template_message表中的
temp_key-模板编号
content-内容
temp_id-模板ID
这些在上边我的模板-模板详情截图中都可以找到对应内容。
4.2更新发送订阅消息的代码
这里要更新的代码就是组装temMap部分的代码,按模板-模板详情截图中的内容,我们替换代码如下
这其中,根据内容不同的含义,我们需要在更新Map中key的同时,根据key更新value的值,如上图红框中的最后一行。
到这里我们就更换了项目中的一个订阅模板消息,之后只要重新打包、发布项目就可以使用了。