笔记:同一套uniapp代码上传到不同的小程序

472 阅读1分钟

最近接到的需求,将一套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,等待执行完成,去微信公众号提交审核即可