小游戏使用miniprogram-ci
Error: : project.type is miniGame, but appid(wx***) is MiniProgram
appid是小游戏,申请类目是:游戏 > 其他游戏
实现代码:
const wx = require("miniprogram-ci");
const shell = require("shelljs");
// 测试环境:npm run push --env=test
// 生产环境:npm run push --env=production
// 获取env参数值
//
const getLastCommit = () => {
const res = shell.exec("git log -1 --pretty=format:%h:%s"); // 获取执行命令的结果,返回git提交记录编码和提交名称,例:ecec2cb:修复XXX问题
if (!res) return null;
const [hash, desc] = res.stdout.split(":");
return {
hash, // 例:ecec2cb
desc, // 例:修复XXX问题
};
};
// 注意: new ci.Project 调用时,请确保项目代码已经是完整的,避免编译过程出现找不到文件的报错。
const project = new wx.Project({
appid: "wx****", //小程序appid
type: "miniGame", // 默认miniProgram
projectPath: "Release/wx/wxgame/", // 项目打包路径
privateKey: "private.****.key", // 微信公众平台->开发->开发管理->小程序代码上传->生成小程序代码上传密钥
ignores: ["node_modules/**/*"], // 忽略无需上传的文件
});
// 上传小程序后台
const upload = async () => {
try {
const commit = getLastCommit();
if (!commit) {
console.log("未找到提交记录");
return;
}
const { hash, desc } = commit;
const version = 1;
console.log("----------------------开始处理----------------------");
const uploadResult = await wx.upload({
project,
version,
desc,
setting: {
es6: true,
},
robot: 1,
onProgressUpdate: (res) => {
if (res._msg === "upload") {
if (res._status === "doing") {
console.log("");
}
}
},
});
console.log("----------------------上传成功----------------------");
console.log(uploadResult);
console.log("---------------------------------------------------");
} catch (e) {
console.log("----------------------上传失败----------------------");
console.log(e);
console.log("---------------------------------------------------");
}
};
upload();