miniprogram-ci preview --pp ./dist/wx/ --pkp ./miniprogram.key --appid wxaf35009675aa0b2a --enable-es6 true --enable-minify true --locales zh -v false --uv 0.0.1
按以上方式调用时返回错误码20003。
有两个问题,接口返回:
20003 Error: {"errCode":-1,"errMsg":"get new ticket fail: innerCode: -80014"}
或工具返回:20003 SyntaxError: Unexpected end of JSON input
经本地代码调试,工具返回 SyntaxError: Unexpected end of JSON input 是因为接口返回了空的字符串导致的。
报错信息以及请求如下:
request url: https://servicewechat.com/wxa/ci/testSourceURL?codeprotect=0&type=miniProgram&appid=wxaf35009675aa0b2a&version=0.0.1&desc=robot%201%20use%20miniprogram-ci%20to%20upload%20at%202021%2F12%2F15%2012%3A06%3A06&robot=1&debugLaunchInfo=%7B%22scene%22%3A1011%7D
CGI[https://servicewechat.com/wxa/ci/testSourceURL?codeprotect=0&type=miniProgram&appid=wxaf35009675aa0b2a&version=0.0.1&desc=robot%201%20use%20miniprogram-ci%20to%20upload%20at%202021%2F12%2F15%2012%3A06%3A06&robot=1&debugLaunchInfo=%7B%22scene%22%3A1011%7D] response parse error, response body:
20003 SyntaxError: Unexpected end of JSON input
CodeError: SyntaxError: Unexpected end of JSON input
at innerUpload (/Users/xxx/.nvm/versions/node/v12.16.2/lib/node_modules/miniprogram-ci/dist/ci/upload.js:122:11)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async preview (/Users/xxx/.nvm/versions/node/v12.16.2/lib/node_modules/miniprogram-ci/dist/ci/preview.js:17:13)
at async Object.preview (/Users/xxx/.nvm/versions/node/v12.16.2/lib/node_modules/miniprogram-ci/dist/utils/report.js:1:1403)
at async run (/Users/xxx/.nvm/versions/node/v12.16.2/lib/node_modules/miniprogram-ci/dist/cli.js:1:10548) {
code: 20003
}
额外信息:
1、当删减项目中代码后,使用同样的命令行命令去调用,能正确返回。
2、实际生产代码包体积已接近体积限制极限,直接调用基本都会报错(试过很多次,无一次成功)。
看以往的社区交流贴中表示 80014 是体积过大导致的,但这里接口返回 80014 的几率还是挺低的,几乎都是返回空字符串然后JSON.parse报错,看起来应该是一个bug,希望官方能尽早修复。
可以先试试使用最新版本miniprogram-ci,在上传或预览方法中传入 useCOS: true,使用异步上传的方式。
后续我们会更新 miniprogram-ci 默认采用异步上传的方式。