支付宝小程序怎么做批量提版?
背景:最近接手的是一个一套模版,多套数据共存的一个小程序项目(具体业务我就不多说) 但是每一次修改的时候都需要再次提版好多的号,而我自己也就是一个小菜鸡。就想记录一下怎么做的一个工具方便自己使用吧
其实支付宝都有相应的接口开放出来,贴上链接支付宝cli 主要还是使用minidev 文档上有 我也就不多说了 版本简略 轻喷。
const { minidev } = require("minidev");
/**
*
* 提版的appid
* @param {*} appId
* @returns
*/
let errArr = [];
const uploadMiniApp = function (appId) {
return new Promise((resolve, reject) => {
minidev
.upload(
{
appId: appId,
project: "", // 小程序项目路径 当然地址可以暴露出来具体还是看你们
// experience: true // 添加 experience 选项的话可以一并把刚上传的版本设置为体验版
},
{
onLog: (data) => {
// 输出日志
console.log(data);
},
}
)
.then((uploadResult) => {
// 打印上传版本
console.log(uploadResult.version);
resolve(uploadResult, "上传成功");
})
.catch((error) => {
console.error("Error uploading mini app:", error);
errArr.push(appId);
reject(error, "上传失败appId", appId);
});
});
};
批量提版
/**
* 全部提版的appid数组
* @param {*} appIds
*/
const uploadAllMiniApps = async (appIds) => {
try {
const uploadPromises = appIds.map((appId) => uploadMiniApp(appId));
const results = await Promise.all(uploadPromises);
results.forEach((res, index) => {
console.log(
res,
"构建成功",
appIds[index],
`完成度${index + 1 + "/" + results.length}`
);
});
} catch (error) {
console.log(errArr);
}
};
主要近段时间的支付宝小程序提版都要迭代在多个号的情况下真的比较麻烦。 用node的方法就可以避免迭代 当然 用命令行的方式也可以 也能避免迭代版本 ps: 运行代码前需要登录 具体看上方的支付宝文档哈 我就不一一贴出。