saas系统下使用uni-app下微信小程序自动化部署

社区新零售
描述:使用uni-cli搭配微信miniprogram-cli实现小程序自动化打包上

当下私域流量盛行,每个商家都在试图拥有自己的用户体系,方便自己分析数据和针对性的做营销策略。

这就催生了越来越多系统都在saas化,类似我们新零售平台--悦邻精选。

不过对开发来说,最痛苦的事无异于一遍一遍重复的干着同一遍机械化的流程。

又巧又无奈,saas化的客户端就是难以躲避的坎。尤其是在每次有大量新增客户后的发版过程,简直就是在锻炼你的意志。在几个月之前,这个事情也曾深深的困扰着我们团队。每次发版都如做噩梦一般,每周的新增客户都要手动发版小程序,配置文件变得无限庞大难以维护,来回切换文件繁琐又易错,顺利的话半夜发完算是好的了。

最怕的莫过于折腾半天发上去发现少注释了一行代码,我了个去呦,重新改配置--build--上传,尤其是uni的build过程,短则小一分钟,长则两三分钟,总之就是干等,你看着它慢慢悠悠,心里那个难过啊。


废话到此为止,如果你用的是uni,如果你也早遭受每次发版要发N个小程序,各种pages,manifest重命名--然后漫长的build和上传的蹂躏。

大兄弟,看下去,I can help you!

第一步:@dcloudio/uni-xxx全家桶替你打包

这个是decloud官方开发的一套自动化打包小程序源码的脚本,里面集成了挺多不错的API。

实际上你在本地通过HBuilderX打开项目点击发行后执行的一套流程也就是使用的cli的API。使用步骤挺简单,官方有文档。项目目录大概张这个样子,是个很传统的小node服务,src下为uni源码,当然npm包中也加载了uni打包的cli。

照着官方文档集成使用时需要注意两点:

1.HBuilderX创建的项目无法直接放到cli项目的src下,需要修改部分配置

2.cli的代码的git一定要和src目录下的代码的git分开管理,因为你后面每次发版都要在src下执行git拉取

https://developer.aliyun.com/mirror/npm/package/@dcloudio/vue-cli-plugin-uni这个是plugin的传送门,项目在阿里云上。

第二步:本地配置通过node服务读取后写入文件

由于saas化的每个每个项目配置都不同,所以在项目开发时就把所有配置集中到某个文件,然后在提交时直接忽略这个文件,然后在这个node服务里生成一个模版文件。

模版文件内可以是一些标记代码,最后再通过node启动的服务代码里,根据传过来的saas化部署的参数和配置,来修改这些标记为对应的saas化配置,

这里可以单独讲一下uni的pages.json文件。

这个文件因为本身就是一个json对象,所以可以通过读取文件后序列化的手段,来将文件配置转化为js的Object,然后再操纵对应的配置就会非常easy。通过这种方式来生成pages.json然后打包的方式对saas化部署的同学来说不能再爽了,建议大家一定要试一试。下面帖一些转换文件代码做例子,这些其实网上也可以搜到的。


第三步:生成配置后通过node-cmd打包生成源码


按照大爷思想,代码如下。(其实这个比较简答,我就不介绍了,自己看备注吧)


最后一步:使用miniprogram-ci上传项目

事先准备:对应客户微信公众平台账户下

1.关闭白名单

2.private.key

3.其他相关配置appid和secret

微信小程序这个工具是微信开发维护,方便大家做自动化(偷懒)的工具。通过密钥和appid和secret初始化小程序项目后就可以调用api做上传和其他基础操作。

传送门:https://developers.weixin.qq.com/miniprogram/dev/devtools/ci.html

上传代码示例:


上传过程如图

等上传完毕后你就可以在该用户的开放平台的看到“机器人”上传的项目了。

对了,以上所有操作都需要你有机的集成到你的管理后台里面去哦~

汇报完毕!希望对你有一丝丝帮助把。


相关推荐: