
vscode中怎么进行微信小程序的发布(方法详解)
其实 Git命令分为两种
- 高层命令(porcelaincommand
- 底层命令(plumbcommand
常用的命令大家都很熟悉了什么 branch啊,init啊,add啊,commit啊等等。底层命令又是什么鬼,其实所有的高层命令的实质都是会调用底层命令,可以类比为语言层面 JavaC#Js这些高级语言他底层是使用 C或者 C++一个概念。有兴趣请移步
symbolic-ref命令能干嘛呢?
.git/HEA DGit.Core.exec["symbolic-ref","--short","HEA D"],option; git.t中增加基本命令方法
gitServic中实现 getCurrentBranch方法
当我获取到当前分支之后,和我目标分支进行比对如果一致的话直接跳过该步骤,否则就需要对当前分支保管并且切换了
为了方便对于保管和切换我直接用了Gitstash和 checkout命令,并且封装了两个方法。
继续分析下本地构建的基本流程
大致分以下几步
- 自动生成版本号
- 得到当前 AppID微信模板库中版本号情况
- 注入需要发布的小程序 AppID
- 需要修改 src/manifest.json文件中 AppID方便开发工具上传使用
- 运行 uni-app构建命令
- rununiapp命令
- 撤销发布时候的临时文件修改
- 撤销文件修改
能力上来说有那么几个
微信 api调用
文件读取和修改能力
Shel命令执行能力
撤销文件修改能力
首先怎么调用微信的api由于那时候我亲爱的后端同学啃次啃次的已经吧微信 token鉴权的能力已经做掉了所以我直接接后端的微信鉴权能力就可以了但是怎么接又是个问题,虽然人家已经有个 rest接口可以用,但是接口都要登录的啊,让人家为了这个小小的需求弄个匿名的不大现实也不安全,想来想去那就不要用 rest直接调他后面提供的Dobbo服务好了完美。
获取微信 api调用前我需要先得到accessToken
所以我会先用一个公共方法先去获取当前 accessToken然后在去请求微信开发平台 api
如果你后端没有支持微信开发平台的鉴权能力的话就需要自己用 nodej方式去实现了具体的微信开放平台文案请移步
其实微信开放平台 api调用就是正常的http调用即可。
微信提供了一系列方法,对于我这次的场景来说有如下接口
getTemplateList获取模板列表
POSThttps://api.weixin.qq.com/wxa/gettemplatelist?access_token==A CCESS_TOKEN
addtotemplat移动草稿到模板库
POSThttps://api.weixin.qq.com/wxa/gettemplatelist?access_token=A CCESS_TOKEN
deleteTemplat删除指定模板
POSThttps://api.weixin.qq.com/wxa/deletetemplate?access_token=A CCESS_TOKEN
getTemplateDraftList获取草稿箱列表
https://api.weixin.qq.com/wxa/gettemplatedraftlist?access_token=A CCESS_TOKEN
具体的微信开放平台文案请移步
版本号的自动生成主要是通过在点击发布时候通过让用户选择发布的版本为“大版本”功能迭代”还是补丁修复”结合这里提到获取当前模板列表并用 AppID找到当前最近的版本号再做自动计算累加的方式得到这次发布的版本号。
构建小顺序这边就直接沿用 uni-app能力直接做构建。封装了如下方法去构建小程序
其余的功能
- 剩余文件读取就正常使用 fs库的readFileSync方法去读取和修改
- 撤销修改文件则是通过调用 Gitcheckout命令的能力去做,也是要使用上一章节的Git基本能力调用
build完成了怎么上传呢?微信小顺序这块还是需要借助微信开发工具的能力来上传
首选我要先检查开发者工具设置:需要在开发者工具的设置 ->平安设置中开启服务端口这样我才干直接唤起开发者然后做些我要做的事情。
再者我需要知道微信开发者工具的执行文件地址。正常来说 Mac地址
/A pplications/wechatwebdevtools.app/Contents/MacOS/cli
最后通过我以前提供的Shell命令能力去执行就搞定了不是很简单。也封装了miniProgram.t来做这个事情
其余的功能
- 移动到模板库和安排预览版直接调用微信开放平台 api即可
效果预览图:
至此整个小程序部署的Vscode插件中实现的几个关键的技术点已经逐一做了简要的说明,大家会不会觉得其实看下来不难,就是涉及的东西会比较多。其实还有其他诸如整个构建流程方法如何可视化,Vscode插件里面的一些基础的能力等等在本文都没有详细提及。欢迎大家留言或者提问把自己想要知道的问题反馈给我也方便我可以针对大家的问题再去做一篇更棒的关于 Vscode插件开发的文章。
其实 Vscode插件在整个开发提效场景中只是当中的一个环节,会以敦煌工作台为核心底座搭配 Chrome插件,Vscode插件,zoo-cli形成一个开发提效的百宝箱。Vscode插件更多的想给开发者们带来沉溺式开发体验。
更多编程相关知识,请访问:编程视频!


