转自:云开发x https://mp.weixin.qq.com/s/0jhMBBNpD_-lfQLQ0pcBqA
作者: Bestony
此处需要注意的是, 因为云开发的命令本身就支持 Promise 和 Callback ,所以你可以直接使用 wx.cloud 来调用,而不是使用 wepy.cloud 来调用。WePY 官方也没有针对云开发进行再一次的封装。
此处需要注意的是,云函数应当放在小程序的源码目录 src 之外,不然会导致编译报错。我试图寻找 wepy.config.js 的中关于屏蔽编译检查目录的配置项目,但是没有找到,所以我直接将这个目录放在了项目根目录,云函数和小程序源码的 src 同级。
const result = await cache.get(); // cache 为对应 collection 的引用
const now = (new Date).valueOf();
const nextTime = now + 5400000;
let accessToken = ''
if (!result.data.length) {
console.log("进入初次获取的流程")
const result = await got(accessTokenUrl)
accessToken = JSON.parse(result.body).access_token
await cache.add({
data: {
token: accessToken,
time: nextTime
}
})
} else {
if (result.data[0].time > now) {
console.log("已有 token 有效")
accessToken = result.data[0].token
} else {
console.log("已有 token 无效")
const tokenResult = await got(accessTokenUrl)
accessToken = JSON.parse(tokenResult.body).access_token
await cache.doc(result.data[0]._id).update({
data:{
token: accessToken,
time: nextTime
}
})
}
}
欢迎光临 邳州信息网 (https://www.pzxxw.com/) | Powered by Discuz! X3.4 |