云开发还可以这么玩!从红包外卖券薅羊毛说起...
发布于 4 年前 作者 hchen 550 次浏览 来自 分享

前几天,有朋友在群里转发了一个小程序的宣传图,深深的吸引了我...

纳尼???睡后???躺赚???听起来似乎不错....

于是大致了解了一下这种外卖券小程序的整个闭环。

其实各种电商外卖平台都有推荐返佣系统,申请后,可以生成你自己的小程序链接,用户点击后领券,订餐使用优惠券你就可以获得返佣。

小程序呢,其实就简单了,无非是分门别类列出来,用户点击跳转领取就好了。

这样简单的小程序,其实...

我也能干!

撸起袖子,说干就干,2、3天撸完代码,效果也还满意。还加入了一些订阅提醒,企业微信的营销玩法。

首页和管理中心:

部分管理设置截图:

全套云开发,小程序的管理后台、数据设置也直接集成在了小程序中,也不用在单独做一套后台管理系统了。

正所谓一机在手,天下我有。

发到群里,发现感兴趣的朋友还不少,一个个非要我给部署一下玩一玩躺赚。迫于无奈,赶鸭子上架。

这时候新的问题来了,好些人对于小程序实在是不了解,即使我给出源码,他也根本不可能完成设置开发者,ide打开,上传,提审这些工作。

全靠我代处理么?想想就头大......

接下来谈谈几种解决方案:

1 . 第三方服务商代开发

基本上从小程序第三方服务商平台推出的时候,就一直在做这块,也是相当熟悉了。理论上来说,这是最完美的解决方案。现在第三方平台也很完美的支持了云开发代开发,整个链路比较通畅。

第三方服务商代开发的第一版云开发接口,可以实现从开通云开发、创建环境、部署云函数一系列的代完成工作,云环境归属授权方。小程序部分,依然和传统第三方代开发没有区别。对于授权小程序,自己的环境,自己的云函数,更像是一种私密部署的模式。

第三方服务商代开发的第二版(内测中),和现行云开发代开发略有区别,底层走的是云环境共享的思路,代客户开通的云环境,实际是归属到了第三方平台腾讯云下,通过环境共享的模式提供给授权小程序使用。相对于第一版,环境可以集中管理,提供共享类saas服务就更利于集中管控和调配。但是对于环境的计费管理相对第一版会略微复杂。

但是无论哪种模式,对于这个小程序都不太合适。必须要通过第三方api完整的实现一套从授权小程序到代部署、代提交代码到代提审的完整管理流程,这个工作量还是相当不小。

放弃。

2 . 基于tcb cli和tcb framework进行小程序快速复制和部署

这也是这个小项目目前采用的方案。

tcb cli说明文档见:https://docs.cloudbase.net/cli-v1/intro.html#shi-yong

tcb cli 其实就是是云开发(Tencent CloudBase,TCB)开源的命令行界面交互工具,用于帮助用户快速、方便的部署项目,管理云开发资源。

tcb framework说明文档见: https://docs.cloudbase.net/framework/

至于tcb framework,则是基于tcb cli的一套类似扩展框架,依然也是云开发官方出品的云原生一体化部署工具,可以帮助开发者将静态网站、后端服务和小程序等应用,一键部署到云开发 Serverless 架构的云平台上,自动伸缩且无需关心运维,聚焦应用本身,无需关心底层配置和资源。

基于这二者工具,我们有这些基本能力,当然,还有更多:

  1. 初始化应用
  2. 使用framework云数据库插件,创建集合、设置集合权限、索引等
  3. 使用framework登陆权限插件,设置云环境权限
  4. 使用framewrok云函数插件,提交、部署云函数
  5. 使用framewrok小程序插件,预览、上传小程序
  6. 借助 tcb fn invoke命令,手动运行已部署云函数,执行一些必要的操作,如:数据清洗等

至此,一套完整的cli部署框架基本可以定型了,我需要:

  1. 初始化应用,设置环境权限(理论上权限可以通盘用用户登录才可访问,但是一些特殊情况,譬如朋友圈分享,是无法在落地页中执行login的,所以的考虑匿名访问环境的场景)
  2. 初始化数据库集合,初始化必要数据。如果版本升级,需要新的预置数据,则需要考虑db migrate
  3. 自动部署云函数
  4. 自动部署小程序

撸起袖子,说干就干。掏出熟悉的golang来写cli,当然这里也可以使用node来写,配合 commander.js 或者inquireUi.js 做交互式的命令行Cli效果都不错。

对于用户,他只需要提供appid、环境id、小程序上传秘钥,其他的一概可以不用考虑了。

最终效果如图:

a. 选择客户,生成必要配置信息

b. 选择部署模式

c. 熟悉的tcb命令行部署

还等什么,去泡上一杯老干部专属养生枸杞茶,静待部署成功交付吧。

当然,tcb cli和tcbf也有其自身的局限性,譬如一些配置的缺失,譬如对微信链路独有的openapi的支持,这些也都亟待解决。然而,其基于命令行的调用模式也提供了无限可能和想象空间。譬如可以集成到自动化ci工具中,譬如可以结合github actions来玩一些骚操作。

项目演示地址

这些,就留待各位看官自行挖掘了。

最后,这套部署系统总得有个响亮的名字吧。

唔,云开发小程序自动部署系统,Tencent Miniprogram Deploy system。

好吧,就叫它:

TMD

4 回复

非常棒的实践

CloudBase Framework 也出镜了

欢迎大家 Star ⭐️ 支持腾讯云开发云原生一体化部署工具 CloudBase Framework

https://github.com/Tencent/cloudbase-framework

666啊,TMD这就出场了!

想入手一套

回到顶部