UNPKG

jj-cli

Version:
1 lines 3.54 kB
"use strict";const{post:e}=require("./http"),t=require("./PGYERAppUploader"),n=require("./common"),l=require("./logs"),i="Env: uat",o="Env: prd",a="https://www.pgyer.com",p=e=>e?(e=e.toLocaleLowerCase()).includes("uat")||e.includes("development")||e.includes("test")?i:o:"",r=async(e,t,n,l)=>{const i=require("path"),o=require("fs").promises;let a=e;const p=null==l?void 0:l.buildVersion,r=(null==l?void 0:l.buildUpdateDescription)||"",s=(null==l?void 0:l.buildKey)||"",{apiKey:u,userKey:d}=l;if(p&&u&&d&&s)for(;a!==i.parse(a).root;){const e=i.join(a,".app-versions.json");try{await o.access(e);const l=await o.readFile(e,"utf8"),i=(l&&JSON.parse(l)||{})[t],a=((null==i?void 0:i[n])||[]).find((e=>e.version===p)),c=null==a?void 0:a.appByodVersion,y=null==a?void 0:a.branch;let v=r;return c&&(v+=`\n* appByodVersion: ${c}`),y&&(v+=`\n* source: ${y}`),void g(u,d,s,v)}catch(e){a=i.dirname(a)}}},s=async(e,l,i,o,a,s,u,d,c)=>{const y=new t(i),v={filePath:o,log:!0};a&&(v.buildChannelShortcut=a);let w=s||"";u&&(w+=`${u}:\n`,w+=`${p(u)}\n`),v.buildUpdateDescription=w;try{const t=await n.runTask(`${u} uploading...`,(async()=>await y.upload(v)));console.log("result:",null==t?void 0:t.data);const o=(null==t?void 0:t.data)||{};o.apiKey=i,o.userKey=c,r(d,e,u,o);var h=`app/${e}?env=${u}&platform=${l}`,g=`https://pgyer-enhance.web.app/${encodeURIComponent(h)}`;return console.log("Download Link:",g),o.openLink=g,o}catch(e){}},u=async(t,n)=>{const l=await e("https://www.pgyer.com/apiv2/app/deleteApp",{_api_key:t,appKey:n});console.log("delApp:",l)},d=async(t,n,l)=>{const i=await e("https://www.pgyer.com/apiv2/app/buildDelete",{_api_key:t,appKey:n,buildKey:l});console.log("delVersion:",i)};var c=[];const y=async(t,n,l)=>{var i,o;l||(l=1);try{var a=await e("https://www.pgyer.com/apiv2/app/builds",{_api_key:t,appKey:n,page:l})}catch(e){}const p=(null==a||null===(i=a.data)||void 0===i?void 0:i.list)||[],r=null==a||null===(o=a.data)||void 0===o?void 0:o.pageCount,s=l;c.push(...p),s<r&&await y(t,n,s+1);return[...c]},v=()=>{c=[]},w=async(e,t,n)=>{var l;c=[];const i=await y(e,t),o=p(n),a=i.filter((e=>{var t;return null==e||null===(t=e.buildUpdateDescription)||void 0===t?void 0:t.includes(o)}));if(0===a.length)return"";a.sort(((e,t)=>{var n,l,i,o;let a=null==e||null===(n=e.buildVersion)||void 0===n?void 0:n.split(".").map(Number),p=null==t||null===(l=t.buildVersion)||void 0===l?void 0:l.split(".").map(Number);for(let e=0;e<Math.max(a.length,p.length);e++){const t=a[e]||0,n=p[e]||0;if(t>n)return-1;if(t<n)return 1}a=null==e||null===(i=e.buildVersionNo)||void 0===i?void 0:i.split(".").map(Number),p=null==t||null===(o=t.buildVersionNo)||void 0===o?void 0:o.split(".").map(Number);for(let e=0;e<Math.max(a.length,p.length);e++){const t=a[e]||0,n=p[e]||0;if(t>n)return-1;if(t<n)return 1}return 0}));let r=(null===(l=a[0])||void 0===l?void 0:l.buildVersion).split("."),s=parseInt(r[r.length-1]);r[r.length-1]=(s+1).toString();return r.join(".")},h=async(t,n,l)=>{const i={_api_key:t,appKey:n,buildInstallType:1,appLang:2,buildVersionType:2,appAutoSync:2,appShowPgyerCopyright:2,buildQrcodeShowAppIcon:1,appFeedbackStatus:2};l&&(i.buildInstallType=2,i.buildPassword=l);return await e("https://www.pgyer.com/apiv2/app/update",i)},g=async(t,n,l,i)=>{try{i||(i="");var o=await e("https://www.pgyer.com/apiv2/app/updateApp",{_api_key:t,userKey:n,buildKey:l,buildUpdateDescription:i})}catch(e){o={}}return o};module.exports={uploadToPgyer:s,delApp:u,delVersion:d,getAllVerions:y,getNextVerion:w,updateInfo:h,clearAllVersions:v,updateAppInfo:g};