洞察探索如何利用兼容微信生态的小程序容器,实现跨平台开发,助力金融和车联网行业的数字化转型。
302
2024-07-16
如何实现小程序发送服务通知?
小程序给用户发送消息需要比较多的验证,刚刚遇到这个需求可能会花较长时间研究测试,所以从基础整理了一整套发送消息的逻辑,为以后开发消息通知功能提供思路,减少学习时间
发送模板消息主要有以下几个部分
一、获取access_token二、建立消息模板三、获取form_id四、发送消息通知五、设定定时任务一、获取access_token
向微信请求发送消息时,会需要到access_token,access_token相当于是小程序的身份证,虽然有appid和appsecret这2个证明,但是微信为了保证安全性,就用了access_token这个有时效的身份证明来验证,一条access_token只有2小时有效期,而且单个小程序1天只能请求1000次access_token,所以我们需要一套逻辑来保证access_token的可用性
只需要向上面这个地址请求就可以返回对应的access_token
根据这个接口,写如下方法
再设置一个定时器每小时触发一次该接口,之后就可以随意取出肯定能用的token了
二、建立消息模板
在小程序微信公众平台的左边栏有一个模板消息的选项卡,只需要按照文档添加一个模板消息,就可以得到对应的对应的模板ID,这一步基本都是网页自行操作,不作更多展示
三、获取form_id
微信为了防止小程序对用户进行过多消息通知,对消息通知进行了一个限制,每发送一条消息通知,就需要一条form_id或者prepay_id
prepay_id是用户在使用微信支付之后返回的Id,本文中不做详解
form_id是与button绑定的Id,每当用户点击绑定过的button就会返回一条form_id,一条form_id的有效期是7天,且每个用户的form_id只能对该用户使用,所以我们需要一个专门的逻辑来保存和使用form_id
四、发送消息通知
当access_token和form_id都保证可用之后,就可以给用户发送消息通知了
五、设定定时任务
为了保证上述操作都能顺利进行,我们需要设定几个定时任务来帮助消息发送,先假设有几个方法
getToken //每小时更新一次token
delForm_id //每天删除一次6天前的form_id
message //每分钟执行一次发送消息
首先连接上服务器打开定时任务设置
设置中的每一行就是一个定时任务,分成3个部分
2./usr/bin/php
这是php执行文件的路径,如果cd到该路径,给出php执行文件路径就会执行php文件,可以用来测试php文件是否可以设置定时任务
注意,这个路径只是一个快捷方式,真正的php执行文件在/usr/local/php/bin/php或者/usr/local/php(版本号)/bin/php,如果在bin下没有创建快捷方式请自行创建
3./项目路径/执行文件
这是需要执行的php文件路径,如果写的是原生php,直接指到该文件即可,如果是用thinkphp框架写的,那需要指到根目录或者public目录下的index.php,后边跟上/模块/控制器/方法
知道这3点我们就可以写出上述3个定时任务
最后,重启一下定时任务
以上就是小程序发送服务通知的实现方式与技巧的详细内容!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~