首先我举例说明 获取这个干吗用的
在微信小程序开发文档中的服务端接口中 有很多需要tonken 比如:
还有调用图片和内容是否违规的接口
等等 这些都需要用到token,但是你获取过token 你就会知道,他得到的是这样的一个json格式的 字段
{"access_token":"29_YRzxPk9VeB7li4xKkXCmdsWtbAvbP3Ob1yOq1-VqvDvbqZLBBznGjvylvbqE4LvKC4EUuPm3wPAGN3lWbtg7vvRtWCqhCrbmorTwZKs4U3Uy6FvatV3og5XVEMh4oKcjsxsuILgGwEF0axsmCXIbAHAHCN","expires_in":7200}
有个expires_in 字段 这个就是token 的有效期 你俩个小时后再吧这个token往人家微信服务端传 就会报错
关于token定时刷新的功能网上有很多 说的很高端 要用中间服务器、要用缓存机制等等,其实呢,不用那么复杂
下面我们用Redis超轻量级的数据库结合java进行token的实时刷新 保证调用的时候不会调用出失效的token
关于Redis下载安装 如果不懂的同学可以问我(wx:xiaopeng550580)
安装完毕后 我们开始使用他,Redis最重要的一个功能就是可以设置key 的有效时间,如果到时间他会自动删除掉这个key,这是符合我们逻辑 的一个功能,下面写代码:
Redis驱动依懒:<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
我们先进行查询 看aa 也就是token 在没在Redis数据库中,
然后进行判断
这样写出了思路就很明确了:
1. 我调用后台接口先去Redis获取token,如果获取到了 我直接返回,
2.如果没有获取到 就证明key值已过期,就去重新调用微信的获取token接口进行获取,
3.获取到token后 进行josn解析,然后存储到Redis中 js.set 参数照着我这样传就好了,
4.这样就能实现对token 的管理,我们在需要用到token 的地方 直接调用这个方法 就可以得到新鲜出炉不过期的token 了
如环节中有不懂的 可以咨询我 (wx:xiaopeng550580)