加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

云开发与WePY,快速实现Linux命令查询小程序

发布时间:2019-04-03 00:56:12 所属栏目:Windows 来源:佚名
导读:副标题#e# 大家好,今天我来为大家分享一下, Linux 命令查询小程序中的 WePY 云开发实践。 Why WePY 首先,先分享一下为什么要选择 WePY ? 在项目开始进行选型的时候,我可选的底层框架有 WePy、MPVue、Taro、MinUI,这些框架都是工程化做得很好的框架,

为了更好的提供服务,我们决定修改产品的模式。一开始我们考虑用户提交翻译,团队进行审核的模式,但是考虑到没有管理端和开发成本的问题。我们决定调整一下模式,改为社区自净化。我们完全开放编辑的能力,任何用户都可以提交数据。同时,也可以在国内实践一个完全由社区维护的应用。

但是,这种任何人都可以提交数据很有可能被人所利用,所以,我们引入了微信小程序官方提供的内容安全接口,来进行文本的安全检测,从而,尽可能的规避一些违法违规内容对小程序的影响。

如果你用这个接口,你就会知道,接口的调用时需要使用 access_token,而微信的 access_token 获取接口既有发起调用的地址限制(不能在小程序中调用),也有接口请求频率的限制(请求过快可能会导致无法获取到 Token),因此,我们决定使用云函数来处理这部分的功能。

我们在云函数内使用 got 这个库来请求微信提供的接口,进行 access_token 的获取,以及内容安全的检测。并且,为了确保 access_token 的请求不会频率过快,所以我们加入了一些代码,来进行 token 的缓存。

  1. const result = await cache.get(); // cache 为对应 collection 的引用
  2. const now = (new Date).valueOf();
  3. const nextTime = now + 5400000;
  4. let accessToken = ''
  5. if (!result.data.length) {
  6. console.log("进入初次获取的流程")
  7.   const result = await got(accessTokenUrl)
  8.  accessToken = JSON.parse(result.body).access_token
  9.  await cache.add({
  10.    data: {
  11.      token: accessToken,
  12.      time: nextTime
  13.    }
  14.  })
  15. } else {
  16.  if (result.data[0].time > now) {
  17.    console.log("已有 token 有效")
  18.    accessToken = result.data[0].token
  19.  } else {
  20.    console.log("已有 token 无效")
  21.    const tokenResult = await got(accessTokenUrl)
  22.    accessToken = JSON.parse(tokenResult.body).access_token
  23.    await cache.doc(result.data[0]._id).update({
  24.      data:{
  25.        token: accessToken,
  26.        time: nextTime
  27.      }
  28.    })
  29.  }
  30. }

通过上述代码,实现了在云数据库中存储一个 token ,并比对其过期时间,如果发现 token 即将过期,就更新 token ,确保可以正常请求。

总结

回顾整个小程序的开发过程,WePY 的便利使得整个开发的过程无比的流畅,云开发的快速迭代的优势,帮助整个应用快速上线。Linux 小程序到正式发布时,总体的开发时长不超过 24 小时!

【编辑推荐】

  1. 在Linux终端下生成随机/强密码的五种方法
  2. Linux运维如何从初级进阶为高级?需要掌握哪些必备技能?
  3. 如何在Linux下监控磁盘IO?
  4. 查看 Linux 系统服务的 5 大方法
  5. 如何在Linux中添加新磁盘
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读