微信小程序同一份代码同时上传到不同的小程序的脚本

//依赖包,执行cmd命令
const cp = require("child_process");
//依赖包,修改文件内容
const fs = require("fs");

//获取微信开发者工具的cli指令(Mac)
const cli = "/Applications/wechatwebdevtools.app/Contents/MacOS/cli";
//获取微信开发者工具的cli指令(Windows)
//const cli = "开发工具安装位置/cli.bat";

//当前小程序项目地址(替换成自己的)
const projectDir =
  "/Users/cqct/Documents/wchy/work/project/uni-app/充值缴费/gas-recharge/pay-uniapp/unpackage/dist/build/mp-weixin/";

//定义当前版本号
const VERSION = "1.2.9";
//定义当前版本代码的说明
const UPDATE_MESSAGE = "活动";

//定义当前需要上传多少小程序
const list = [{
  appId: "appid",
  appName: "",
}, {
  appId: "appid",
  appName: "山底水网",
}];

//窗口执行命令工具方法
function exec(cmdStr) {
  return new Promise((resolve, reject) => {
    cp.exec(cmdStr, function (err, stdout, stderr) {
      console.log(err, stdout, stderr);
      if (err) {
        reject(err);
      } else {
        resolve(stdout);
      }
    });
  });
}

//更新project.config.json文件中的appId方法
function updateAppId(appId) {
  return new Promise((resolve, reject) => {
    try {
      const projectPath = `${projectDir}project.config.json`;
      let data = fs.readFileSync(projectPath, "utf8");
      let jsonData = JSON.parse(data);
      jsonData.setting.appid = appId;
      jsonData.appid = appId;
      fs.writeFileSync(projectPath, JSON.stringify(jsonData, "", 2));
      console.log(jsonData);
      resolve();
    } catch (e) {
      reject(e);
      console.error("json error", e);
    }
  });
}

//主方法,for循环执行上传操作
async function main() {
  console.log("准备工作、检查是否已经登录工具")
  const result1 = await exec(`${cli} islogin`)
  console.log(result1)

  console.log("准备工作、打开指定项目")
  const result2 = await exec(`${cli} open --project ${projectDir}`)
  console.log(result2)

  for (let index = 0; index < list.length; index++) {
    const item = list[index];
    console.log(`开始执行小程序:${item.appId}的代码upload操作`)

    console.log("第一步、自动预览")
    const result3 = await exec(`${cli} auto-preview --project ${projectDir}`)
    console.log(result3)

    console.log("第二步、更新project.config.json文件中的appId")
    const result4 = await updateAppId(item.appId);
    console.log(result4)

    console.log("第三步、上传代码审核")
    const result5 = await exec(`${cli} upload --project ${projectDir} -v ${VERSION} -d ${UPDATE_MESSAGE}`);
    console.log(result5)

    console.log(`执行小程序:${item.appId}的代码upload操作结束!`)
  }
  console.log("上传结束、关闭开发者工具")
  const result6 = await exec(`${cli} quit`);
  console.log(result6)
}

//执行命令
main();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值