起因

最近一直在做微信小游戏的开发,但是因为包体限制,写了一些自动化脚本,每次都要跑一遍,刚好微信平台的云开发支持了http上传包体,以及http访问等功能,索性做成语音发布

环境

这里介绍的发布环境依靠iOS的捷径运行在Mac下编写的Shell 文件,且在同一个网段下

前期准备

Cocos 命令行工具

命令行文档

需要自行填写项目路径

/Applications/CocosCreator.app/Contents/MacOS/CocosCreator --path projectPath
--build "platform=wechatgame;debug=false"

微信IDE 命令行工具

命令行文档

这里路径需要注意,之前因为写成了win下的路径格式导致project.config.json 文件一直找不到

cli -u 1.0.0@/Users/username/demo --upload-desc 'initial release'

自动发送微信

git仓库

该工具原作者已经删库了,之前看了好几个可以自动发微信消息的工具,但是都不是很适用现在的情况。
有些py工具每次运行都需要扫二维码,而且和Mac下的微信登录是冲突的

该工具支持Alfred 发送微信消息,在查看里面的py源码后发现,作者通过get 和 post请求本地服务实现发送微信消息,所以这样就很简单了

curl -d "userId=$USERID&content=$CONTENT&srvId=0" http://127.0.0.1:52700/wechat-plugin/send-message

微信云服务文件http上传

文档

在推出这个工具前,我们放在CDN上的文件都是手动拖拽上传的… 再加上工具本身不支持文件夹拖拽上传… 极其恶心

先获得微信下发的access_token,然后调用上传的接口,这里用到了jq的解析工具,需要自行安装

tokenResponse=`curl -s "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$APPID&secret=$APPSECRET" | jq '.access_token' | tr -d '"'`

uploadAuth=`curl -s -d '{"env":"'$ENV'", "path":"'$SERVERFILEPATH'"}'  "https://api.weixin.qq.com/tcb/uploadfile?access_token=$tokenResponse"`

url=`echo $uploadAuth | jq '.url' | tr -d '"'`
token=`echo $uploadAuth | jq '.token' | tr -d '"'`
authorization=`echo $uploadAuth | jq '.authorization' | tr -d '"'`
file_id=`echo $uploadAuth | jq '.file_id' | tr -d '"'`
cos_file_id=`echo $uploadAuth | jq '.cos_file_id' | tr -d '"'`


uploadRequest=`curl -v -F key=$SERVERFILEPATH -F Signature=$authorization -F x-cos-security-token=$token -F x-cos-meta-fileid=$cos_file_id -F file=@$FILEPATH  $url`

echo $uploadfile

命令行工具编写

部分可参考之前的文章

我们将整个编译过程写成一个shell文件,版本号管理我用的是自增值,每次打包都会加一,如果多人开发再增加git相关的脚本即可

iOS捷径集成

没有捷径可以去App Stroe 搜索捷径

Mac 下共享设置

需要在设置->共享中打开如下设置

不使用ip访问是因为,如果你的路由是DHCP,有可能电脑每次ip都不一致,每次都要调整捷径访问的ip

捷径编写

新建捷径,在ssh工具下填写电脑的主机名、用户及密码

需要source一下配置,我的配置都写在.zshrc中,不然会找不到PATH,然后运行上面写好的脚本即可

-w300

设置语音为发布版本

-w300


What doesn’t kill you makes you stronger.