varn,t=Object.prototype.hasOwnProperty,e=Array.isArray;functionr(n){returnn.__wxWebviewId__?n.__wxWebviewId__:n.privateProperties?n.privateProperties.slaveId:void0}functiono(n){returnn.route||n.uri}functionu(n){return{id:r(n),path:o(n),query:n.options}}functioni(n){vart=function(n){returngetCurrentPages().find((function(t){returnr(t)===n}))}(n);returnt&&t.$vm}functiona(n,t){vare=i(n);returne&&functionn(t,e){varr,o;returnt&&(t.$scope&&((o=t.$scope).__wxExparserNodeId__||o.nodeId||o.id)===e?r=t:t.$children.find((function(t){returnr=n(t,e)}))),r}(e,t)}functionc(n,r){varo;returnn&&(o=r?function(n,r){varo,u=function(n,r){if(e(n))returnn;if(r&&(o=r,u=n,t.call(o,u)))return[n];varo,u;vari=[];returnn.replace(l,(function(n,t,e,r){returni.push(e?r.replace(/\\(\\)?/g,"$1"):t||n),r})),i}(r,n);for(o=u.shift();i=o,null!=i;){if(null==(n=n[o]))return;o=u.shift()}vari;returnn}(n.$data,r):Object.assign({},n.$data)),Promise.resolve({data:o})}functions(n,t){returnn&&Object.keys(t).forEach((function(e){n[e]=t[e]})),Promise.resolve()}functionf(t,e,r){returnnewPromise((function(o,u){if(!t)returnu(n.VM_NOT_EXISTS);if(!t[e])returnu(n.VM_NOT_EXISTS);vari,a=t[e].apply(t,r);!(i=a)||"object"!=typeofi&&"function"!=typeofi||"function"!=typeofi.then?o({result:a}):a.then((function(n){o({result:n})}))}))}!function(n){n.VM_NOT_EXISTS="VM_NOT_EXISTS",n.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(n||(n={}));varl=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;varp=/Sync$/;vard={getPageStack:function(){returnPromise.resolve({pageStack:getCurrentPages().map((function(n){returnu(n)}))})},getCurrentPage:function(){varn=getCurrentPages(),t=n.length;returnnewPromise((function(e,r){t?e(u(n[t-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(n){vart=n.method,e=n.args;returnnewPromise((function(n,r){if(!uni[t])returnr(Error("uni."+t+" not exists"));if(function(n){returnp.test(n)}(t))returnn({result:uni[t].apply(uni,e)});varo=[Object.assign({},e[0]||{},{success:function(e){setTimeout((function(){n({result:e})}),"pageScrollTo"===t?350:0)},fail:function(n){r(Error(n.errMsg.replace(t+":fail ","")))}})];uni[t].apply(uni,o)}))}},g={getData:function(n){returnc(i(n.pageId),n.path)},setData:function(n){returns(i(n.pageId),n.data)},callMethod:function(t){vare,r=((e={})[n.VM_NOT_EXISTS]="Page["+t.pageId+"] not exists",e[n.METHOD_NOT_EXISTS]="page."+t.method+" not exists",e);returnnewPromise((function(n,e){f(i(t.pageId),t.method,t.args).then((function(t){returnn(t)})).catch((function(n){e(Error(r[n]))}))}))}};function_(n){returnn.nodeId||n.elementId}varv={getData:function(n){returnc(a(n.pageId,_(n)),n.path)},setData:function(n){returns(a(n.pageId,_(n)),n.data)},callMethod:function(t){vare,r=_(t),o=((e={})[n.VM_NOT_EXISTS]="Component["+t.pageId+":"+r+"] not exists",e[n.METHOD_NOT_EXISTS]="component."+t.method+" not exists",e);returnnewPromise((function(n,e){f(a(t.pageId,r),t.method,t.args).then((function(t){returnn(t)})).catch((function(n){e(Error(o[n]))}))}))}},m={};Object.keys(d).forEach((function(n){m["App."+n]=d[n]})),Object.keys(g).forEach((function(n){m["Page."+n]=g[n]})),Object.keys(v).forEach((function(n){m["Element."+n]=v[n]}));varh=process.env.UNI_AUTOMATOR_WS_ENDPOINT;setTimeout((function(){!function(n){void0===n&&(n={});vart=uni.connectSocket({url:h,complete:function(){}}),e=function(n){returnt.send({data:JSON.stringify(n)})};t.onOpen((function(t){n.success&&n.success(),console.log("已开启自动化测试...")})),t.onMessage((function(n){vart=JSON.parse(n.data),r=t.id,o=t.method,u=t.params,i={id:r},a=m[o];if(!a)returni.error={message:o+" unimplemented"},e(i);a(u).then((function(n){n&&(i.result=n)})).catch((function(n){i.error={message:n.message}})).finally((function(){e(i)}))})),t.onError((function(n){console.log("automator.onError",n)})),t.onClose((function(){n.fail&&n.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))}()}),500);
functione(){for(vare=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;varr=Array(e),o=0;for(n=0;n<t;n++)for(varu=arguments[n],i=0,a=u.length;i<a;i++,o++)r[o]=u[i];returnr}varn="undefined"!=typeofcrypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeofmsCrypto&&"function"==typeofmsCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),t=newUint8Array(16);functionr(){if(!n)thrownewError("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");returnn(t)}for(varo=[],u=0;u<256;++u)o[u]=(u+256).toString(16).substr(1);functioni(e,n,t){varu=n&&t||0;"string"==typeofe&&(n="binary"===e?newArray(16):null,e=null);vari=(e=e||{}).random||(e.rng||r)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,n)for(vara=0;a<16;++a)n[u+a]=i[a];returnn||function(e,n){vart=n||0,r=o;return[r[e[t++]],r[e[t++]],r[e[t++]],r[e[t++]],"-",r[e[t++]],r[e[t++]],"-",r[e[t++]],r[e[t++]],"-",r[e[t++]],r[e[t++]],"-",r[e[t++]],r[e[t++]],r[e[t++]],r[e[t++]],r[e[t++]],r[e[t++]]].join("")}(i)}vara=Object.prototype.hasOwnProperty,c=Array.isArray,s=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;functionf(e,n){if(c(e))returne;if(n&&(t=n,r=e,a.call(t,r)))return[e];vart,r,o=[];returne.replace(s,(function(e,n,t,r){returno.push(t?r.replace(/\\(\\)?/g,"$1"):n||e),r})),o}functionl(e,n){vart,r=f(n,e);for(t=r.shift();null!=t;){if(null==(e=e[t]))return;t=r.shift()}returne}vard=newMap;functiong(e){varn=d.get(e);if(!n)throwError("element destroyed");returnn.element}functionm(e){if(!function(e){if(e){varn=e.tagName;return0===n.indexOf("UNI-")||"BODY"===n}return!1}(e))throwError("no such element");varn,t,r={elementId:(n=e,t=n._id,t||(t=i(),n._id=t,d.set(t,{id:t,element:n})),t),tagName:e.tagName.toLocaleLowerCase().replace("uni-","")},o=e.__vue__;returno&&!o.$options.isReserved&&(r.nodeId=o._uid),"video"===r.tagName&&(r.videoId=r.nodeId),r}functionp(e,n){returnPromise.resolve(m(e.querySelector(n)))}functionv(e,n){vart=[];returndocument.querySelectorAll(n).forEach((function(e){try{t.push(m(e))}catch(e){}})),Promise.resolve({elements:t})}function_(e,n){returnPromise.resolve({properties:n.map((function(n){returnl(e,n)}))})}functionh(e,n,t){t||(t={}),t.touches||(t.touches=[]),t.changedTouches||(t.changedTouches=[]),t.touches.length||t.touches.push({identifier:Date.now(),target:e});varr=t.touches.map((function(e){returnnewTouch(e)})),o=t.changedTouches.map((function(e){returnnewTouch(e)}));returne.dispatchEvent(newTouchEvent(n,{cancelable:!0,bubbles:!0,touches:r,targetTouches:[],changedTouches:o})),Promise.resolve()}vary={input:{input:function(e,n){vart=e.__vue__;t.inputValue=n,t._onInput({target:{value:n}})}},textarea:{input:function(e,n){e.__vue__.valueSync=n}},"scroll-view":{scrollTo:function(e,n,t){varr=e.__vue__.$refs.main;r.scrollLeft=n,r.scrollTop=t},scrollTop:function(e){returne.__vue__.$refs.main.scrollTop},scrollLeft:function(e){returne.__vue__.$refs.main.scrollLeft},scrollWidth:function(e){returne.__vue__.$refs.main.scrollWidth},scrollHeight:function(e){returne.__vue__.$refs.main.scrollHeight}},swiper:{swipeTo:function(e,n){e.__vue__.current=n}},"movable-view":{moveTo:function(e,n,t){e.__vue__._animationTo(n,t)}},switch:{tap:function(e){e.click()}},slider:{slideTo:function(e,n){vart=e.__vue__,r=t.$refs["uni-slider"],o=r.offsetWidth,u=r.getBoundingClientRect().left;t.value=n,t._onClick({x:(n-t.min)*o/(t.max-t.min)+u})}}};varT,I={getElement:function(e){returnp(document,e.selector)},getElements:function(e){returnv(document,e.selector)},getWindowProperties:function(e){return_(window,e.names)}},E={getElement:function(e){returnp(g(e.elementId),e.selector)},getElements:function(e){returnv(g(e.elementId),e.selector)},getDOMProperties:function(e){return_(g(e.elementId),e.names)},getProperties:function(e){return_(g(e.elementId).__vue__,e.names)},getOffset:function(e){varn=g(e.elementId).getBoundingClientRect();returnPromise.resolve({left:n.left+window.pageXOffset,top:n.top+window.pageYOffset})},getAttributes:function(e){returnn=g(e.elementId),t=e.names,Promise.resolve({attributes:t.map((function(e){returnString(n.getAttribute(e))}))});varn,t},getStyles:function(e){returnn=g(e.elementId),t=e.names,r=getComputedStyle(n),Promise.resolve({styles:t.map((function(e){returnr[e]}))});varn,t,r},getHTML:function(e){returnn=g(e.elementId),t=e.type,Promise.resolve({html:(r="outer"===t?n.outerHTML:n.innerHTML,r.replace(/\n/g,"").replace(/(<uni-text[^>]*>)(<span[^>]*>[^<]*<\/span>)(.*?<\/uni-text>)/g,"$1$3").replace(/<\/?[^>]*>/g,(function(e){return-1<e.indexOf("<body")?"<page>":"</body>"===e?"</page>":0!==e.indexOf("<uni-")&&0!==e.indexOf("</uni-")?"":e.replace(/uni-/g,"").replace(/ role=""/g,"").replace(/ aria-label=""/g,"")})))});varn,t,r},tap:function(e){returng(e.elementId).click(),Promise.resolve()},touchstart:function(e){returnh(g(e.elementId),"touchstart",e)},touchmove:function(e){returnh(g(e.elementId),"touchmove",e)},touchend:function(e){returnh(g(e.elementId),"touchend",e)},callFunction:function(n){returnt=g(n.elementId),r=n.functionName,o=n.args,(u=l(y,r))?Promise.resolve({result:u.apply(null,e([t],o))}):Promise.reject(Error(r+" not exists"));vart,r,o,u},triggerEvent:function(e){returnn=g(e.elementId),t=e.type,r=e.detail,(o=n.__vue__).$trigger&&o.$trigger(t,{},r),Promise.resolve();varn,t,r,o}},S={};functionO(e){returnUniViewJSBridge.publishHandler("onAutoMessageReceive",e)}functionw(e){returne.__wxWebviewId__?e.__wxWebviewId__:e.privateProperties?e.privateProperties.slaveId:e.$page?e.$page.id:void0}functionP(e){returne.route||e.uri}functionb(e){returne.options||e.$page&&e.$page.options||{}}functionM(e){return{id:w(e),path:P(e),query:b(e)}}function$(e){varn=function(e){returngetCurrentPages().find((function(n){returnw(n)===e}))}(e);returnn&&n.$vm}functionN(e,n){vart=$(e);returnt&&functione(n,t){varr,o;returnn&&(n._uid&&n._uid===t||n.$scope&&((o=n.$scope).__wxExparserNodeId__||o.nodeId||o.id)===t?r=n:n.$children.find((function(n){returnr=e(n,t)}))),r}(t,n)}functionx(e,n){vart;returne&&(t=n?l(e.$data,n):Object.assign({},e.$data)),Promise.resolve({data:t})}functionC(e,n){returne&&Object.keys(n).forEach((function(t){e[t]=n[t]})),Promise.resolve()}functionA(e,n,t){returnnewPromise((function(r,o){if(!e)returno(T.VM_NOT_EXISTS);if(!e[n])returno(T.VM_NOT_EXISTS);varu,i=e[n].apply(e,t);!(u=i)||"object"!=typeofu&&"function"!=typeofu||"function"!=typeofu.then?r({result:i}):i.then((function(e){r({result:e})}))}))}Object.keys(I).forEach((function(e){S["Page."+e]=I[e]})),Object.keys(E).forEach((function(e){S["Element."+e]=E[e]})),UniViewJSBridge.subscribe("sendAutoMessage",(function(e){varn=e.id,t=e.method,r=e.params,o={id:n},u=S[t];if(!u)returno.error={message:t+" unimplemented"},O(o);try{u(r).then((function(e){e&&(o.result=e)})).catch((function(e){o.error={message:e.message}})).finally((function(){O(o)}))}catch(e){o.error={message:e.message},O(o)}})),function(e){e.VM_NOT_EXISTS="VM_NOT_EXISTS",e.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(T||(T={}));varV=/Sync$/;varj={getPageStack:function(){returnPromise.resolve({pageStack:getCurrentPages().map((function(e){returnM(e)}))})},getCurrentPage:function(){vare=getCurrentPages(),n=e.length;returnnewPromise((function(t,r){n?t(M(e[n-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(e){varn=e.method,t=e.args;returnnewPromise((function(e,r){if(!uni[n])returnr(Error("uni."+n+" not exists"));if(function(e){returnV.test(e)}(n))returne({result:uni[n].apply(uni,t)});varo=[Object.assign({},t[0]||{},{success:function(t){setTimeout((function(){e({result:t})}),"pageScrollTo"===n?350:0)},fail:function(e){r(Error(e.errMsg.replace(n+":fail ","")))}})];uni[n].apply(uni,o)}))}},k={getData:function(e){returnx($(e.pageId),e.path)},setData:function(e){returnC($(e.pageId),e.data)},callMethod:function(e){varn,t=((n={})[T.VM_NOT_EXISTS]="Page["+e.pageId+"] not exists",n[T.METHOD_NOT_EXISTS]="page."+e.method+" not exists",n);returnnewPromise((function(n,r){A($(e.pageId),e.method,e.args).then((function(e){returnn(e)})).catch((function(e){r(Error(t[e]))}))}))}};functionD(e){returne.nodeId||e.elementId}varR={getData:function(e){returnx(N(e.pageId,D(e)),e.path)},setData:function(e){returnC(N(e.pageId,D(e)),e.data)},callMethod:function(e){varn,t=D(e),r=((n={})[T.VM_NOT_EXISTS]="Component["+e.pageId+":"+t+"] not exists",n[T.METHOD_NOT_EXISTS]="component."+e.method+" not exists",n);returnnewPromise((function(n,o){A(N(e.pageId,t),e.method,e.args).then((function(e){returnn(e)})).catch((function(e){o(Error(r[e]))}))}))}},H={};Object.keys(j).forEach((function(e){H["App."+e]=j[e]})),Object.keys(k).forEach((function(e){H["Page."+e]=k[e]})),Object.keys(R).forEach((function(e){H["Element."+e]=R[e]}));varX=process.env.UNI_AUTOMATOR_WS_ENDPOINT;setTimeout((function(){!function(e){void0===e&&(e={}),UniServiceJSBridge.subscribe("onAutoMessageReceive",(function(e){t(e)}));varn=uni.connectSocket({url:X,complete:function(){}}),t=function(e){returnn.send({data:JSON.stringify(e)})};n.onOpen((function(n){e.success&&e.success(),console.log("已开启自动化测试...")})),n.onMessage((function(e){varn=JSON.parse(e.data),r=n.id,o=n.method,u=n.params,i={id:r},a=H[o];if(!a)returnUniServiceJSBridge.publishHandler("sendAutoMessage",{id:r,method:o,params:u});try{a(u).then((function(e){e&&(i.result=e)})).catch((function(e){i.error={message:e.message}})).finally((function(){t(i)}))}catch(e){i.error={message:e.message},t(i)}})),n.onError((function(e){console.log("automator.onError",e)})),n.onClose((function(){e.fail&&e.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))}()}),500);
varn,t=Object.prototype.hasOwnProperty,e=Array.isArray;functionr(n){returnn.__wxWebviewId__?n.__wxWebviewId__:n.privateProperties?n.privateProperties.slaveId:void0}functiono(n){returnn.route||n.uri}functionu(n){return{id:r(n),path:o(n),query:n.options}}functioni(n){vart=function(n){returngetCurrentPages().find((function(t){returnr(t)===n}))}(n);returnt&&t.$vm}functiona(n,t){vare=i(n);returne&&functionn(t,e){varr,o;returnt&&(t.$scope&&((o=t.$scope).__wxExparserNodeId__||o.nodeId||o.id)===e?r=t:t.$children.find((function(t){returnr=n(t,e)}))),r}(e,t)}functionc(n,r){varo;returnn&&(o=r?function(n,r){varo,u=function(n,r){if(e(n))returnn;if(r&&(o=r,u=n,t.call(o,u)))return[n];varo,u;vari=[];returnn.replace(l,(function(n,t,e,r){returni.push(e?r.replace(/\\(\\)?/g,"$1"):t||n),r})),i}(r,n);for(o=u.shift();i=o,null!=i;){if(null==(n=n[o]))return;o=u.shift()}vari;returnn}(n.$data,r):Object.assign({},n.$data)),Promise.resolve({data:o})}functions(n,t){returnn&&Object.keys(t).forEach((function(e){n[e]=t[e]})),Promise.resolve()}functionf(t,e,r){returnnewPromise((function(o,u){if(!t)returnu(n.VM_NOT_EXISTS);if(!t[e])returnu(n.VM_NOT_EXISTS);vari,a=t[e].apply(t,r);!(i=a)||"object"!=typeofi&&"function"!=typeofi||"function"!=typeofi.then?o({result:a}):a.then((function(n){o({result:n})}))}))}!function(n){n.VM_NOT_EXISTS="VM_NOT_EXISTS",n.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(n||(n={}));varl=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;varp=/Sync$/;vard={getPageStack:function(){returnPromise.resolve({pageStack:getCurrentPages().map((function(n){returnu(n)}))})},getCurrentPage:function(){varn=getCurrentPages(),t=n.length;returnnewPromise((function(e,r){t?e(u(n[t-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(n){vart=n.method,e=n.args;returnnewPromise((function(n,r){if(!uni[t])returnr(Error("uni."+t+" not exists"));if(function(n){returnp.test(n)}(t))returnn({result:uni[t].apply(uni,e)});varo=[Object.assign({},e[0]||{},{success:function(e){setTimeout((function(){n({result:e})}),"pageScrollTo"===t?350:0)},fail:function(n){r(Error(n.errMsg.replace(t+":fail ","")))}})];uni[t].apply(uni,o)}))}},g={getData:function(n){returnc(i(n.pageId),n.path)},setData:function(n){returns(i(n.pageId),n.data)},callMethod:function(t){vare,r=((e={})[n.VM_NOT_EXISTS]="Page["+t.pageId+"] not exists",e[n.METHOD_NOT_EXISTS]="page."+t.method+" not exists",e);returnnewPromise((function(n,e){f(i(t.pageId),t.method,t.args).then((function(t){returnn(t)})).catch((function(n){e(Error(r[n]))}))}))}};functionm(n){returnn.nodeId||n.elementId}var_={getData:function(n){returnc(a(n.pageId,m(n)),n.path)},setData:function(n){returns(a(n.pageId,m(n)),n.data)},callMethod:function(t){vare,r=m(t),o=((e={})[n.VM_NOT_EXISTS]="Component["+t.pageId+":"+r+"] not exists",e[n.METHOD_NOT_EXISTS]="component."+t.method+" not exists",e);returnnewPromise((function(n,e){f(a(t.pageId,r),t.method,t.args).then((function(t){returnn(t)})).catch((function(n){e(Error(o[n]))}))}))}},v={};Object.keys(d).forEach((function(n){v["App."+n]=d[n]})),Object.keys(g).forEach((function(n){v["Page."+n]=g[n]})),Object.keys(_).forEach((function(n){v["Element."+n]=_[n]}));varh=process.env.UNI_AUTOMATOR_WS_ENDPOINT;swan.$$initRuntimeAutomator=function(n){void0===n&&(n={});vart=uni.connectSocket({url:h,complete:function(){}}),e=function(n){returnt.send({data:JSON.stringify(n)})};t.onOpen((function(t){n.success&&n.success(),console.log("已开启自动化测试...")})),t.onMessage((function(n){vart=JSON.parse(n.data),r=t.id,o=t.method,u=t.params,i={id:r},a=v[o];if(!a)returni.error={message:o+" unimplemented"},e(i);a(u).then((function(n){n&&(i.result=n)})).catch((function(n){i.error={message:n.message}})).finally((function(){e(i)}))})),t.onError((function(n){console.log("automator.onError",n)})),t.onClose((function(){n.fail&&n.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))},setTimeout((function(){swan.$$initRuntimeAutomator()}),500);
varn,t=Object.prototype.hasOwnProperty,e=Array.isArray,r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;functiono(n,o){if(e(n))returnn;if(o&&(u=o,i=n,t.call(u,i)))return[n];varu,i,a=[];returnn.replace(r,(function(n,t,e,r){returna.push(e?r.replace(/\\(\\)?/g,"$1"):t||n),r})),a}functionu(n){returnn.__wxWebviewId__?n.__wxWebviewId__:n.privateProperties?n.privateProperties.slaveId:n.$page?n.$page.id:void0}functioni(n){returnn.route||n.uri}functiona(n){returnn.options||n.$page&&n.$page.options||{}}functionc(n){return{id:u(n),path:i(n),query:a(n)}}functions(n){vart=function(n){returngetCurrentPages().find((function(t){returnu(t)===n}))}(n);returnt&&t.$vm}functionf(n,t){vare=s(n);returne&&functionn(t,e){varr,o;returnt&&(t._uid&&t._uid===e||t.$scope&&((o=t.$scope).__wxExparserNodeId__||o.nodeId||o.id)===e?r=t:t.$children.find((function(t){returnr=n(t,e)}))),r}(e,t)}functionp(n,t){vare;returnn&&(e=t?function(n,t){vare,r=o(t,n);for(e=r.shift();null!=e;){if(null==(n=n[e]))return;e=r.shift()}returnn}(n.$data,t):Object.assign({},n.$data)),Promise.resolve({data:e})}functiong(n,t){returnn&&Object.keys(t).forEach((function(e){n[e]=t[e]})),Promise.resolve()}functionl(t,e,r){returnnewPromise((function(o,u){if(!t)returnu(n.VM_NOT_EXISTS);if(!t[e])returnu(n.VM_NOT_EXISTS);vari,a=t[e].apply(t,r);!(i=a)||"object"!=typeofi&&"function"!=typeofi||"function"!=typeofi.then?o({result:a}):a.then((function(n){o({result:n})}))}))}!function(n){n.VM_NOT_EXISTS="VM_NOT_EXISTS",n.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(n||(n={}));vard=/Sync$/;varm={getPageStack:function(){returnPromise.resolve({pageStack:getCurrentPages().map((function(n){returnc(n)}))})},getCurrentPage:function(){varn=getCurrentPages(),t=n.length;returnnewPromise((function(e,r){t?e(c(n[t-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(n){vart=n.method,e=n.args;returnnewPromise((function(n,r){if(!uni[t])returnr(Error("uni."+t+" not exists"));if(function(n){returnd.test(n)}(t))returnn({result:uni[t].apply(uni,e)});varo=[Object.assign({},e[0]||{},{success:function(e){setTimeout((function(){n({result:e})}),"pageScrollTo"===t?350:0)},fail:function(n){r(Error(n.errMsg.replace(t+":fail ","")))}})];uni[t].apply(uni,o)}))}},_={getData:function(n){returnp(s(n.pageId),n.path)},setData:function(n){returng(s(n.pageId),n.data)},callMethod:function(t){vare,r=((e={})[n.VM_NOT_EXISTS]="Page["+t.pageId+"] not exists",e[n.METHOD_NOT_EXISTS]="page."+t.method+" not exists",e);returnnewPromise((function(n,e){l(s(t.pageId),t.method,t.args).then((function(t){returnn(t)})).catch((function(n){e(Error(r[n]))}))}))}};functionh(n){returnn.nodeId||n.elementId}varv={getData:function(n){returnp(f(n.pageId,h(n)),n.path)},setData:function(n){returng(f(n.pageId,h(n)),n.data)},callMethod:function(t){vare,r=h(t),o=((e={})[n.VM_NOT_EXISTS]="Component["+t.pageId+":"+r+"] not exists",e[n.METHOD_NOT_EXISTS]="component."+t.method+" not exists",e);returnnewPromise((function(n,e){l(f(t.pageId,r),t.method,t.args).then((function(t){returnn(t)})).catch((function(n){e(Error(o[n]))}))}))}},T={};Object.keys(m).forEach((function(n){T["App."+n]=m[n]})),Object.keys(_).forEach((function(n){T["Page."+n]=_[n]})),Object.keys(v).forEach((function(n){T["Element."+n]=v[n]}));varE=process.env.UNI_AUTOMATOR_WS_ENDPOINT;swan.$$initRuntimeAutomator=function(n){void0===n&&(n={});vart=uni.connectSocket({url:E,complete:function(){}}),e=function(n){returnt.send({data:JSON.stringify(n)})};t.onOpen((function(t){n.success&&n.success(),console.log("已开启自动化测试...")})),t.onMessage((function(n){vart=JSON.parse(n.data),r=t.id,o=t.method,u=t.params,i={id:r},a=T[o];if(!a)returni.error={message:o+" unimplemented"},e(i);try{a(u).then((function(n){n&&(i.result=n)})).catch((function(n){i.error={message:n.message}})).finally((function(){e(i)}))}catch(n){i.error={message:n.message},e(i)}})),t.onError((function(n){console.log("automator.onError",n)})),t.onClose((function(){n.fail&&n.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))},setTimeout((function(){swan.$$initRuntimeAutomator()}),500);
"use strict";functione(e){returne&&"object"==typeofe&&"default"ine?e.default:e}vart=e(require("os")),r=e(require("path")),s=e(require("debug")),a=e(require("licia/isWindows")),n=e(require("fs")),o=e(require("child_process")),i=e(require("licia/sleep")),c=e(require("licia/toStr")),l=e(require("licia/waitUntil")),p=e(require("licia/concat")),u=e(require("licia/getPort")),m=e(require("licia/dateFormat"));require("jimp"),require("licia/isStr");vard=e(require("ws")),h=require("events"),f=e(require("licia/uuid")),g=e(require("licia/stringify"));constw=/(^[a-z][a-z0-9-]*)/i,y=/^navigator/i,E=/^swan-nav$/i;varb;!function(e){e.SELECTOR="selector",e.TAGNAME="tagName"}(b||(b={}));constv={[b.SELECTOR]:[{test:y,processor:e=>e.replace(y,"nav")},{test:w,processor:e=>"swan-"+e}],[b.TAGNAME]:[{test:E,processor:e=>e.replace(E,"swan-navigator")},{test:w,processor:e=>e.toLocaleLowerCase().replace("swan-","")}]},j=e=>t=>{constr=(v[e]||[]).filter(e=>e.test.test(t));for(consteofr)t=e.processor(t);returnt},P=j(b.SELECTOR),q=j(b.TAGNAME),O=e=>Object.assign({},e,{type:"id",info:{id:e.elementId}});require("qrcode-terminal"),require("qrcode-reader");classMextendsh.EventEmitter{constructor(e){super(),this.ws=e,this.ws.addEventListener("message",e=>{this.emit("message",e.data)}),this.ws.addEventListener("close",()=>{this.emit("close")})}send(e){this.ws.send(e)}close(){this.ws.close()}}classCextendsh.EventEmitter{constructor(e,t,r){super(),this.puppet=t,this.namespace=r,this.callbacks=newMap,this.transport=e,this.debug=s("automator:protocol:"+this.namespace),this.onMessage=e=>{this.debug(`${m("yyyy-mm-dd HH:MM:ss:l")} ◀ RECV ${e}`);const{id:t,method:r,error:s,result:a,params:n}=JSON.parse(e);if(!t)returnthis.puppet.emit(r,n);const{callbacks:o}=this;if(t&&o.has(t)){conste=o.get(t);o.delete(t),s?e.reject(Error(s.message)):e.resolve(a)}},this.onClose=()=>{this.callbacks.forEach(e=>{e.reject(Error("Connection closed"))})},this.transport.on("message",this.onMessage),this.transport.on("close",this.onClose)}send(e,t={},r=!0){if(r&&this.puppet.adapter.has(e))returnthis.puppet.adapter.send(this,e,t);consts=f(),a=g({id:s,method:e,params:t});returnthis.debug(`${m("yyyy-mm-dd HH:MM:ss:l")} SEND ► ${a}`),newPromise((e,t)=>{try{this.transport.send(a)}catch(e){t(Error("Connection closed"))}this.callbacks.set(s,{resolve:e,reject:t})})}dispose(){this.transport.close()}staticcreateDevtoolConnection(e,t){returnnewPromise((r,s)=>{consta=newd(e);a.addEventListener("open",()=>{r(newC(newM(a),t,"devtool"))}),a.addEventListener("error",s)})}staticcreateRuntimeConnection(e,t,r){returnnewPromise((a,n)=>{s("automator:runtime")(`${m("yyyy-mm-dd HH:MM:ss:l")} port=${e}`);consto=newd.Server({port:e});l(async()=>{if(t.runtimeConnection)return!0},r,1e3).catch(e=>{throwError("Failed to connect to runtime, please make sure the project is running")}),o.on("connection",(function(e){s("automator:runtime")(m("yyyy-mm-dd HH:MM:ss:l")+" connected");constr=newC(newM(e),t,"runtime");t.setRuntimeConnection(r),a(r)})),t.setRuntimeServer(o)})}}const$=s("automator:devtool");asyncfunctionS(e,t,r){const{port:s,cliPath:a,timeout:n,cwd:u="",account:d="",args:h=[],launch:f=!0}=t;letg=!1,w=!1;if(!1!==f){constt={detached:!0,stdio:"ignore"};u&&(t.cwd=u);letr=p(h,["--auto",e,"--auto-port",c(s)]);d&&(r=p(r,["--auto-account",d]));try{$("%s %o %o",a,r,t);conste=o.spawn(a,r,t);e.on("error",e=>{g=!0}),e.on("exit",()=>{setTimeout(()=>{w=!0},15e3)}),e.unref()}catch(e){g=!1}}elsesetTimeout(()=>{w=!0},15e3);consty=awaitl(async()=>{try{if(g||w)return!0;returnawaitasyncfunction(e,t){letr;try{r=awaitC.createDevtoolConnection(e.wsEndpoint,t)}catch(t){throwError(`Failed connecting to ${e.wsEndpoint}, check if target project window is opened with automation enabled`)}returnr}({wsEndpoint:"ws://127.0.0.1:"+s},r)}catch(e){}},n,1e3);if(g)throwError(`Failed to launch ${r.devtools.name}, please make sure cliPath is correctly specified`);if(w)throwError(`Failed to launch ${r.devtools.name} , please make sure http port is open`);returnawaiti(5e3),$(m("yyyy-mm-dd HH:MM:ss:l")+" connected"),y}constA=[];["","-rc"].forEach(e=>{a?(A.push(r.join(t.homedir(),`AppData/Local/Programs/swan-ide-gui${e}/cli.bat`)),A.push(`C:/Program Files/swan-ide-gui${e}/cli.bat`)):A.push(`/Applications/百度开发者工具${e}.app/Contents/MacOS/cli`)});constT={devtools:{name:"Baidu DevTools",remote:!0,automator:!0,paths:A,required:["project.swan.json","app.json","app.js"],defaultPort:9430,validate:asyncfunction(e,t){constr=function(e,t){constr=t.devtools.paths.slice(0);e&&r.unshift(e);for(consteofr)if(n.existsSync(e))returne;throwError(t.devtools.name+" not found, please specify executablePath option")}(e.executablePath,t);lets=e.port||t.devtools.defaultPort;if(!1!==e.launch)try{s=awaitasyncfunction(e,t){constr=awaitu(e||t);if(e&&r!==e)throwError(`Port ${e} is in use, please specify another port`);returnr}(s)}catch(t){e.launch=!1}else{s===awaitu(s)&&(e.launch=!0)}returnObject.assign(Object.assign({},e),{port:s,cliPath:r})},asynccreate(e,t,r){consta=awaitS(e,t,r);returns("automator:devtool")("initRuntimeAutomator"),a.send("smartapp.swan",{api:"$$initRuntimeAutomator",params:[]}),a}},adapter:{"Tool.enableRemoteDebug":{reflect:asynce=>({qrCode:(awaite("Tool.enablePreview")).url})},"App.exit":{reflect:async()=>Promise.resolve()},"Page.getElement":{reflect:async(e,t)=>(awaite("Page.getElements",t)).elements[0]},"Page.getElements":{reflect:async(e,t)=>{return{elements:(awaite("smartapp.element.getBySelector",Object.assign(Object.assign({},t),{properties:["id","tagName"],selector:(r=t.selector,r.split("").map(e=>P(e)).join(""))}))).map(e=>{constt=e.properties;return{elementId:t.id,nodeId:t.id,tagName:q(t.tagName)}})};varr}},"Page.getWindowProperties":{reflect:async(e,t)=>{constr=t.names.map(e=>e.replace("document.documentElement.","")),s=(awaite("smartapp.element.getBySelector",{properties:r,selector:"html"}))[0];return{properties:r.map(e=>s.properties[e])}}},"Element.getHTML":{reflect:async(e,t)=>{constr=[t.type+"HTML"];return{html:(awaite("Element.getDOMProperties",Object.assign(Object.assign({},t),{names:r}))).properties[0]}}},"Element.getElement":{reflect:async(e,t)=>(awaite("Element.getElements",t)).elements[0]},"Element.getElements":{reflect:async(e,t)=>{const{elements:r}=awaite("Page.getElements",Object.assign(Object.assign({},t),{selector:`#${t.elementId}${t.selector}`}));returnr.forEach(e=>{e.nodeId=e.id}),{elements:r}}},"Element.getAttributes":{reflect:async(e,t)=>{constr=[];for(constsoft.names)r.push(awaite("smartapp.element.getAttribute",Object.assign({attribute:s},t)));return{attributes:r}},params:O},"Element.getStyles":{reflect:async(e,t)=>{constr=[];for(constsoft.names)r.push(awaite("smartapp.element.getComputedStyle",Object.assign({style:s},t)));return{styles:r}},params:O},"Element.getDOMProperties":{reflect:async(e,t)=>{constr=[];for(constsoft.names)r.push(awaite("smartapp.element.getProperty",Object.assign({property:s},t)));return{properties:r}},params:O},"Element.getProperties":{reflect:async(e,t)=>{constr=[];for(constsoft.names)r.push(awaite("smartapp.element.getAttribute",Object.assign({attribute:s},t)));return{properties:r}},params:O},"Element.getOffset":{reflect:async(e,t)=>({left:awaite("smartapp.element.getProperty",Object.assign({property:"offsetLeft"},t)),top:awaite("smartapp.element.getProperty",Object.assign({property:"offsetTop"},t))}),params:O},"Element.tap":{reflect:"smartapp.element.touch",params:O}}};module.exports=T;
varn,t=Object.prototype.hasOwnProperty,e=Array.isArray;functionr(n){returnn.__wxWebviewId__?n.__wxWebviewId__:n.privateProperties?n.privateProperties.slaveId:void0}functiono(n){returnn.route||n.uri}functionu(n){return{id:r(n),path:o(n),query:n.options}}functioni(n){vart=function(n){returngetCurrentPages().find((function(t){returnr(t)===n}))}(n);returnt&&t.$vm}functiona(n,t){vare=i(n);returne&&functionn(t,e){varr,o;returnt&&(t.$scope&&((o=t.$scope).__wxExparserNodeId__||o.nodeId||o.id)===e?r=t:t.$children.find((function(t){returnr=n(t,e)}))),r}(e,t)}functionc(n,r){varo;returnn&&(o=r?function(n,r){varo,u=function(n,r){if(e(n))returnn;if(r&&(o=r,u=n,t.call(o,u)))return[n];varo,u;vari=[];returnn.replace(l,(function(n,t,e,r){returni.push(e?r.replace(/\\(\\)?/g,"$1"):t||n),r})),i}(r,n);for(o=u.shift();i=o,null!=i;){if(null==(n=n[o]))return;o=u.shift()}vari;returnn}(n.$data,r):Object.assign({},n.$data)),Promise.resolve({data:o})}functions(n,t){returnn&&Object.keys(t).forEach((function(e){n[e]=t[e]})),Promise.resolve()}functionf(t,e,r){returnnewPromise((function(o,u){if(!t)returnu(n.VM_NOT_EXISTS);if(!t[e])returnu(n.VM_NOT_EXISTS);vari,a=t[e].apply(t,r);!(i=a)||"object"!=typeofi&&"function"!=typeofi||"function"!=typeofi.then?o({result:a}):a.then((function(n){o({result:n})}))}))}!function(n){n.VM_NOT_EXISTS="VM_NOT_EXISTS",n.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(n||(n={}));varl=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;varp=/Sync$/;vard={getPageStack:function(){returnPromise.resolve({pageStack:getCurrentPages().map((function(n){returnu(n)}))})},getCurrentPage:function(){varn=getCurrentPages(),t=n.length;returnnewPromise((function(e,r){t?e(u(n[t-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(n){vart=n.method,e=n.args;returnnewPromise((function(n,r){if(!uni[t])returnr(Error("uni."+t+" not exists"));if(function(n){returnp.test(n)}(t))returnn({result:uni[t].apply(uni,e)});varo=[Object.assign({},e[0]||{},{success:function(e){setTimeout((function(){n({result:e})}),"pageScrollTo"===t?350:0)},fail:function(n){r(Error(n.errMsg.replace(t+":fail ","")))}})];uni[t].apply(uni,o)}))}},g={getData:function(n){returnc(i(n.pageId),n.path)},setData:function(n){returns(i(n.pageId),n.data)},callMethod:function(t){vare,r=((e={})[n.VM_NOT_EXISTS]="Page["+t.pageId+"] not exists",e[n.METHOD_NOT_EXISTS]="page."+t.method+" not exists",e);returnnewPromise((function(n,e){f(i(t.pageId),t.method,t.args).then((function(t){returnn(t)})).catch((function(n){e(Error(r[n]))}))}))}};functionm(n){returnn.nodeId||n.elementId}var_={getData:function(n){returnc(a(n.pageId,m(n)),n.path)},setData:function(n){returns(a(n.pageId,m(n)),n.data)},callMethod:function(t){vare,r=m(t),o=((e={})[n.VM_NOT_EXISTS]="Component["+t.pageId+":"+r+"] not exists",e[n.METHOD_NOT_EXISTS]="component."+t.method+" not exists",e);returnnewPromise((function(n,e){f(a(t.pageId,r),t.method,t.args).then((function(t){returnn(t)})).catch((function(n){e(Error(o[n]))}))}))}},v={};Object.keys(d).forEach((function(n){v["App."+n]=d[n]})),Object.keys(g).forEach((function(n){v["Page."+n]=g[n]})),Object.keys(_).forEach((function(n){v["Element."+n]=_[n]}));varh=process.env.UNI_AUTOMATOR_WS_ENDPOINT;wx.$$initRuntimeAutomator=function(n){void0===n&&(n={});vart=uni.connectSocket({url:h,complete:function(){}}),e=function(n){returnt.send({data:JSON.stringify(n)})};t.onOpen((function(t){n.success&&n.success(),console.log("已开启自动化测试...")})),t.onMessage((function(n){vart=JSON.parse(n.data),r=t.id,o=t.method,u=t.params,i={id:r},a=v[o];if(!a)returni.error={message:o+" unimplemented"},e(i);a(u).then((function(n){n&&(i.result=n)})).catch((function(n){i.error={message:n.message}})).finally((function(){e(i)}))})),t.onError((function(n){console.log("automator.onError",n)})),t.onClose((function(){n.fail&&n.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))},setTimeout((function(){wx.$$initRuntimeAutomator()}),500);
varn,t=Object.prototype.hasOwnProperty,e=Array.isArray,r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;functiono(n,o){if(e(n))returnn;if(o&&(u=o,i=n,t.call(u,i)))return[n];varu,i,a=[];returnn.replace(r,(function(n,t,e,r){returna.push(e?r.replace(/\\(\\)?/g,"$1"):t||n),r})),a}functionu(n){returnn.__wxWebviewId__?n.__wxWebviewId__:n.privateProperties?n.privateProperties.slaveId:n.$page?n.$page.id:void0}functioni(n){returnn.route||n.uri}functiona(n){returnn.options||n.$page&&n.$page.options||{}}functionc(n){return{id:u(n),path:i(n),query:a(n)}}functions(n){vart=function(n){returngetCurrentPages().find((function(t){returnu(t)===n}))}(n);returnt&&t.$vm}functionf(n,t){vare=s(n);returne&&functionn(t,e){varr,o;returnt&&(t._uid&&t._uid===e||t.$scope&&((o=t.$scope).__wxExparserNodeId__||o.nodeId||o.id)===e?r=t:t.$children.find((function(t){returnr=n(t,e)}))),r}(e,t)}functionp(n,t){vare;returnn&&(e=t?function(n,t){vare,r=o(t,n);for(e=r.shift();null!=e;){if(null==(n=n[e]))return;e=r.shift()}returnn}(n.$data,t):Object.assign({},n.$data)),Promise.resolve({data:e})}functiong(n,t){returnn&&Object.keys(t).forEach((function(e){n[e]=t[e]})),Promise.resolve()}functionl(t,e,r){returnnewPromise((function(o,u){if(!t)returnu(n.VM_NOT_EXISTS);if(!t[e])returnu(n.VM_NOT_EXISTS);vari,a=t[e].apply(t,r);!(i=a)||"object"!=typeofi&&"function"!=typeofi||"function"!=typeofi.then?o({result:a}):a.then((function(n){o({result:n})}))}))}!function(n){n.VM_NOT_EXISTS="VM_NOT_EXISTS",n.METHOD_NOT_EXISTS="METHOD_NOT_EXISTS"}(n||(n={}));vard=/Sync$/;varm={getPageStack:function(){returnPromise.resolve({pageStack:getCurrentPages().map((function(n){returnc(n)}))})},getCurrentPage:function(){varn=getCurrentPages(),t=n.length;returnnewPromise((function(e,r){t?e(c(n[t-1])):r(Error("getCurrentPages().length=0"))}))},callUniMethod:function(n){vart=n.method,e=n.args;returnnewPromise((function(n,r){if(!uni[t])returnr(Error("uni."+t+" not exists"));if(function(n){returnd.test(n)}(t))returnn({result:uni[t].apply(uni,e)});varo=[Object.assign({},e[0]||{},{success:function(e){setTimeout((function(){n({result:e})}),"pageScrollTo"===t?350:0)},fail:function(n){r(Error(n.errMsg.replace(t+":fail ","")))}})];uni[t].apply(uni,o)}))}},_={getData:function(n){returnp(s(n.pageId),n.path)},setData:function(n){returng(s(n.pageId),n.data)},callMethod:function(t){vare,r=((e={})[n.VM_NOT_EXISTS]="Page["+t.pageId+"] not exists",e[n.METHOD_NOT_EXISTS]="page."+t.method+" not exists",e);returnnewPromise((function(n,e){l(s(t.pageId),t.method,t.args).then((function(t){returnn(t)})).catch((function(n){e(Error(r[n]))}))}))}};functionh(n){returnn.nodeId||n.elementId}varv={getData:function(n){returnp(f(n.pageId,h(n)),n.path)},setData:function(n){returng(f(n.pageId,h(n)),n.data)},callMethod:function(t){vare,r=h(t),o=((e={})[n.VM_NOT_EXISTS]="Component["+t.pageId+":"+r+"] not exists",e[n.METHOD_NOT_EXISTS]="component."+t.method+" not exists",e);returnnewPromise((function(n,e){l(f(t.pageId,r),t.method,t.args).then((function(t){returnn(t)})).catch((function(n){e(Error(o[n]))}))}))}},T={};Object.keys(m).forEach((function(n){T["App."+n]=m[n]})),Object.keys(_).forEach((function(n){T["Page."+n]=_[n]})),Object.keys(v).forEach((function(n){T["Element."+n]=v[n]}));varE=process.env.UNI_AUTOMATOR_WS_ENDPOINT;wx.$$initRuntimeAutomator=function(n){void0===n&&(n={});vart=uni.connectSocket({url:E,complete:function(){}}),e=function(n){returnt.send({data:JSON.stringify(n)})};t.onOpen((function(t){n.success&&n.success(),console.log("已开启自动化测试...")})),t.onMessage((function(n){vart=JSON.parse(n.data),r=t.id,o=t.method,u=t.params,i={id:r},a=T[o];if(!a)returni.error={message:o+" unimplemented"},e(i);try{a(u).then((function(n){n&&(i.result=n)})).catch((function(n){i.error={message:n.message}})).finally((function(){e(i)}))}catch(n){i.error={message:n.message},e(i)}})),t.onError((function(n){console.log("automator.onError",n)})),t.onClose((function(){n.fail&&n.fail({errMsg:"$$initRuntimeAutomator:fail"}),console.log("automator.onClose")}))},setTimeout((function(){wx.$$initRuntimeAutomator()}),500);
"use strict";functione(e){returne&&"object"==typeofe&&"default"ine?e.default:e}vart=e(require("licia/isWindows")),n=e(require("jimp"));require("licia/isStr");require("qrcode-terminal");consta=require("qrcode-reader");constr={devtools:{name:"Wechat web devTools",remote:!0,automator:!0,paths:[t?"C:/Program Files (x86)/Tencent/微信web开发者工具/cli.bat":"/Applications/wechatwebdevtools.app/Contents/MacOS/cli"],required:["project.config.json","app.json","app.js"],defaultPort:9420},adapter:{"Tool.enableRemoteDebug":{reflect:async(e,t)=>{let{qrCode:r}=awaite("Tool.enableRemoteDebug",t,!1);returnr&&(r=awaitfunction(e){constt=newBuffer(e,"base64");returnnewPromise(async(e,r)=>{consto=awaitn.read(t),c=newa;c.callback=function(t,n){if(t)returnr(t);e(n.result)},c.decode(o.bitmap)})}(r)),{qrCode:r}}},"App.callUniMethod":{reflect:"App.callWxMethod"},"App.callFunction":{reflect:async(e,t)=>{returne("App.callFunction",Object.assign(Object.assign({},t),{functionDeclaration:(n=t.functionDeclaration,"}"===n[n.length-1]?n.replace("{","{\nvar uni = wx;\n"):n.replace("=>","=>{\nvar uni = wx;\nreturn ")+"}")}),!1);varn}},"Element.getHTML":{reflect:async(e,t)=>({html:(awaite("Element.getWXML",t,!1)).wxml})}}};module.exports=r;
"use strict";functione(e){returne&&"object"==typeofe&&"default"ine?e.default:e}vart=e(require("debug")),r=e(require("licia/isWindows")),n=e(require("jimp"));require("licia/isStr");varo=e(require("licia/getPort")),s=e(require("fs")),i=e(require("child_process")),a=e(require("licia/sleep")),c=e(require("licia/toStr")),l=e(require("licia/waitUntil")),u=e(require("licia/concat")),d=e(require("licia/dateFormat")),p=e(require("ws")),h=require("events"),m=e(require("licia/uuid")),w=e(require("licia/stringify"));require("qrcode-terminal");constf=require("qrcode-reader");classyextendsh.EventEmitter{constructor(e){super(),this.ws=e,this.ws.addEventListener("message",e=>{this.emit("message",e.data)}),this.ws.addEventListener("close",()=>{this.emit("close")})}send(e){this.ws.send(e)}close(){this.ws.close()}}classgextendsh.EventEmitter{constructor(e,r,n){super(),this.puppet=r,this.namespace=n,this.callbacks=newMap,this.transport=e,this.debug=t("automator:protocol:"+this.namespace),this.onMessage=e=>{this.debug(`${d("yyyy-mm-dd HH:MM:ss:l")} ◀ RECV ${e}`);const{id:t,method:r,error:n,result:o,params:s}=JSON.parse(e);if(!t)returnthis.puppet.emit(r,s);const{callbacks:i}=this;if(t&&i.has(t)){conste=i.get(t);i.delete(t),n?e.reject(Error(n.message)):e.resolve(o)}},this.onClose=()=>{this.callbacks.forEach(e=>{e.reject(Error("Connection closed"))})},this.transport.on("message",this.onMessage),this.transport.on("close",this.onClose)}send(e,t={},r=!0){if(r&&this.puppet.adapter.has(e))returnthis.puppet.adapter.send(this,e,t);constn=m(),o=w({id:n,method:e,params:t});returnthis.debug(`${d("yyyy-mm-dd HH:MM:ss:l")} SEND ► ${o}`),newPromise((e,t)=>{try{this.transport.send(o)}catch(e){t(Error("Connection closed"))}this.callbacks.set(n,{resolve:e,reject:t})})}dispose(){this.transport.close()}staticcreateDevtoolConnection(e,t){returnnewPromise((r,n)=>{consto=newp(e);o.addEventListener("open",()=>{r(newg(newy(o),t,"devtool"))}),o.addEventListener("error",n)})}staticcreateRuntimeConnection(e,r,n){returnnewPromise((o,s)=>{t("automator:runtime")(`${d("yyyy-mm-dd HH:MM:ss:l")} port=${e}`);consti=newp.Server({port:e});l(async()=>{if(r.runtimeConnection)return!0},n,1e3).catch(e=>{throwError("Failed to connect to runtime, please make sure the project is running")}),i.on("connection",(function(e){t("automator:runtime")(d("yyyy-mm-dd HH:MM:ss:l")+" connected");constn=newg(newy(e),r,"runtime");r.setRuntimeConnection(n),o(n)})),r.setRuntimeServer(i)})}}constv=t("automator:devtool");asyncfunctionb(e,t,r){const{port:n,cliPath:o,timeout:s,cwd:p="",account:h="",args:m=[],launch:w=!0}=t;letf=!1,y=!1;if(!1!==w){constt={detached:!0,stdio:"ignore"};p&&(t.cwd=p);letr=u(m,["--auto",e,"--auto-port",c(n)]);h&&(r=u(r,["--auto-account",h]));try{v("%s %o %o",o,r,t);conste=i.spawn(o,r,t);e.on("error",e=>{f=!0}),e.on("exit",()=>{setTimeout(()=>{y=!0},15e3)}),e.unref()}catch(e){f=!1}}elsesetTimeout(()=>{y=!0},15e3);constb=awaitl(async()=>{try{if(f||y)return!0;returnawaitasyncfunction(e,t){letr;try{r=awaitg.createDevtoolConnection(e.wsEndpoint,t)}catch(t){throwError(`Failed connecting to ${e.wsEndpoint}, check if target project window is opened with automation enabled`)}returnr}({wsEndpoint:"ws://127.0.0.1:"+n},r)}catch(e){}},s,1e3);if(f)throwError(`Failed to launch ${r.devtools.name}, please make sure cliPath is correctly specified`);if(y)throwError(`Failed to launch ${r.devtools.name} , please make sure http port is open`);returnawaita(5e3),v(d("yyyy-mm-dd HH:MM:ss:l")+" connected"),b}constE={devtools:{name:"Wechat web devTools",remote:!0,automator:!0,paths:[r?"C:/Program Files (x86)/Tencent/微信web开发者工具/cli.bat":"/Applications/wechatwebdevtools.app/Contents/MacOS/cli"],required:["project.config.json","app.json","app.js"],defaultPort:9420,validate:asyncfunction(e,t){constr=function(e,t){constr=t.devtools.paths.slice(0);e&&r.unshift(e);for(consteofr)if(s.existsSync(e))returne;throwError(t.devtools.name+" not found, please specify executablePath option")}(e.executablePath,t);letn=e.port||t.devtools.defaultPort;if(!1!==e.launch)try{n=awaitasyncfunction(e,t){constr=awaito(e||t);if(e&&r!==e)throwError(`Port ${e} is in use, please specify another port`);returnr}(n)}catch(t){e.launch=!1}else{n===awaito(n)&&(e.launch=!0)}returnObject.assign(Object.assign({},e),{port:n,cliPath:r})},asynccreate(e,r,n){consto=awaitb(e,r,n);returnt("automator:devtool")("initRuntimeAutomator"),o.send("App.callWxMethod",{method:"$$initRuntimeAutomator",args:[]}),o}},adapter:{"Tool.enableRemoteDebug":{reflect:async(e,t)=>{let{qrCode:r}=awaite("Tool.enableRemoteDebug",t,!1);returnr&&(r=awaitfunction(e){constt=newBuffer(e,"base64");returnnewPromise(async(e,r)=>{consto=awaitn.read(t),s=newf;s.callback=function(t,n){if(t)returnr(t);e(n.result)},s.decode(o.bitmap)})}(r)),{qrCode:r}}},"App.callFunction":{reflect:async(e,t)=>{returne("App.callFunction",Object.assign(Object.assign({},t),{functionDeclaration:(r=t.functionDeclaration,"}"===r[r.length-1]?r.replace("{","{\nvar uni = wx;\n"):r.replace("=>","=>{\nvar uni = wx;\nreturn ")+"}")}),!1);varr}},"Element.getHTML":{reflect:async(e,t)=>({html:(awaite("Element.getWXML",t,!1)).wxml})}}};module.exports=E;