最近接到的需求,将一套uniapp代码分别部署到多个不同的小程序,一个个更换appid打包上传到微信公众平台耗时且容易出错,于是便写了脚本自动替换appid并上传到微信公众平台。
安装Hbuilder命令行环境
参考官方文档: hx.dcloud.net.cn/cli/README
shell脚本
#!/bin/bash
# 小程序名称数组
appNameList=('小程序名称1' '小程序名称2' '小程序名称3');
# 小程序appId数组
appIdList=(
'wx1qqqq11123333322'
'wx1qqqq11123333333'
'wx1qqqq11123333344'
);
# 小程序上传文件秘钥本地地址数组,这里用的是绝对路径
secretFileUrl=(
'/Users/test/private.wx1qqqq11123333322.key'
'/Users/test/private.wx1qqqq11123333333.key'
'/Users/test/private.wx1qqqq11123333344.key'
);
# 数组长度
length=${#appIdList[@]}
# 循环替换appId并打包上传文件
for ((i = 0; i < length; ++i));
do
echo "${appNameList[i]}小程序配置文件开始替换...";
# 这里查找"appId": "wx.*" 替换为当前的appId
sed -i '' "s/\"appid\" \: \"wx.*/\"appid\" \: \"${appIdList[i]}\",/g" manifest.json;
echo "${appNameList[i]}小程序配置文件替换完成,开始打包小程序...";
# 执行打包上传操作
cli publish --platform mp-weixin --project governance-platform-wx --upload true --appid ${appIdList[i]} --version 1.0.0 --description 新增功能 --privatekey ${secretFileUrl[i]};
echo "${appNameList[i]}小程序上传完成!";
done
echo "所有小程序上传完成!";
新建扩展名为.sh的文件,运行命令: sh 文件名.sh,等待执行完成,去微信公众号提交审核即可