程序发送服务通知的实现方式与技巧

GS 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的可用性

图片.png

只需要向上面这个地址请求就可以返回对应的access_token

根据这个接口,写如下方法

图片.png

再设置一个定时器每小时触发一次该接口,之后就可以随意取出肯定能用的token了

图片.png

二、建立消息模板

在小程序微信公众平台的左边栏有一个模板消息的选项卡,只需要按照文档添加一个模板消息,就可以得到对应的对应的模板ID,这一步基本都是网页自行操作,不作更多展示

三、获取form_id

微信为了防止小程序对用户进行过多消息通知,对消息通知进行了一个限制,每发送一条消息通知,就需要一条form_id或者prepay_id

prepay_id是用户在使用微信支付之后返回的Id,本文中不做详解

form_id是与button绑定的Id,每当用户点击绑定过的button就会返回一条form_id,一条form_id的有效期是7天,且每个用户的form_id只能对该用户使用,所以我们需要一个专门的逻辑来保存和使用form_id

图片.png

四、发送消息通知

当access_token和form_id都保证可用之后,就可以给用户发送消息通知了

图片.png

五、设定定时任务

为了保证上述操作都能顺利进行,我们需要设定几个定时任务来帮助消息发送,先假设有几个方法

getToken //每小时更新一次token

delForm_id //每天删除一次6天前的form_id

message //每分钟执行一次发送消息

首先连接上服务器打开定时任务设置

图片.png

设置中的每一行就是一个定时任务,分成3个部分

图片.png

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个定时任务

图片.png

最后,重启一下定时任务

图片.png

以上就是小程序发送服务通知的实现方式与技巧的详细内容!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:获取小程序 unionid 的有效方法及策略
下一篇:微信小程序中 502 所代表的含义及解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~