敖丙别给我发消息了,我怕她误会

共 1758字,需浏览 4分钟

 ·

2022-12-06 21:42

经过了几天的奋战,终于把微信服务号的模板消息给写完了。 后端其实没花多少时间,因为之前已经有同学提过 pull request 了,我在这基础之上简单优化下就完事了,主要的时间都是花在前端上,对前端页面和参数的适配比较麻烦。

不多说了,先来看看效果图吧。

52b2764d2ce4b82cc8e87ea0eaf46408.webp

要实现微信服务号的模板消息推送,首先我们得有一个服务号。要值得注意的是,服务号是服务号,订阅号是订阅号。服务号会有单独的聊天框,所以Java3y实际上是一个订阅号。

服务号申请要有企业的资料,而我,是没有的。那我这次是怎么调试的呢?后来经朋友圈提醒,微信是能让我们申请测试号的,相关的API都是能用的,得知了以后,那我不就屁颠屁颠花了几天实现了嘛。

申请测试号链接:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

进入到测试号以后,我们能把自己加入到测试的微信号内,拿到对应的openId

401b7540011b7231c8d6bb757a5203c9.webp

创建几个测试下发的模板;

ad3e0e936b227b6793e346a230ca6415.webp
      
      0reG3uUoUSonh0jGi-8ufj3VheCFlaoXqxBxD-zvswE
  
待处理作业提醒
  
{{first.DATA}} 作业类型:{{keyword1.DATA}} 作业名称:{{keyword2.DATA}} 所属项目:{{keyword3.DATA}} 提交日期:{{keyword4.DATA}} {{remark.DATA}}   

我们还能直接拿到appIDappsecret,这就相当于当前服务号账号的信息。那我要做的就是把这个信息加入到消息推送平台的账号体系下。

31bf47e540d4b5f9d63d0e771ae1c706.webp

在新建模板发送消息的时候,我们就可以选择到这个被加入到账号体系的账户,拿到这个账户下的模板列表,再得到具体模板的详情信息啦,这会有个联动的效果。

5dcca2881d13ff56ed7310e2df8f8a49.webp2d0eb2e5162ffb7f22af42e764b36f83.webp

我这就一个完整的消息模板,来让大家看看,顺便讲讲相关的功能吧。

557df8728ad8bfb558e3423b30e74ecd.webp

保存之后就会跳转到模板的列表页,就能看到刚才所建的模板啦。

8868fd0d4102ad325c2e38389e23e57e.webp

这时候,我们点击测试按钮,就能看到下发的效果:

d7f4618015bf9c881c5348d22797dacf.webp52b2764d2ce4b82cc8e87ea0eaf46408.webp

至于功能实现,我就不在这多说啦。因为消息推送平台的架构已经搭好了,接入消息这个过程没多少工作量,主要是适配整个架构代码的实现就好了。至于做了什么改动,你们看commit就好啦。

几个关键代码入口:

  • 前端交互:com.java3y.austin.web.controller.OfficialAccountController
  • 发送消息:com.java3y.austin.service.api.impl.service.SendServiceImpl#send
  • 真正处理微信服务号模板消息发送:com.java3y.austin.handler.handler.impl.OfficialAccountHandler#handler

如果想学Java项目的,我还是强烈推荐我的开源项目消息推送平台Austin,可以用作毕业设计,可以用作校招,可以看看生产环境是怎么推送消息的。

仓库地址(可点击阅读原文跳转):https://gitee.com/zhongfucheng/austin

我开通了 股东服务 内容,感兴趣可以点击下方看看,主要针对的是项目哟

VIP服务

浏览 49
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报