uni-mini-ci
Version:
一个小程序端构建后支持 CI(持续集成)的插件,支持上传微信、企业微信、钉钉、支付宝平台的小程序。只需简单配置,即可轻松上传多个平台的小程序
52 lines (51 loc) • 2.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ddupload = void 0;
const dingtalk_miniapp_opensdk_1 = require("dingtalk-miniapp-opensdk");
const path = require("path");
async function ddupload(options) {
dingtalk_miniapp_opensdk_1.sdk.setConfig({
appKey: '',
appSecret: '',
accessToken: options.dd.token,
host: 'https://oapi.dingtalk.com'
});
let hasDone = false;
try {
console.log('上传代码到钉钉小程序后台');
const result = await dingtalk_miniapp_opensdk_1.sdk.miniUpload({
project: options.dd.projectPath,
miniAppId: options.dd.appid,
packageVersion: options.dd.autoincrement ? '' : options.version,
onProgressUpdate: (info) => {
const { data = {}, status } = info;
const logId = path.basename(data.logUrl || '');
const log = data.log;
if (status === 'success') {
if (!hasDone) {
console.log('构建成功');
console.log('本次上传版本号', data.version);
hasDone = true;
}
}
else if (status === 'building') {
console.log(`构建中,正在查询构建结果。 ${logId ? `logId: ${logId}` : ''}`);
}
else if (status === 'overtime') {
console.log('构建超时,请重试', log);
}
else if (status === 'failed') {
console.log('构建失败', logId);
console.error(log);
process.exit(1);
}
}
});
console.log(`版本 ${result.packageVersion} 上传成功 ${new Date().toLocaleString()}`);
}
catch (error) {
console.error(`上传失败 ${new Date().toLocaleString()} \n${error.message}`);
process.exit(1);
}
}
exports.ddupload = ddupload;