1. 获取用户的
2. 获取
3.调用小程序消息推送API
首先,获取用户的
关于用户获取,我写过很多文章,也录过很多视频。如果你还不知道如何获取用户,可以看看我之前的文章,或者看我录的零基础入门小程序的视频:《5小时零基础入门小程序云端开发》。所以这一步不是今天的重点。
我们的订购系统中先前解释的排队功能也已成功存储在我们的数据库中。
二、获得
首先我们来看看它是什么,下面这张图是官方给出的
其实通俗的说就是官方小程序给我们提供的一个证书,如果要调用小程序官方的接口,就必须先获取它,那么我们先来说说如何获取它。
以下是Java代码。
这里我们用到了,这里涉及到一个请求小程序官方接口,所以我们使用内置的来进行网络请求,具体代码如下。
可以看到代码很简单,就是实现了一个get请求,让我们可以轻松的获取到,获取到的返回数据如下图所示。
请求上述代码,返回的数据如下。
当心
关于这个,是有有效期的,我们来看看官方的提示吧。
所以获取的时候要保存到数据库或者本地缓存中,还要记录当前时间,等会用的时候要判断是否超过2个小时,如果超过2个小时就得重新获取,由于这个不是本节的重点,这里只讲解一下原理。
3.发送消息给小程序
通过上面第二步我们已经成功获取到了,现在需要调用官方小程序提供的发送消息的接口,首先阅读官方文档。
以上这些参数都是我们发送消息时需要的,我在之前的文章中也讲过这些参数的定义和设置,不知道的话可以看我之前的文章《借助云开发实现小程序订阅消息与模板消息的推送功能》
这里需要注意的一点是,如果我们要向用户发送消息,必须引导用户进行授权,如下图所示
因为你必须让用户点击“允许”才能推送消息给用户,每次授权只能允许发送一条消息,所以如果你想要发送尽可能多的消息,你就得引导用户授权尽可能多的消息。
推送的Java代码如下
可以看到,我们需要定义用户的模板id,跳转路径,以及模板消息内容。。。
这些都定义好之后,我们就可以提供服务给其他Java代码调用,或者提供一个接口给外部输入,然后推送消息给相应的用户。
我们在浏览器中调用上面的接口,可以看到下图,就说明我们的消息推送成功了。
请注意,我们需要动态获取一些参数,然后将其封装在模板中。
因此,让我们继续改造我们的推送代码
由于我们需要获取一些用户信息,比如桌号、排队开始时间等,如果一个一个的传入的话太麻烦了,所以最简单的方式就是在队列表中获取对应的id。这样我们只需要知道用户当前排队号的id,就可以获取到所有需要的信息。