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

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

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

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

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

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

我也能干!

撸起袖子,说干就干,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

云开发还可以这么玩!从红包外卖优惠券薅羊毛说起...相关推荐

  1. 前端开发还可以这么玩?元数据实践分享

    摘要:元数据是业务流中前端和业务侧实现共同使用的一种规范,是沟通前后端的桥梁,其通过统一的数据格式进行约束,从而约定前后端传参.使用元数据,大幅提升了开发效率,又降低了维护及二次开发成本. 1 ROM ...

  2. coupons:美团饿了吗吗外卖红包外卖优惠券,先领红包再下单。外卖红包优惠券,cps分割,别人领红包下单,你拿佣金-源码

    外卖cps带分销返利源码 源代码地址 http://www.mybei.cn 搭建步骤 下载以上源代码到本地 http://www.mybei.cn 成品展示 截图 步骤 下载以上源代码到本地 htt ...

  3. 一个比印象笔记还好用的软件,引发的薅羊毛教程

    阅读文本大概需要 13 分钟. 大家好,我是痴海,一名正在学数据分析的爬虫师. 我平时的兴趣爱好是浏览各类信息,前些天搜索一些资料的时候,无意间发现一款比印象笔记还好用的个人知识管理软件「notion ...

  4. 腾讯云TVP专家眼中的云开发:尚不完美,未来可期

    引言 C++之父 Bjarne曾说,"世界上只有两种编程语言,一种被人骂,一种没人用".这句玩笑话道出了软件开发行业的真谛,不怕被人吐槽,就怕没人吐槽.如果以今天的眼光去审视那些成 ...

  5. 从小程序到小程序云开发

    点击观看大咖分享 小程序云开发为微信小程序开发者提供云到端的一站式解决方案,帮助开发者统一构建和管理资源,能有效降低技术门槛.减少研发成本.提升开发效率,协助开发者快速搭建稳定高质量的微信小程序应用. ...

  6. dev 命令行参数调用_云开发·云调用生成小程序码

    小程序云开发已经支持云调用,开放了很多接口,一直想要的获取小程序码也支持了.这下轻量的小程序也可以有自定义小程序码的功能. 1. 需求 获得一个带参数的小程序码,传播出去以后,用户扫码进入指定页面,根 ...

  7. 用小程序·云开发两天搭建mini论坛丨实战

    笔者最近涉猎了小程序相关的知识,于是利用周末时间开发了一款类似于同事的小程序,深度体验了小程序云开发模式提供的云函数.数据库.存储三大能力.关于云开发,可参考文档:小程序·云开发. 个人感觉云开发带来 ...

  8. 单点服务器微信公众号,腾讯云联合微信降低开发门槛 微信生态从单点云开发到全面云开发...

    本报记者 许洁 11月29日,由腾讯云与微信联合主办的第二届"小程序·云开发"技术峰会在京召开.来自腾讯的数据显示,云开发的注册用户数已达56万,较去年同期增长1.5倍,服务超过1 ...

  9. 关于微信小程序云开发以及云开发实例展示

    本文分享给使用微信云开发的同学 序言 首先,云开发是一种趋势,因为跨平台解决方案可以提高开发效率,减少开发成本.使用云开发,开发者无需关注服务器.网络和数据库等底层技术,可以专注于业务逻辑的开发,从而 ...

最新文章

  1. anaconda降级python失败_如何降级Python版本安装spyder?
  2. 页面嵌套除了iframe还能用什么方法_CTF|有关CSP绕过的方法
  3. mysql 死锁原因_Mysql并发时经典常见的死锁原因及解决方法
  4. 用python爬取网页数据并存入数据库中源代码_Python爬取51cto数据并存入MySQL方法详解...
  5. GDI C++ 位图的绘制
  6. 高等学校计算机科学与技术教材:tcp/ip网络编程技术基础,TCP/IP网络编程技术基础...
  7. 深度学习loss值变为0_利用TensorFlow2.0为胆固醇、血脂、血压数据构建时序深度学习模型(python源代码)...
  8. [转] GCC 中的编译器堆栈保护技术
  9. Python3.2官方文档翻译--迭代器
  10. 阿里架构师的工作总结:Spring Cloud在架构演进中起到的作用
  11. 手动编译安装lanmp centos6.5 64位
  12. 商品订单打印模板html,【EXCEL】如何制作订单单据查询与打印模板?
  13. 计算机图形学设计线宽代码,计算机图形学画圆并改变线宽.pdf
  14. 多级放大电路的耦合方式
  15. VS2019怎么没有C++的窗体应用模板_砖混结构模板技术交底
  16. mysql让其他机器访问_mysql设置允许其它机器连接
  17. 浅学 ------ 爬虫(一)
  18. [C语言]c语言之strcmp
  19. 流言粉碎机:JAVA使用 try catch会影响性能
  20. 文本域 自定义下拉框 支持模糊检索 关键字高亮 上下选择

热门文章

  1. 实现图片抽奖(可加入暗箱操作)全部代码,年会超实用!!!
  2. iPhone 12全系四款曝光:售价、内存有惊喜
  3. Java笔记09——类和对象
  4. (转)从程序员角度看ELF-译文
  5. linux看目录容量,linux查看目录的大小(占用量)
  6. 个人邮寄进境物品征税 海外代购面临挑战
  7. 杭电1873题 看病要排队
  8. 【C++---10】有参宏,无参宏,宏的优缺点
  9. 面部表情捕捉主要应用场景有哪些?
  10. 翻译2:Journal of Financial Economics