1 line
131 KiB
JavaScript
Executable File
1 line
131 KiB
JavaScript
Executable File
(()=>{"use strict";var e,t={8567:(e,t,n)=>{var r=n(15671),a=n(43144),o=n(67294),c=n(20745),i=n(4942),s=n(15861),l=n(64687),u=n.n(l);var d=n(44624),f=n(1290),p=n(27885),m=n(23435),h=new Worker("/src/linter.worker.js");var g=function(){function e(){(0,r.Z)(this,e)}return(0,a.Z)(e,null,[{key:"sendLinterMessage",value:function(e){h.postMessage(e)}}]),e}();(0,i.Z)(g,"hook",new d.Z),h.onmessage=function(e){g.hook.trigger("message",e.data)};n(44471);var v=n(93379),y=n.n(v),b=n(7795),Z=n.n(b),E=n(90569),k=n.n(E),w=n(3565),x=n.n(w),O=n(19216),S=n.n(O),C=n(44589),j=n.n(C),A=n(49212),P={};P.styleTagTransform=j(),P.setAttributes=x(),P.insert=k().bind(null,"head"),P.domAPI=Z(),P.insertStyleElement=S();y()(A.Z,P);A.Z&&A.Z.locals&&A.Z.locals;n(48945);var R=n(57805),I=n(65832),T=n(97326),M=n(60136),N=n(27121),D=n(61120),L=n(41643);function B(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,D.Z)(e);if(t){var a=(0,D.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,N.Z)(this,n)}}var U,_=function(e){(0,M.Z)(n,e);var t=B(n);function n(e){var a;return(0,r.Z)(this,n),a=t.call(this),(0,i.Z)((0,T.Z)(a),"stream",new Map),a.window=e,a.channelManager=new L.dS((function(e){a.nativeSend(e)})),window.addEventListener("message",(function(e){a.handler(e.data,a.channelManager,{targetTag:"sandbox"})})),a}return(0,a.Z)(n,[{key:"nativeSend",value:function(e){this.window.postMessage(e,"*")}},{key:"getChannel",value:function(e){return this.channelManager.getChannel(e)}},{key:"channel",value:function(e){return this.channelManager.channel(e)}},{key:"disChannel",value:function(e){return this.channelManager.disChannel(e)}},{key:"free",value:function(){return this.channelManager.free()}},{key:"syncSend",value:function(e,t){return this.channelManager.channel().syncSend(e,t)}},{key:"send",value:function(e,t){this.nativeSend({action:e,data:t})}}]),n}(L.Ez),F=n(39259),V=n(41258),z=n(29376),G=n(86735),K=n(12875),H=n(10802),W=n(51870),q=n(3067),J=n(73471),Y=n(70885),Q=n(79275),X=n(14511),$=V.Z.Singleton(R.Z)(U=function(){function e(t){(0,r.Z)(this,e),(0,i.Z)(this,"scriptDAO",new Q.Ru),(0,i.Z)(this,"subscribeDAO",new X.zk),this.internal=t}return(0,a.Z)(e,[{key:"dispatchEvent",value:function(e,t){return this.internal.syncSend("script-".concat(e),t)}},{key:"upsert",value:function(e){return this.dispatchEvent("upsert",e)}},{key:"enable",value:function(e){return this.dispatchEvent("enable",e)}},{key:"disable",value:function(e){return this.dispatchEvent("disable",e)}},{key:"delete",value:function(e){return this.dispatchEvent("delete",e)}},{key:"fetchScriptInfo",value:function(e){return this.dispatchEvent("fetch",e)}},{key:"checkUpdate",value:function(e){return this.dispatchEvent("checkUpdate",e)}},{key:"importByUrl",value:function(e){return this.dispatchEvent("importByUrl",e)}},{key:"exclude",value:function(e,t,n){return this.dispatchEvent("exclude",{id:e,exclude:t,remove:n})}}]),e}())||U,ee=n(45409),te=n(67710),ne=n(82695),re=n(65630),ae=n(77303),oe=n(66807),ce=n(63086),ie=n(49468),se=n(72297),le=n(31944),ue=n(77217),de=n(15959),fe=n(15386),pe=n(11910),me=n(21279);n(44098);function he(e){if("auto"===e){var t=window.matchMedia("(prefers-color-scheme: dark)"),n=function(e){e?(document.body.setAttribute("arco-theme","dark"),f.j6.setTheme("vs-dark")):(document.body.removeAttribute("arco-theme"),f.j6.setTheme("vs"))};t.addEventListener("change",(function(e){n(e.matches)})),n(t.matches)}else document.body.setAttribute("arco-theme",e),f.j6.setTheme("dark"===e?"vs-dark":"vs")}const ge=function(e){var t=e.children,n=e.className,r=e.pageName,a=(0,o.useState)(localStorage.lightMode||"auto"),c=(0,Y.Z)(a,2),i=c[0],l=c[1],d=(0,o.useRef)(null),f=(0,o.useState)(!1),p=(0,Y.Z)(f,2),m=p[0],h=p[1];return he(i),o.createElement(ee.Z,null,o.createElement(ee.Z.Header,{style:{height:"50px",borderBottom:"1px solid var(--color-neutral-3)"},className:"flex items-center justify-between p-x-4"},o.createElement(te.Z,{title:"链接导入",visible:m,onOk:(0,s.Z)(u().mark((function e(){var t;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=V.Z.instance($),e.prev=1,e.next=4,t.importByUrl(d.current.dom.value);case 4:e.next=9;break;case 6:e.prev=6,e.t0=e.catch(1),q.Z.error("链接导入失败: ".concat(e.t0));case 9:h(!1);case 10:case"end":return e.stop()}}),e,null,[[1,6]])}))),onCancel:function(){h(!1)}},o.createElement(ne.Z,{ref:d,defaultValue:""})),o.createElement("div",{className:"flex row items-center"},o.createElement("img",{style:{height:"40px"},src:"/assets/logo.png",alt:"ScriptCat"}),o.createElement(re.Z.Title,{heading:4,className:"!m-0"},"ScriptCat")),o.createElement(ae.Z,{size:"small",className:"action-tools"},"options"===r&&o.createElement(oe.Z,{droplist:o.createElement(ce.Z,{style:{maxHeight:"100%",width:"calc(100% + 10px)"}},o.createElement(ce.Z.Item,{key:"/script/editor"},o.createElement("a",{href:"#/script/editor"},o.createElement(me.Mdh,null)," 添加普通脚本")),o.createElement(ce.Z.Item,{key:"background"},o.createElement("a",{href:"#/script/editor?template=background"},o.createElement(me.NJc,null)," 添加后台脚本")),o.createElement(ce.Z.Item,{key:"crontab"},o.createElement("a",{href:"#/script/editor?template=crontab"},o.createElement(me.Phe,null)," 添加定时脚本")),o.createElement(ce.Z.Item,{key:"link",onClick:function(){h(!0)}},o.createElement(se.Z,null)," 链接导入")),position:"bl"},o.createElement(ie.Z,{type:"text",size:"small",style:{color:"var(--color-text-1)"},className:"!text-size-sm"},o.createElement(me.QEj,null)," 新建脚本 ",o.createElement(le.Z,null))),"options"===r&&o.createElement(oe.Z,{droplist:o.createElement(ce.Z,{style:{maxHeight:"100%",width:"calc(100% + 10px)"}},o.createElement(ce.Z.Item,{key:"scriptcat/docs/use/"},o.createElement("a",{href:"https://docs.scriptcat.org/docs/use/",target:"_blank",rel:"noreferrer"},o.createElement(me.Mdh,null)," 使用指南")),o.createElement(ce.Z.Item,{key:"scriptcat/docs/dev/"},o.createElement("a",{href:"https://docs.scriptcat.org/docs/dev/",target:"_blank",rel:"noreferrer"},o.createElement(me.Mdh,null)," API文档")),o.createElement(ce.Z.Item,{key:"scriptcat/docs/learn/"},o.createElement("a",{href:"https://learn.scriptcat.org/docs/%E7%AE%80%E4%BB%8B/",target:"_blank",rel:"noreferrer"},o.createElement(me.Mdh,null)," 开发指南")),o.createElement(ce.Z.Item,{key:"scriptcat/userscript"},o.createElement("a",{href:"https://scriptcat.org/search",target:"_blank",rel:"noreferrer"},o.createElement(se.Z,null)," 脚本站")),o.createElement(ce.Z.Item,{key:"tampermonkey/bbs"},o.createElement("a",{href:"https://bbs.tampermonkey.net.cn/",target:"_blank",rel:"noreferrer"},o.createElement(se.Z,null)," 社区论坛")),o.createElement(ce.Z.Item,{key:"GitHub"},o.createElement("a",{href:"https://github.com/scriptscat/scriptcat",target:"_blank",rel:"noreferrer"},o.createElement(ue.Z,null)," GitHub"))),position:"bl"},o.createElement(ie.Z,{type:"text",size:"small",style:{color:"var(--color-text-1)"},className:"!text-size-sm"},o.createElement(me.DNM,null)," 外部链接 ",o.createElement(le.Z,null))),o.createElement(oe.Z,{droplist:o.createElement(ce.Z,{onClickMenuItem:function(e){he(e),l(e),localStorage.lightMode=e},selectedKeys:[i]},o.createElement(ce.Z.Item,{key:"light"},o.createElement(de.Z,null)," Light"),o.createElement(ce.Z.Item,{key:"dark"},o.createElement(fe.Z,null)," Dark"),o.createElement(ce.Z.Item,{key:"auto"},o.createElement(pe.Z,null)," 跟随系统")),position:"bl"},o.createElement(ie.Z,{type:"text",size:"small",icon:o.createElement(o.Fragment,null,"auto"===i&&o.createElement(pe.Z,null),"light"===i&&o.createElement(de.Z,null),"dark"===i&&o.createElement(fe.Z,null)),style:{color:"var(--color-text-1)"},className:"!text-size-lg"})))),o.createElement(ee.Z,{className:"absolute top-50px bottom-0 w-full ".concat(n),style:{background:"var(--color-fill-2)"}},t))};var ve=n(42982),ye=n(71002),be=n(55507),Ze=n(67029),Ee=n(41606),ke=n(52536),we=n(27484),xe=n.n(we),Oe=n(22464),Se=n(94558),Ce=n(59547),je=n(86233),Ae={};Ae.styleTagTransform=j(),Ae.setAttributes=x(),Ae.insert=k().bind(null,"head"),Ae.domAPI=Z(),Ae.insertStyleElement=S();y()(je.Z,Ae);je.Z&&je.Z.locals&&je.Z.locals;function Pe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pe(Object(n),!0).forEach((function(t){(0,i.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}const Ie=function(e){var t=e.value,n=e.labels,r=e.onChange,a=e.onClose,c=n[t.key]||{};return o.createElement("div",{className:"log-query-label"},o.createElement(Se.Z,{showSearch:!0,placeholder:"key",value:t.key||void 0,onChange:function(e){r(Re(Re({},t),{},{key:e}))},triggerProps:{autoAlignPopupWidth:!1,autoAlignPopupMinWidth:!0,position:"bl"}},Object.keys(n).map((function(e){return o.createElement(Se.Z.Option,{key:e,value:e},e)}))),o.createElement(Se.Z,{placeholder:"condition",value:t.condition||"=",onChange:function(e){r(Re(Re({},t),{},{condition:e}))}},o.createElement(Se.Z.Option,{value:"="},"="),o.createElement(Se.Z.Option,{value:"=~"},"=~"),o.createElement(Se.Z.Option,{value:"!="},"!="),o.createElement(Se.Z.Option,{value:"!~"},"!~")),o.createElement(Se.Z,{showSearch:!0,placeholder:"value",value:t.value||void 0,onChange:function(e){r(Re(Re({},t),{},{value:e}))},triggerProps:{autoAlignPopupWidth:!1,autoAlignPopupMinWidth:!0,position:"bl"}},Object.keys(c).map((function(e){return o.createElement(Se.Z.Option,{key:e,value:e},e)}))),o.createElement(ie.Z,{iconOnly:!0,icon:o.createElement(Ce.Z,null),onClick:a}))};var Te=n(84566),Me=n(39711);const Ne=function(){var e=o.useState({}),t=(0,Y.Z)(e,2),n=t[0],r=t[1],a=JSON.parse((0,Me.lr)()[0].get("query")||"[{}]"),c=o.useState(0),i=(0,Y.Z)(c,2),s=i[0],l=i[1],u=o.useState(a),d=(0,Y.Z)(u,2),f=d[0],p=d[1],m=o.useState([]),h=(0,Y.Z)(m,2),g=h[0],v=h[1],y=o.useState([]),b=(0,Y.Z)(y,2),Z=b[0],E=b[1],k=o.useState(""),w=(0,Y.Z)(k,2),x=w[0],O=w[1],S=o.useState(xe()().subtract(1,"hour").unix()),C=(0,Y.Z)(S,2),j=C[0],A=C[1],P=o.useState(xe()().unix()),R=(0,Y.Z)(P,2),I=R[0],T=R[1],M=new K.z,N=V.Z.instance(H.T),D=function(){var e=[],t=x&&new RegExp(x);g.forEach((function(n){for(var r=0;r<f.length;r+=1){var a=f[r];if(a.key){var o=n.label[a.key];switch(a.condition){case"=":default:if(o!=a.value)return;break;case"=~":case"!~":if("string"==typeof o&&-1===o.indexOf(a.value))return;break;case"!=":if(o==a.value)return}}}t&&!t.test(n.message)||e.push(n)})),l(4),E(e)};return(0,o.useEffect)((function(){1===s&&a.length&&a[0].key&&(D(),l(2))}),[s]),(0,o.useEffect)((function(){M.queryLogs(1e3*j,1e3*I).then((function(e){v(e);var t=n;e.forEach((function(e){Object.keys(e.label).forEach((function(n){t[n]||(t[n]={});var r=e.label[n];switch((0,ye.Z)(r)){case"string":case"number":t[n][r]=!0}}))})),r(t),E([]),0===s&&l(1)}))}),[j,I]),o.createElement(o.Fragment,null,o.createElement(be.Z,{visibleHeight:30,style:{position:"absolute"},target:function(){return document.getElementById("backtop")}}),o.createElement("div",{id:"backtop",style:{height:"100%",overflow:"auto",position:"relative"}},o.createElement(ae.Z,{direction:"vertical",className:"log-space",style:{width:"100%"}},o.createElement(Ze.Z,{bordered:!1,title:"运行日志",extra:o.createElement(ae.Z,{size:"large"},o.createElement(Ee.Z.RangePicker,{style:{width:400},showTime:!0,shortcutsPlacementLeft:!0,value:[1e3*j,1e3*I],onChange:function(e,t){A(t[0].unix()),T(t[1].unix())},shortcuts:[{text:"最近5分钟",value:function(){return[xe()(),xe()().add(-5,"minute")]}},{text:"最近15分钟",value:function(){return[xe()(),xe()().add(-15,"minute")]}},{text:"最近30分钟",value:function(){return[xe()(),xe()().add(-30,"minute")]}},{text:"最近1小时",value:function(){return[xe()(),xe()().add(-1,"hour")]}},{text:"最近3小时",value:function(){return[xe()(),xe()().add(-3,"hour")]}},{text:"最近6小时",value:function(){return[xe()(),xe()().add(-6,"hour")]}},{text:"最近12小时",value:function(){return[xe()(),xe()().add(-12,"hour")]}},{text:"最近24小时",value:function(){return[xe()(),xe()().add(-24,"hour")]}},{text:"最近7天",value:function(){return[xe()(),xe()().add(-7,"day")]}}]}),o.createElement(ie.Z,{type:"primary",onClick:D},"查询"))},o.createElement(ae.Z,{direction:"vertical"},o.createElement(ae.Z,{style:{background:"var(--color-neutral-1)",padding:8},direction:"vertical"},o.createElement("div",{className:"text-sm font-medium"},"labels"),o.createElement(ae.Z,null,f.map((function(e,t){return o.createElement(Ie,{key:e.key+e.value,value:e,labels:n,onChange:function(e){f[t]=e,p((0,ve.Z)(f))},onClose:function(){f.splice(t,1),p((0,ve.Z)(f))}})})),o.createElement(ie.Z,{iconOnly:!0,onClick:function(){p([].concat((0,ve.Z)(f),[{key:"",condition:"=",value:""}]))},icon:o.createElement(Te.Z,null)}))),o.createElement(ae.Z,{style:{background:"var(--color-neutral-1)",padding:8},direction:"vertical"},o.createElement("div",{className:"text-sm font-medium"},"搜索(支持正则)"),o.createElement(ne.Z,{value:x,onChange:function(e){return O(e)}})))),o.createElement(Ze.Z,{className:"show-log-card",bordered:!1,title:"日志",extra:o.createElement(ae.Z,null,o.createElement(ae.Z,null,o.createElement("span",null,"定时清理"),o.createElement(ne.Z,{defaultValue:N.logCleanCycle.toString(),style:{width:"60px"},type:"number",onChange:function(e){N.logCleanCycle=parseInt(e,10)}}),o.createElement("span",null,"天前的日志")),o.createElement(ie.Z,{type:"primary",status:"warning",onClick:function(){Z.forEach((function(e){M.delete(e.id)})),E([]),v([]),q.Z.info("删除完成")}},"删除当前日志"),o.createElement(ie.Z,{type:"primary",status:"danger",onClick:function(){M.clear(),E([]),v([]),q.Z.info("清空完成")}},"清空日志")),style:{padding:8,height:"100%",boxSizing:"border-box"}},o.createElement(Oe.Z,null,(0,W.UZ)(j)," 到 ",(0,W.UZ)(I)," 共查询到",g.length,"条日志",4===s?",筛选后".concat(Z.length,"条日志"):",请输入筛选条件进行查询"),o.createElement(ke.Z,{style:{height:"100%",overflow:"auto"},size:"small",dataSource:Z,render:function(e,t){return o.createElement(ke.Z.Item,{key:t,style:{background:"error"===e.level?"var(--color-danger-light-2)":"warn"===e.level?"var(--color-warning-light-2)":"info"===e.level?"var(--color-success-light-2)":"var(--color-primary-light-1)"}},(0,W.UZ)(e.createtime/1e3)," ","object"===(0,ye.Z)(e.message)?JSON.stringify(e.message):e.message," ",JSON.stringify(e.label))}})))))};var De=function(e,t){var n=e.id,r=e.className,a=e.code,c=e.diffCode,i=e.editable,s=(0,o.useState)(),l=(0,Y.Z)(s,2),u=l[0],d=l[1];return(0,o.useImperativeHandle)(t,(function(){return{editor:u}})),(0,o.useEffect)((function(){if(void 0===c||void 0===a)return function(){};var e,t=window.tsUrl?0:200;return setTimeout((function(){var t=document.getElementById(n);c?(e=f.j6.createDiffEditor(t,{enableSplitViewResizing:!1,renderSideBySide:!1,folding:!0,foldingStrategy:"indentation",automaticLayout:!0,overviewRulerBorder:!1,scrollBeyondLastLine:!1,readOnly:!0,diffWordWrap:"off",glyphMargin:!0})).setModel({original:f.j6.createModel(c,"javascript"),modified:f.j6.createModel(a,"javascript")}):((e=f.j6.create(t,{language:"javascript",theme:"dark"===document.body.getAttribute("arco-theme")?"vs-dark":"vs",folding:!0,foldingStrategy:"indentation",automaticLayout:!0,overviewRulerBorder:!1,scrollBeyondLastLine:!1,readOnly:!i,glyphMargin:!0})).setValue(a),d(e))}),t),function(){e&&e.dispose()}}),[a,c]),(0,o.useEffect)((function(){var e=V.Z.instance(H.T);if(!e.enableEslint)return function(){};if(!u)return function(){};var t,r=u.getModel();if(!r)return function(){};var a=function(){t&&clearTimeout(t),t=setTimeout((function(){t=null,g.sendLinterMessage({code:r.getValue(),id:n,config:JSON.parse(e.eslintConfig)})}),500)};a(),r.onDidChangeContent((function(){a()}));var o=function(e){if(n===e.id){f.j6.setModelMarkers(r,"ESLint",e.markers);var t=new Map;e.markers.forEach((function(e){e.fix&&t.set("".concat(e.code.value,"|").concat(e.startLineNumber,"|").concat(e.endLineNumber,"|").concat(e.startColumn,"|").concat(e.endColumn),e.fix)})),m.Z.getInstance().set("eslint-fix",t);var a,o,c,i=e.markers.map((function(e){return{startLineNumber:e.startLineNumber,endLineNumber:e.endLineNumber,severity:e.severity}}));a=i,o={4:"icon-warn",8:"icon-error"},c=r.getAllDecorations().filter((function(e){return e.options.glyphMarginClassName&&Object.values(o).includes(e.options.glyphMarginClassName)})),u.removeDecorations(c.map((function(e){return e.id}))),u.createDecorationsCollection(a.map((function(e){var t=e.startLineNumber,n=e.endLineNumber,r=e.severity;return{range:new f.e6(t,1,n,1),options:{isWholeLine:!0,glyphMarginClassName:o[r]}}})))}};return g.hook.addListener("message",o),function(){g.hook.removeListener("message",o)}}),[u]),o.createElement("div",{id:n,style:{margin:0,padding:0,border:0,width:"100%",height:"100%",overflow:"hidden"},className:r})};const Le=o.forwardRef(De);var Be=n(96974),Ue=n(4284),_e=n(15695),Fe=n(51396),Ve=n(29893);var ze=n(43528),Ge=n(93554),Ke={};Ke.styleTagTransform=j(),Ke.setAttributes=x(),Ke.insert=k().bind(null,"head"),Ke.domAPI=Z(),Ke.insertStyleElement=S();y()(Ge.Z,Ke);Ge.Z&&Ge.Z.locals&&Ge.Z.locals;var He,We=n(42070),qe=n(77337),Je=n(26770),Ye=n(46601),Qe=function(){function e(t,n){(0,r.Z)(this,e),this.message=t,this.name=n,this.logger=z.Z.getLogger({component:this.name,controller:!0})}return(0,a.Z)(e,[{key:"dispatchEvent",value:function(e,t){return this.message.syncSend("".concat(this.name,"-").concat(e),t)}}]),e}();function Xe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,D.Z)(e);if(t){var a=(0,D.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,N.Z)(this,n)}}var $e=V.Z.Singleton(R.Z)(He=function(e){(0,M.Z)(o,e);var t,n=Xe(o);function o(e){var t;return(0,r.Z)(this,o),(t=n.call(this,e,"value")).internal=e,t.valueDAO=new Ye.Q,t}return(0,a.Z)(o,[{key:"setValue",value:function(e,t,n){return this.dispatchEvent("upsert",{scriptId:e,key:t,value:n})}},{key:"getValues",value:(t=(0,s.Z)(u().mark((function e(t){var n,r;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={},t.metadata.storagename?(r=(0,Y.Z)(t.metadata.storagename,1),n.storageName=r[0]):n.scriptId=t.id,e.t0=Promise,e.next=5,this.valueDAO.list(n);case 5:return e.t1=e.sent,e.abrupt("return",e.t0.resolve.call(e.t0,e.t1));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"watchValue",value:function(e){var t=this.internal.channel();return t.channel("watchValue",e),t}}]),o}(Qe))||He,et=n(57745),tt=n(38406),nt=n(2687),rt=n(99197),at=n(73678),ot=n(22208),ct=n(61803),it=n(61873);function st(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?st(Object(n),!0).forEach((function(t){(0,i.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):st(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}const ut=function(e){var t=e.script,n=e.visible,r=e.onCancel,a=e.onOk,c=(0,o.useState)([]),i=(0,Y.Z)(c,2),s=i[0],l=i[1],u=(0,o.useRef)(null),d=V.Z.instance($e),f=(0,o.useState)(),p=(0,Y.Z)(f,2),m=p[0],h=p[1],g=(0,o.useState)(!1),v=(0,Y.Z)(g,2),y=v[0],b=v[1],Z=et.Z.useForm(),E=(0,Y.Z)(Z,1)[0];(0,o.useEffect)((function(){if(!t)return function(){};d.getValues(t).then((function(e){l(e)}));var e=d.watchValue(t);return e.setHandler((function(e){l((function(t){var n=t.findIndex((function(t){return t.key===e.key}));return-1===n?void 0===e.value?t:[e].concat((0,ve.Z)(t)):void 0===e.value?(t.splice(n,1),(0,ve.Z)(t)):(t[n]=e,(0,ve.Z)(t))}))})),function(){e.disChannel()}}),[t]);var k=[{title:"key",dataIndex:"key",key:"key",filterIcon:o.createElement(ot.Z,null),width:140,filterDropdown:function(e){var t=e.filterKeys,n=e.setFilterKeys,r=e.confirm;return o.createElement("div",{className:"arco-table-custom-filter"},o.createElement(ne.Z.Search,{ref:u,searchButton:!0,placeholder:"请输入key",value:t[0]||"",onChange:function(e){n(e?[e]:[])},onSearch:function(){r()}}))},onFilter:function(e,t){return!e||-1!==t.key.indexOf(e)},onFilterDropdownVisibleChange:function(e){e&&setTimeout((function(){return u.current.focus()}),150)}},{title:"value",dataIndex:"value",key:"value",className:"max-table-cell",render:function(e){return"string"===(0,ye.Z)(e)?e:o.createElement("span",{style:{whiteSpace:"break-spaces"}},JSON.stringify(e,null,2))}},{title:"类型",dataIndex:"value",width:90,key:"type",render:function(e){return(0,W.uO)(e)}},{title:"操作",render:function(e,n,r){return o.createElement(ae.Z,null,o.createElement(ie.Z,{type:"text",icon:o.createElement(ct.Z,null),onClick:function(){h(n),b(!0)}}),o.createElement(ie.Z,{type:"text",iconOnly:!0,icon:o.createElement(it.Z,null),onClick:function(){d.setValue(t.id,n.key,void 0),q.Z.info({content:"删除成功"}),l(s.filter((function(e,t){return t!==r})))}}))}}];return o.createElement(tt.Z,{width:600,title:o.createElement("span",null,null==t?void 0:t.name," 脚本储存"),visible:n,onOk:a,onCancel:r},o.createElement(te.Z,{title:m?"编辑值":"新增值",visible:y,onOk:function(){E.validate().then((function(e){switch(e.type){case"number":e.value=Number(e.value);break;case"boolean":e.value="true"===e.value;break;case"object":e.value=JSON.parse(e.value)}d.setValue(t.id,e.key,e.value),m?(q.Z.info({content:"修改成功"}),l(s.map((function(t){return t.key===e.key?lt(lt({},t),{},{value:e.value}):t})))):(q.Z.info({content:"添加成功"}),l([{id:0,scriptId:t.id,storageName:(null==t?void 0:t.metadata.storagename)&&(null==t?void 0:t.metadata.storagename[0])||"",key:e.key,value:e.value,createtime:Date.now(),updatetime:0}].concat((0,ve.Z)(s)))),b(!1)}))},onCancel:function(){return b(!1)}},y&&o.createElement(et.Z,{form:E,initialValues:{key:null==m?void 0:m.key,value:"string"==typeof(null==m?void 0:m.value)?null==m?void 0:m.value:JSON.stringify(null==m?void 0:m.value,null,2),type:(0,W.uO)((null==m?void 0:m.value)||"string")}},o.createElement(at.Z,{label:"Key",field:"key",rules:[{required:!0}]},o.createElement(ne.Z,{placeholder:"key",disabled:!!m})),o.createElement(at.Z,{label:"Value",field:"value",rules:[{required:!0}]},o.createElement(ne.Z.TextArea,{rows:6,placeholder:"当类型为object时,请输入可以JSON解析的数据"})),o.createElement(at.Z,{label:"类型",field:"type",rules:[{required:!0}]},o.createElement(Se.Z,null,o.createElement(Se.Z.Option,{value:"string"},"string"),o.createElement(Se.Z.Option,{value:"number"},"number"),o.createElement(Se.Z.Option,{value:"boolean"},"boolean"),o.createElement(Se.Z.Option,{value:"object"},"object"))))),o.createElement(ae.Z,{className:"w-full",direction:"vertical"},o.createElement(ae.Z,{className:"!flex justify-end"},o.createElement(nt.Z,{focusLock:!0,title:"你真的要清空这个储存空间吗?",onOk:function(){l((function(e){return e.forEach((function(e){d.setValue(t.id,e.key,void 0)})),q.Z.info({content:"清空成功"}),[]}))}},o.createElement(ie.Z,{type:"primary",status:"warning"},"清空")),o.createElement(ie.Z,{type:"primary",onClick:function(){h(void 0),b(!0)}},"新增")),o.createElement(rt.Z,{columns:k,data:s,rowKey:"id"})))};var dt;function ft(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,D.Z)(e);if(t){var a=(0,D.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,N.Z)(this,n)}}var pt=V.Z.Singleton(R.Z)(dt=function(e){(0,M.Z)(n,e);var t=ft(n);function n(e){return(0,r.Z)(this,n),t.call(this,e,"resource")}return(0,a.Z)(n,[{key:"getResource",value:function(e){return this.dispatchEvent("getScriptResources",e)}},{key:"deleteResource",value:function(e){return this.dispatchEvent("deleteResource",e)}}]),n}(Qe))||dt,mt=n(71809);const ht=function(e){var t=e.script,n=e.visible,r=e.onCancel,a=e.onOk,c=(0,o.useState)([]),i=(0,Y.Z)(c,2),s=i[0],l=i[1],u=(0,o.useRef)(null),d=V.Z.instance(pt);(0,o.useEffect)((function(){return t?(d.getResource(t).then((function(e){var t=[];Object.keys(e).forEach((function(n){var r=e[n];r.key=n,t.push(r)})),l(t)})),function(){}):function(){}}),[t]);var f=[{title:"key",dataIndex:"key",key:"key",filterIcon:o.createElement(ot.Z,null),filterDropdown:function(e){var t=e.filterKeys,n=e.setFilterKeys,r=e.confirm;return o.createElement("div",{className:"arco-table-custom-filter"},o.createElement(ne.Z.Search,{ref:u,searchButton:!0,placeholder:"请输入key",value:t[0]||"",onChange:function(e){n(e?[e]:[])},onSearch:function(){r()}}))},onFilter:function(e,t){return!e||-1!==t.key.indexOf(e)},onFilterDropdownVisibleChange:function(e){e&&setTimeout((function(){return u.current.focus()}),150)}},{title:"类型",dataIndex:"contentType",width:140,key:"type",render:function(e,t){return"".concat(t.type,"/").concat(e)}},{title:"操作",render:function(e,t,n){return o.createElement(ae.Z,null,o.createElement(ie.Z,{type:"text",icon:o.createElement(mt.Z,null),onClick:function(){var e=URL.createObjectURL((0,qe.Jr)(t.base64));setTimeout((function(){URL.revokeObjectURL(e)}),6e4);var n=t.url.split("/").pop();chrome.downloads.download({url:e,saveAs:!0,filename:n})}}),o.createElement(nt.Z,{focusLock:!0,title:"你确定删除此资源吗?在下次开启时将会重新加载此资源",onOk:function(){q.Z.info({content:"删除成功"}),d.deleteResource(t.id),l(s.filter((function(e,t){return t!==n})))}},o.createElement(ie.Z,{type:"text",iconOnly:!0,icon:o.createElement(it.Z,null)})))}}];return o.createElement(tt.Z,{width:600,title:o.createElement("span",null,null==t?void 0:t.name," 脚本资源"),visible:n,onOk:a,onCancel:r},o.createElement(ae.Z,{className:"w-full",direction:"vertical"},o.createElement(ae.Z,{className:"!flex justify-end"},o.createElement(nt.Z,{focusLock:!0,title:"你真的要清空这些资源吗?在下次开启时将会重新加载资源",onOk:function(){l((function(e){return e.forEach((function(e){d.deleteResource(e.id)})),q.Z.info({content:"清空成功"}),[]}))}},o.createElement(ie.Z,{type:"primary",status:"warning"},"清空"))),o.createElement(rt.Z,{columns:f,data:s,rowKey:"id"})))};var gt,vt=n(31274),yt=V.Z.Singleton(R.Z)(gt=function(){function e(t){(0,r.Z)(this,e),this.msg=t,this.dao=new vt.y}return(0,a.Z)(e,[{key:"getConfirm",value:function(e){return this.msg.syncSend("getConfirm",e)}},{key:"sendConfirm",value:function(e,t){return this.msg.syncSend("permissionConfirm",{uuid:e,userConfirm:t})}},{key:"getPermissions",value:function(e){return this.dao.find().where({scriptId:e}).toArray()}},{key:"deletePermission",value:function(e,t){return this.msg.syncSend("deletePermission",{scriptId:e,confirm:t})}}]),e}())||gt,bt=n(67141),Zt=n(69609),Et=n(13857);const kt=function(e){var t=e.script,n=e.visible,r=e.onCancel,a=e.onOk,c=(0,o.useState)([]),i=(0,Y.Z)(c,2),s=i[0],l=i[1],u=V.Z.instance(yt),d=[{title:"类型",dataIndex:"permission",key:"permission",width:80},{title:"授权值",dataIndex:"permissionValue",key:"permissionValue"},{title:"是否允许",dataIndex:"allow",key:"allow",render:function(e){return e?o.createElement("span",{style:{color:"#52c41a"}},"是"):o.createElement("span",{style:{color:"#f5222d"}},"否")}},{title:"操作",render:function(e,n){return o.createElement(ae.Z,null,o.createElement(nt.Z,{title:"确认删除该授权?",onOk:function(){u.deletePermission(t.id,{permission:n.permission,permissionValue:n.permissionValue}).then((function(){q.Z.success("删除成功"),l(s.filter((function(e){return e.id!==n.id})))})).catch((function(){q.Z.error("删除失败")}))}},o.createElement(ie.Z,{type:"text",iconOnly:!0,icon:o.createElement(it.Z,null)})))}}];return(0,o.useEffect)((function(){t&&u.getPermissions(t.id).then((function(e){l(e)}))}),[t]),o.createElement(tt.Z,{width:600,title:o.createElement("span",null,null==t?void 0:t.name," 脚本设置"),visible:n,onOk:function(){a()},onCancel:function(){r()}},o.createElement(bt.Z,{column:1,title:"基本信息",data:[{label:"最后更新",value:(0,W.UZ)(((null==t?void 0:t.updatetime)||(null==t?void 0:t.createtime)||0)/1e3)},{label:"UUID",value:null==t?void 0:t.uuid}],style:{marginBottom:20},labelStyle:{paddingRight:36}}),o.createElement(Zt.Z,null),o.createElement(rt.Z,{columns:d,data:s,rowKey:"id"}),o.createElement(Et.Z,{description:"建设中"}))};function wt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?wt(Object(n),!0).forEach((function(t){(0,i.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ot=Ue.Z.Row,St=Ue.Z.Col,Ct=new Map,jt=function(e){var t=e.id,n=e.script,r=e.hotKeys,a=e.callbackEditor,c=e.onChange,i=(0,o.useState)(!1),s=(0,Y.Z)(i,2),l=s[0],u=s[1],d=(0,o.useRef)(null);return Ct.has(n.uuid)||Ct.set(n.uuid,n),(0,o.useEffect)((function(){return d.current&&d.current.editor?(d.current.editor.uuid||(d.current.editor.uuid=n.uuid),r.forEach((function(e){var t;null===(t=d.current)||void 0===t||t.editor.addCommand(e.hotKey,(function(){var t=f.j6.getEditors().find((function(e){return e._focusTracker._hasFocus}));t&&e.action(Ct.get(t.uuid),t)}))})),d.current.editor.onKeyUp((function(){var e;c((null===(e=d.current)||void 0===e?void 0:e.editor.getValue())||"")})),a(d.current.editor),function(){}):(setTimeout((function(){u(!0)}),200),function(){})}),[l]),o.createElement(Le,{id:t,ref:d,code:n.code,diffCode:"",editable:!0})},At=function(){var e=(0,s.Z)(u().mark((function e(t,n,r){var a,o,c;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a="",e.t0=t,e.next="background"===e.t0?4:"crontab"===e.t0?6:8;break;case 4:return a="// ==UserScript==\n// @name New Userscript\n// @namespace https://bbs.tampermonkey.net.cn/\n// @version 0.1.0\n// @description try to take over the world!\n// @author You\n// @background\n// ==/UserScript==\n\nreturn new Promise((resolve, reject) => {\n // Your code here...\n resolve();\n});\n",e.abrupt("break",15);case 6:return a="// ==UserScript==\n// @name New Userscript\n// @namespace https://bbs.tampermonkey.net.cn/\n// @version 0.1.0\n// @description try to take over the world!\n// @author You\n// @crontab * * once * *\n// ==/UserScript==\n\nreturn new Promise((resolve, reject) => {\n // Your code here...\n resolve();\n});\n",e.abrupt("break",15);case 8:if(a="// ==UserScript==\n// @name New Userscript\n// @namespace https://bbs.tampermonkey.net.cn/\n// @version 0.1.0\n// @description try to take over the world!\n// @author You\n// @match {{match}}\n// ==/UserScript==\n\n(function() {\n 'use strict';\n\n // Your code here...\n})();","initial"!==r){e.next=14;break}return e.next=12,new Promise((function(e){chrome.storage.local.get(["activeTabUrl"],(function(t){chrome.storage.local.remove(["activeTabUrl"]),t.activeTabUrl?e(t.activeTabUrl.url):e("undefind")}))}));case 12:o=e.sent,a=a.replace("{{match}}",o);case 14:return e.abrupt("break",15);case 15:return e.next=17,(0,qe.zg)(a,"",(0,ze.Z)());case 17:return c=e.sent,e.abrupt("return",Promise.resolve({script:c,code:c.code,active:!0,hotKeys:n,isChanged:!1}));case 19:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}();const Pt=function(){for(var e,t=new Q.Ru,n=V.Z.instance($),r=V.Z.instance(Je.Z),a=(0,Me.lr)()[0].get("template")||"",c=(0,Me.lr)()[0].get("target")||"",i=(0,Be.s0)(),l=(0,o.useState)({}),d=(0,Y.Z)(l,2),p=d[0],m=d[1],h=(0,o.useState)([]),g=(0,Y.Z)(h,2),v=g[0],y=g[1],b=(0,o.useState)([]),Z=(0,Y.Z)(b,2),E=Z[0],k=Z[1],w=(0,o.useState)(),x=(0,Y.Z)(w,2),O=x[0],S=x[1],C=(0,o.useState)(""),j=(0,Y.Z)(C,2),A=j[0],P=j[1],R=(0,o.useState)(),I=(0,Y.Z)(R,2),T=I[0],M=I[1],N=function(e,t){Object.keys(p).forEach((function(e){p[e]=!1})),p[e]=t,m(xt({},p))},D=(0,Be.UO)().id,L=function(e,t){return new Promise((function(r){(0,qe.zg)(t.getValue(),e.origin||"",e.uuid).then((function(e){n.upsert(e).then((function(){e.name?(0===e.id?(q.Z.success("新建成功,请注意后台脚本不会默认开启"),k((function(t){return P(e.uuid),[e].concat((0,ve.Z)(t))}))):(k((function(t){return t.map((function(t){t.uuid===e.uuid&&(t.name=e.name)})),(0,ve.Z)(t)})),q.Z.success("保存成功")),y((function(t){for(var n=0;n<t.length;n+=1)if(t[n].script.uuid===e.uuid){t[n].code=e.code,t[n].isChanged=!1,t[n].script.name=e.name;break}return r(e),(0,ve.Z)(t)}))):q.Z.warning("脚本name不可以设置为空")}),(function(e){q.Z.error("保存失败: ".concat(e))}))})).catch((function(e){q.Z.error("错误的脚本代码: ".concat(e))}))}))},B=[{title:"文件",items:[{title:"保存",hotKey:f.DC.CtrlCmd|f.VD.KeyS,hotKeyString:"Ctrl+S",action:L},{title:"另存为",hotKey:f.DC.CtrlCmd|f.DC.Shift|f.VD.KeyS,hotKeyString:"Ctrl+Shift+S",action:function(e,t){return new Promise((function(n){chrome.downloads.download({url:URL.createObjectURL(new Blob([t.getValue()],{type:"text/javascript"})),saveAs:!0,filename:"".concat(e.name,".user.js")},(function(){chrome.runtime.lastError?(console.log("另存为失败: ",chrome.runtime.lastError),q.Z.error("另存为失败: ".concat(chrome.runtime.lastError.message))):q.Z.success("另存为成功"),n()}))}))}}]},{title:"运行",items:[{title:"调试",hotKey:f.DC.CtrlCmd|f.VD.F5,hotKeyString:"Ctrl+F5",tooltip:"只有后台脚本/定时脚本才能调试, 且调试模式下不对进行权限校验(例如@connect)",action:(e=(0,s.Z)(u().mark((function e(t,n){var a;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L(t,n);case 2:a=e.sent,q.Z.loading({id:"debug_script",content:"正在准备脚本资源...",duration:3e3}),r.debugScript(a).then((function(){q.Z.success({id:"debug_script",content:"构建成功, 可以打开开发者工具在控制台中查看输出",duration:3e3})})).catch((function(e){z.Z.getLogger(We.Z.E(e)).debug("debug script error"),q.Z.error({id:"debug_script",content:"构建失败: ".concat(e),duration:3e3})}));case 5:case"end":return e.stop()}}),e)}))),function(t,n){return e.apply(this,arguments)})}]},{title:"工具",items:[{title:"脚本储存",tooltip:"可以管理脚本GM_value的储存数据",action:function(e){N("scriptStorage",!0),S(e)}},{title:"脚本资源",tooltip:"管理@resource,@require下载的资源",action:function(e){N("scriptResource",!0),S(e)}}]},{title:"设置",tooltip:"对脚本进行一些自定义设置",action:function(e){N("scriptSetting",!0),S(e)}}],U=[],_="",F=0;F<v.length;F+=1)if(v[F].active){_=F.toString();break}return B.forEach((function(e){e.items&&e.items.forEach((function(e){e.hotKey&&U.push({hotKey:e.hotKey,action:e.action})}))})),(0,o.useEffect)((function(){t.table.orderBy("sort").toArray().then((function(e){if(k(e),D)for(var t=parseInt(D,10),n=0;n<e.length;n+=1)if(e[n].id===t){v.push({script:e[n],code:e[n].code,active:!0,hotKeys:U,isChanged:!1}),P(e[n].uuid),y((0,ve.Z)(v));break}})),D||At(a||"",U,c).then((function(e){v.push(e),y((0,ve.Z)(v))}))}),[]),(0,o.useEffect)((function(){for(var e=!1,t=0;t<v.length;t+=1)if(v[t].isChanged){e=!0;break}if(e){window.onbeforeunload=function(){return!0}}return function(){window.onbeforeunload=null}}),[v]),(0,o.useEffect)((function(){var e=[],t=0;if(T)switch(T.key){case"1":(e=v.filter((function(e){return e.script.uuid!==T.uuid}))).length>0&&(T.selectSciptButtonAndTab===T.uuid?e.length>0&&(e[0].active=!0,P(e[0].script.uuid)):(P(T.selectSciptButtonAndTab),v.filter((function(e){return e.script.uuid===T.selectSciptButtonAndTab?e.active=!0:e.active=!1,e.script.uuid===T.selectSciptButtonAndTab})))),y((0,ve.Z)(e));break;case"2":e=v.filter((function(e){return e.script.uuid===T.uuid})),P(T.uuid),y((0,ve.Z)(e));break;case"3":v.map((function(e,n){return e.script.uuid===T.uuid&&(t=n),null})),e=v.splice(t),y((0,ve.Z)(e));break;case"4":v.map((function(e,n){return e.script.uuid===T.uuid&&(t=n),null})),e=v.splice(0,t+1),y((0,ve.Z)(e))}}),[T]),o.createElement("div",{className:"h-full flex flex-col",style:{position:"relative",left:-10,top:-10,width:"calc(100% + 20px)",height:"calc(100% + 20px)"}},o.createElement(ut,{visible:p.scriptStorage,script:O,onOk:function(){N("scriptStorage",!1)},onCancel:function(){N("scriptStorage",!1)}}),o.createElement(ht,{visible:p.scriptResource,script:O,onOk:function(){N("scriptResource",!1)},onCancel:function(){N("scriptResource",!1)}}),o.createElement(kt,{visible:p.scriptSetting,script:O,onOk:function(){N("scriptSetting",!1)},onCancel:function(){N("scriptSetting",!1)}}),o.createElement("div",{className:"h-6",style:{borderBottom:"1px solid var(--color-neutral-3)",background:"var(--color-secondary)"}},o.createElement("div",{className:"flex flex-row"},B.map((function(e,t){return e.items?o.createElement(oe.Z,{key:"d_".concat(t.toString()),droplist:o.createElement(ce.Z,{style:{padding:"0",margin:"0",borderRadius:"0"}},e.items.map((function(e,t){var n=o.createElement(ie.Z,{style:{width:"100%",textAlign:"left",alignSelf:"center",verticalAlign:"middle"},key:"sm_".concat(e.title),size:"mini",onClick:function(){y((function(t){return t.forEach((function(t){t.active&&e.action(t.script,t.editor)})),t}))}},o.createElement("div",{style:{minWidth:"70px",float:"left",fontSize:"14px"}},e.title),o.createElement("div",{style:{minWidth:"50px",float:"left",color:"rgb(165 165 165)",fontSize:"12px",lineHeight:"22px"}},e.hotKeyString));return o.createElement(ce.Z.Item,{key:"m_".concat(t.toString()),style:{height:"unset",padding:"0",lineHeight:"unset"}},e.tooltip?o.createElement(_e.Z,{key:"m".concat(t.toString()),position:"right",content:e.tooltip},n):n)}))),trigger:"click",position:"bl"},o.createElement(ie.Z,{key:"m_".concat(e.title),size:"mini"},e.title)):o.createElement(ie.Z,{key:"m_".concat(e.title),size:"mini",onClick:function(){y((function(t){return t.forEach((function(t){t.active&&e.action&&e.action(t.script,t.editor)})),t}))}},e.title)})))),o.createElement(Ot,{className:"flex flex-grow flex-1",style:{overflow:"hidden"}},o.createElement(St,{span:4,className:"h-full",style:{overflow:"scroll"}},o.createElement("div",{className:"flex flex-col",style:{backgroundColor:"var(--color-secondary)",overflow:"hidden"}},o.createElement(ie.Z,{className:"text-left",size:"mini",disabled:!0,style:{color:"var(--color-text-2)"}},"已安装脚本"),E.map((function(e){return o.createElement(ie.Z,{key:"s_".concat(e.uuid),size:"mini",className:"text-left",style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",backgroundColor:A===e.uuid?"gray":""},onClick:function(){P(e.uuid);for(var t=!1,n=0;n<v.length;n+=1)v[n].script.uuid===e.uuid?(v[n].active=!0,t=!0):v[n].active=!1;t||v.push({script:e,code:e.code,active:!0,hotKeys:U,isChanged:!1}),y((0,ve.Z)(v))}},e.name)})))),o.createElement(St,{span:20,className:"flex! flex-col h-full"},o.createElement(Fe.Z,{editable:!0,activeTab:_,className:"edit-tabs",type:"card-gutter",style:{overflow:"inherit"},onChange:function(e){v.forEach((function(t,n){n.toString()===e?(P(v[n].script.uuid),v[n].active=!0):v[n].active=!1,y((0,ve.Z)(v))}))},onAddTab:function(){At(a||"",U).then((function(e){y((function(t){return t.forEach((function(e){e.active=!1})),P(e.script.uuid),t.push(e),(0,ve.Z)(t)}))}))},onDeleteTab:function(e){y((function(t){var n=parseInt(e,10);return t[n].isChanged&&!confirm("脚本已修改, 关闭后会丢失修改, 是否继续?")?t:1===t.length?D?(i("/"),t):(At(a||"",U).then((function(e){y([e])})),t):(t[n].active&&(n===t.length-1?(t[n-1].active=!0,P(t[n-1].script.uuid)):(t[n+1].active=!0,P(t[n-1].script.uuid))),t.splice(n,1),(0,ve.Z)(t))}))}},v.map((function(e,t){return o.createElement(Ve.Z,{destroyOnHide:!0,key:t.toString(),title:o.createElement(oe.Z,{trigger:"contextMenu",position:"bl",droplist:o.createElement(ce.Z,{onClickMenuItem:function(t){M(xt(xt({},T),{},{key:t,uuid:e.script.uuid,selectSciptButtonAndTab:A}))}},o.createElement(ce.Z.Item,{key:"1"},"关闭当前标签页"),o.createElement(ce.Z.Item,{key:"2"},"关闭其他标签页"),o.createElement(ce.Z.Item,{key:"3"},"关闭左侧标签页"),o.createElement(ce.Z.Item,{key:"4"},"关闭右侧标签页"))},o.createElement("span",{style:{color:e.isChanged?"rgb(var(--orange-5))":e.script.uuid===A||e.active?"rgb(var(--green-7))":"var(--color-text-1)"}},e.script.name))})}))),o.createElement("div",{className:"flex flex-grow flex-1"},v.map((function(e){return setTimeout((function(){e.active&&e.editor&&e.editor.focus()}),100),o.createElement("div",{className:"w-full",key:"fe_".concat(e.script.uuid),style:{display:e.active?"block":"none"}},o.createElement(jt,{id:"e_".concat(e.script.uuid),script:e.script,hotKeys:e.hotKeys,callbackEditor:function(t){y((function(n){return n.forEach((function(n){n.script.uuid===e.script.uuid&&(n.editor=t)})),(0,ve.Z)(n)}))},onChange:function(t){var n=!(e.code===t);n!==e.isChanged&&y((function(t){return t.forEach((function(t){t.script.uuid===e.script.uuid&&(t.isChanged=n)})),(0,ve.Z)(t)}))}}))}))))))};var Rt=n(87462),It=n(65979),Tt=n(6277),Mt=n(70294),Nt=n(652),Dt=n(66736),Lt=n(93014),Bt=n(62598),Ut=n(37723),_t=n(82922),Ft=n(79752),Vt=n(45587),zt=n(24285),Gt=n(99826),Kt=n(13794);const Ht=function(e){var t=e.script,n=e.userConfig,r=e.values,a=(0,o.useRef)({}),c=o.useState(!0),i=(0,Y.Z)(c,2),s=i[0],l=i[1],u=o.useState(Object.keys(n)[0]),d=(0,Y.Z)(u,2),f=d[0],p=d[1];return(0,o.useEffect)((function(){p(Object.keys(n)[0]),l(!0)}),[t,n]),o.createElement(te.Z,{visible:s,title:"".concat(t.name," 配置"),okText:"保存",cancelText:"关闭",onOk:function(){if(a.current[f]){var e=a.current[f].getFieldsValue(),n=V.Z.instance($e);Object.keys(e).forEach((function(r){Object.keys(e[r]).forEach((function(a){void 0!==e[r][a]&&n.setValue(t.id,"".concat(r,".").concat(a),e[r][a])}))})),q.Z.success("保存成功"),l(!1)}},onCancel:function(){l(!1)}},o.createElement(Fe.Z,{activeTab:f,onChange:function(e){p(e)}},Object.keys(n).map((function(e){var c=n[e];return o.createElement(Ve.Z,{key:e,title:e},o.createElement(et.Z,{key:t.id,style:{width:"100%"},autoComplete:"off",layout:"vertical",initialValues:r,ref:function(t){a.current[e]=t}},Object.keys(c).map((function(t){return o.createElement(at.Z,{key:t,label:c[t].title,field:"".concat(e,".").concat(t)},(function(){var n=c[t],a=n.type;switch(a||(a="boolean"==typeof n.default?"checkbox":n.values?"object"===(0,ye.Z)(n.values)?"mult-select":"select":"number"==typeof n.default?"number":"text"),a){case"text":return n.password?o.createElement(ne.Z.Password,{placeholder:n.description,maxLength:n.max}):o.createElement(ne.Z,{placeholder:n.description,maxLength:n.max,showWordLimit:!0});case"number":return o.createElement(Gt.Z,{placeholder:n.description,min:n.min,max:n.max,suffix:n.unit});case"checkbox":return o.createElement(Kt.Z,{defaultChecked:r["".concat(e,".").concat(t)]},n.description);case"select":case"mult-select":var i;if(n.bind){var s=n.bind.substring(1);i=r[s]?r[s]:[]}else i=n.values;return o.createElement(Se.Z,{mode:"mult-select"===n.type?"multiple":void 0,placeholder:n.description},i.map((function(e){return o.createElement(Se.Z.Option,{key:e,value:e},e)})));default:return null}}))}))))}))))};var Wt=n(7985),qt=n(63585);function Jt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,D.Z)(e);if(t){var a=(0,D.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,N.Z)(this,n)}}var Yt=function(e){(0,M.Z)(n,e);var t=Jt(n);function n(){var e;return(0,r.Z)(this,n),e=t.call(this),(0,i.Z)((0,T.Z)(e),"tableName","export"),e.table=qt.db.table(e.tableName),e}return(0,a.Z)(n,[{key:"findByScriptID",value:function(e){return this.table.where({scriptId:e}).first()}}]),n}(qt.sR),Qt=n(82928);function Xt(e){for(var t=e.split("\n"),n=[],r=function(e){var r=t[e],a={cookie:[]};r.trim()&&(r.split(";").forEach((function(e){var t=e.split("=");2===t.length&&(a[t[0].trim()]=t[1].trim())})),a.url||a.domain||n.push(new Promise((function(e){a.cookies=function(e){return new Promise((function(t){chrome.cookies.getAll(e,(function(e){t(e)}))}))}(a),e(a)}))))},a=0;a<t.length;a+=1)r(a);return Promise.all(n)}function $t(e,t){return en.apply(this,arguments)}function en(){return en=(0,s.Z)(u().mark((function e(t,n){var r,a,o,c,i,s,l,d,f;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.split("\n"),a=[],o=V.Z.instance(Wt.Z),e.next=5,o.getValues(t);case 5:for(c=e.sent,i=0;i<r.length;i+=1)if((s=r[i]).trim())for(l=s.split(","),d=0;d<l.length;d+=1)(f=l[d].trim())&&c[f]&&a.push(c[f]);return e.abrupt("return",a);case 8:case"end":return e.stop()}}),e)}))),en.apply(this,arguments)}var tn=n(60147);var nn=function(){function e(t){(0,r.Z)(this,e),this.zip=t.zip,this.params=t}return(0,a.Z)(e,[{key:"exportCloud",value:function(e,t,n){return this.zip.file("userScript.js",e.code),this.zip.file("cookies.js","exports.cookies = ".concat(JSON.stringify(n))),this.zip.file("values.js","exports.values = ".concat(JSON.stringify(t))),this.zip.file("config.js","export default ".concat(JSON.stringify({version:tn.mr,uuid:e.uuid,overwrite:{value:this.params.overwriteValue,cookie:this.params.overwriteCookie}}))),this.zip.file("package.json",'{\n "name": "cloudcat-package",\n "version": "1.0.0",\n "description": "scriptcat后台脚本打包项目",\n "main": "index.js",\n "scripts": {\n "run": "node index.js",\n "test": "echo \\"Error: no test specified\\" && exit 1"\n },\n "author": "CodFrm",\n "license": "MIT",\n "dependencies": {\n "scriptcat-nodejs": "^0.1.7"\n }\n}\n'),this.zip.file("utils.js","const fs = require('fs');\nconst { ScriptCat } = require(\"scriptcat-nodejs/dist/src/scriptcat\");\nconst { ModelValues } = require(\"scriptcat-nodejs/dist/src/storage/values\");\nconst { cookies } = require('./cookies');\nconst { values } = require('./values');\n\nexports.run = function () {\n\tconst code = fs.readFileSync('userScript.js', 'utf8');\n\n\tconst run = new ScriptCat();\n\trun.RunOnce(code, {\n\t\tcookies: cookies,\n\t\tvalues: new ModelValues(values),\n\t}).then((res) => {\n\t\tconsole.log(res);\n\t});\n}\n"),this.zip.file("index.js","const utils = require('./utils');\n\nutils.run();\n"),Promise.resolve()}}]),e}(),rn=function(){function e(){(0,r.Z)(this,e)}return(0,a.Z)(e,null,[{key:"create",value:function(e,t){if("local"===e)return new nn(t);throw new Error("unknown type ".concat(e))}},{key:"params",value:function(){return{local:{}}}}]),e}(),an=n(55733),on=n.n(an);function cn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function sn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?cn(Object(n),!0).forEach((function(t){(0,i.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ln=rn.params(),un=[{key:"local",name:"本地"}];function dn(e){return{exportValue:e.metadata.exportvalue&&e.metadata.exportvalue[0],exportCookie:e.metadata.exportcookie&&e.metadata.exportcookie[0]}}const fn=function(e){var t=e.script,n=e.onClose,r=(0,o.useRef)(null),a=o.useState(!1),c=(0,Y.Z)(a,2),i=c[0],l=c[1],d=o.useState("local"),f=(0,Y.Z)(d,2),p=f[0],m=f[1],h=o.useState(),g=(0,Y.Z)(h,2)[1];return(0,o.useEffect)((function(){t&&(l(!0),(new Yt).findByScriptID(t.id).then((function(e){var n,a;(g(e),e&&e.params[e.target])?(m(e.target),null===(n=r.current)||void 0===n||n.setFieldsValue(e.params[e.target])):(m("local"),null===(a=r.current)||void 0===a||a.setFieldsValue(dn(t)))})))}),[t]),o.createElement(te.Z,{title:o.createElement("div",null,o.createElement("span",{style:{height:"32px",lineHeight:"32px"}},null==t?void 0:t.name," 上传至云"),o.createElement(ie.Z,{type:"text",icon:o.createElement(Qt.Z,{style:{margin:0}}),href:"https://docs.scriptcat.org/docs/dev/cloudcat/",target:"_blank",iconOnly:!0})),okText:"导出",visible:i,onCancel:function(){l(!1),n()},onConfirm:(0,s.Z)(u().mark((function e(){var n,a,o,c,i,s,l,d;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=new Yt,(o=null===(n=r.current)||void 0===n?void 0:n.getFieldsValue())&&t){e.next=4;break}return e.abrupt("return");case 4:return g((function(e){return e||(e={id:0,scriptId:t.id,target:"local",params:{}}),e.params[p]=o,e.target=p,a.save(e).catch((function(e){q.Z.error("保存失败: ".concat(e))})),e})),q.Z.info("导出中..."),e.next=8,$t(t,o.exportValue);case 8:return c=e.sent,e.next=11,Xt(o.exportCookie);case 11:if(i=e.sent,"local"!==p){e.next=22;break}return s=new(on()),rn.create("local",sn({zip:s},o)).exportCloud(t,c,i),e.next=18,s.generateAsync({type:"blob",compression:"DEFLATE",compressionOptions:{level:9},comment:"Created by Scriptcat"});case 18:l=e.sent,d=URL.createObjectURL(l),setTimeout((function(){URL.revokeObjectURL(d)}),6e4),chrome.downloads.download({url:d,saveAs:!0,filename:"".concat(t.uuid,".zip")});case 22:case"end":return e.stop()}}),e)})))},o.createElement(et.Z,{autoComplete:"off",style:{width:"100%"},layout:"vertical",ref:r},o.createElement(at.Z,{label:"上传至"},o.createElement(Se.Z,{value:p,onChange:function(e){m(e)}},un.map((function(e){return o.createElement(Se.Z.Option,{key:e.key,value:e.key},e.name)})))),Object.keys(ln[p]).map((function(e){var t=ln[p][e];return o.createElement(at.Z,{key:e,label:t.title},o.createElement(ne.Z,null))})),o.createElement(at.Z,{label:"值导出表达式",field:"exportValue"},o.createElement(ne.Z.TextArea,null)),o.createElement(at.Z,{label:"",field:"overwriteValue"},o.createElement(Kt.Z,null,"导入时覆盖原值")),o.createElement(at.Z,{label:"cookie导出表达式",field:"exportCookie"},o.createElement(ne.Z.TextArea,null)),o.createElement(at.Z,{label:"",field:"overwriteCookie"},o.createElement(Kt.Z,null,"导入时覆盖原值")),o.createElement(ie.Z,{type:"primary",onClick:function(){var e;t&&(null===(e=r.current)||void 0===e||e.setFieldsValue(dn(t)))}},"恢复默认值")))};function pn(e){for(var t=new Q.Ru,n=0;n<e.length;n+=1)e[n].sort!==n&&(t.update(e[n].id,{sort:n}),e[n].sort=n)}function mn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function hn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mn(Object(n),!0).forEach((function(t){(0,i.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gn(e){var t=e.config;return V.Z.instance(Wt.Z).getValues(e).then((function(e){var n={};return Object.keys(t).forEach((function(r){var a=t[r];Object.keys(a).forEach((function(o){if(a[o].bind){var c=a[o].bind.substring(1);n[c]=void 0===e[c]?void 0:e[c].value}n["".concat(r,".").concat(o)]=void 0===e["".concat(r,".").concat(o)]?t[r][o].default:e["".concat(r,".").concat(o)].value}))})),n}))}const vn=function(){var e=(0,o.useState)(),t=(0,Y.Z)(e,2),n=t[0],r=t[1],a=(0,o.useState)(),c=(0,Y.Z)(a,2),i=c[0],l=c[1],d=V.Z.instance($),f=V.Z.instance(Je.Z),p=(0,o.useState)([]),m=(0,Y.Z)(p,2),h=m[0],g=m[1],v=(0,o.useRef)(null),y=(0,Be.s0)(),b=parseInt((0,Me.lr)()[0].get("userConfig")||"",10);(0,o.useEffect)((function(){var e=f.watchRunStatus();return e.setHandler((function(e){var t=(0,Y.Z)(e,2),n=t[0],r=t[1];g((function(e){return e.map((function(e){return e.id===n&&(e.runStatus=r),e}))}))})),function(){e.disChannel()}}),[]);var Z=[{title:"#",dataIndex:"sort",width:70,key:"sort",sorter:function(e,t){return e.sort-t.sort},render:function(e){return e+1}},{title:"开启",width:100,key:"enable",sorter:function(e,t){return e.status-t.status},filters:[{text:"开启",value:Q.Kv},{text:"关闭",value:Q.J7}],onFilter:function(e,t){return t.status===e},render:function(e,t,n){return o.createElement(It.Z,{checked:t.status===Q.Kv,loading:t.loading,disabled:t.loading,onChange:function(e){h[n].loading=!0,g((0,ve.Z)(h)),(e?d.enable(t.id).then((function(){h[n].status=Q.Kv})):d.disable(t.id).then((function(){h[n].status=Q.J7}))).catch((function(e){q.Z.error(e)})).finally((function(){h[n].loading=!1,g((0,ve.Z)(h))}))}})}},{title:"名称",dataIndex:"name",sorter:function(e,t){return e.name.localeCompare(t.name)},filterIcon:o.createElement(ot.Z,null),key:"name",filterDropdown:function(e){var t=e.filterKeys,n=e.setFilterKeys,r=e.confirm;return o.createElement("div",{className:"arco-table-custom-filter"},o.createElement(ne.Z.Search,{ref:v,searchButton:!0,placeholder:"请输入脚本名",value:t[0]||"",onChange:function(e){n(e?[e]:[])},onSearch:function(){r()}}))},onFilter:function(e,t){return!e||-1!==t.name.indexOf(e)},onFilterDropdownVisibleChange:function(e){e&&setTimeout((function(){return v.current.focus()}),150)},className:"max-w-[240px]",render:function(e,t){return o.createElement(_e.Z,{content:e,position:"tl"},o.createElement(Me.rU,{to:"/script/editor/".concat(t.id),style:{textDecoration:"none"}},o.createElement(Oe.Z,{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},e)))}},{title:"版本",dataIndex:"version",key:"version",width:120,align:"center",render:function(e,t){return t.metadata.version&&t.metadata.version[0]}},{title:"应用至/运行状态",dataIndex:"status",width:140,key:"status",render:function(e,t){var n=function(){y({pathname:"logger",search:"query=".concat(encodeURIComponent(JSON.stringify([{key:"scriptId",value:t.id},{key:"component",value:"GM_log"}])))})};if(t.type===Q.oO)return o.createElement(_e.Z,{content:"前台页面脚本,会在指定的页面上运行"},o.createElement(Tt.Z,{style:{cursor:"pointer"},icon:o.createElement(Mt.Z,{color:""}),color:"cyan",bordered:!0,onClick:n},"页面脚本"));var r="";return r=t.type===Q.BW?"后台脚本,会在指定的页面上运行":"定时脚本,下一次运行时间: ".concat((0,W.Rq)(t.metadata.crontab[0])),o.createElement(_e.Z,{content:r},o.createElement(Tt.Z,{icon:o.createElement(Nt.Z,null),color:"blue",bordered:!0,style:{cursor:"pointer"},onClick:n},t.runStatus===Q.of?"运行中":"运行完毕"))}},{title:"来源",dataIndex:"origin",key:"origin",width:100,render:function(e,t){return t.subscribeUrl?o.createElement(_e.Z,{content:o.createElement("p",{style:{margin:0}},"订阅链接: ",decodeURIComponent(t.subscribeUrl))},o.createElement(Tt.Z,{icon:o.createElement(se.Z,null),color:"orange",bordered:!0,style:{cursor:"pointer"}},"订阅安装")):t.origin?o.createElement(_e.Z,{content:o.createElement("p",{style:{margin:0,padding:0}},"脚本链接: ",decodeURIComponent(t.origin))},o.createElement(Tt.Z,{icon:o.createElement(Dt.Z,{color:""}),color:"green",bordered:!0,style:{cursor:"pointer"}},"用户安装")):o.createElement(Tt.Z,{icon:o.createElement(ct.Z,null),color:"purple",bordered:!0,style:{cursor:"pointer"}},"手动新建")}},{title:"主页",dataIndex:"home",align:"center",key:"home",width:100,render:function(e,t){var n;return t.metadata.homepageurl||(n=function(e){try{if(-1!==e.indexOf("scriptcat.org")){var t=e.split("/")[5];return o.createElement(ie.Z,{type:"text",iconOnly:!0,size:"small",target:"_blank",href:"https://scriptcat.org/script-show-page/".concat(t)},o.createElement("img",{width:16,height:16,src:"/assets/logo.png",alt:""}))}if(-1!==e.indexOf("greasyfork.org")){var n=e.split("/")[4];return o.createElement(ie.Z,{type:"text",iconOnly:!0,size:"small",target:"_blank",href:"https://greasyfork.org/scripts/".concat(n)},o.createElement("img",{width:16,height:16,src:"/assets/logo/gf.png",alt:""}))}if(-1!==e.indexOf("raw.githubusercontent.com")){var r="".concat(e.split("/")[3],"/").concat(e.split("/")[4]);return o.createElement(ie.Z,{type:"text",iconOnly:!0,size:"small",target:"_blank",href:"https://github.com/".concat(r),style:{color:"var(--color-text-1)"},icon:o.createElement(ue.Z,null)})}if(-1!==e.indexOf("github.com")){var a="".concat(e.split("/")[3],"/").concat(e.split("/")[4]);return o.createElement(ie.Z,{type:"text",iconOnly:!0,size:"small",target:"_blank",href:"https://github.com/".concat(a),style:{color:"var(--color-text-1)"},icon:o.createElement(ue.Z,null)})}}catch(e){}}(t.downloadUrl||"")),o.createElement(ae.Z,{size:"mini"},n&&o.createElement(_e.Z,{content:"脚本主页"},n),t.metadata.homepage&&o.createElement(_e.Z,{content:"脚本主页"},o.createElement(ie.Z,{type:"text",iconOnly:!0,icon:o.createElement(Lt.Z,null),size:"small",href:t.metadata.homepage[0],target:"_blank"})),t.metadata.homepageurl&&o.createElement(_e.Z,{content:"脚本主页"},o.createElement(ie.Z,{type:"text",iconOnly:!0,icon:o.createElement(Lt.Z,null),size:"small",href:t.metadata.homepageurl[0],target:"_blank"})),t.metadata.website&&o.createElement(_e.Z,{content:"脚本站点"},o.createElement(ie.Z,{type:"text",iconOnly:!0,icon:o.createElement(Lt.Z,null),size:"small",href:t.metadata.website[0],target:"_blank"})),t.metadata.source&&o.createElement(_e.Z,{content:"脚本源码"},o.createElement(ie.Z,{type:"text",iconOnly:!0,icon:o.createElement(Bt.Z,null),size:"small",href:t.metadata.source[0],target:"_blank"})),t.metadata.supporturl&&o.createElement(_e.Z,{content:"BUG反馈/脚本支持站点"},o.createElement(ie.Z,{type:"text",iconOnly:!0,icon:o.createElement(Ut.Z,null),size:"small",href:t.metadata.supporturl[0],target:"_blank"})))}},{title:"排序",dataIndex:"sort",key:"sort",width:80,sorter:function(e,t){return e.sort-t.sort},align:"center",render:function(){return o.createElement(_t.Z,{style:{cursor:"move"}})}},{title:"最后更新",dataIndex:"updatetime",align:"center",key:"updatetime",width:100,render:function(e,t){return o.createElement("span",{style:{cursor:"pointer"},onClick:function(){t.checkUpdateUrl?(q.Z.info({id:"checkupdate",content:"检查更新中..."}),d.checkUpdate(t.id).then((function(e){e?q.Z.warning({id:"checkupdate",content:"存在新版本"}):q.Z.success({id:"checkupdate",content:"已是最新版本"})})).catch((function(e){q.Z.error({id:"checkupdate",content:"检查更新失败: ".concat(e.message)})}))):q.Z.warning("该脚本不支持检查更新")}},(0,W.dL)(new Date(e)))}},{title:"操作",dataIndex:"action",key:"action",width:160,render:function(e,t){return o.createElement(ie.Z.Group,null,o.createElement(Me.rU,{to:"/script/editor/".concat(t.id)},o.createElement(ie.Z,{type:"text",icon:o.createElement(me.yjk,null),style:{color:"var(--color-text-2)"}})),o.createElement(nt.Z,{title:"确定要删除此脚本吗?",icon:o.createElement(me.w6k,null),onOk:function(){g((function(e){return e.filter((function(e){return e.id!==t.id}))})),d.delete(t.id).catch((function(e){q.Z.error("删除失败: ".concat(e))}))}},o.createElement(ie.Z,{type:"text",icon:o.createElement(me.w6k,null),onClick:function(){},style:{color:"var(--color-text-2)"}})),t.config&&o.createElement(ie.Z,{type:"text",icon:o.createElement(me.BUe,null),onClick:function(){gn(t).then((function(e){r({userConfig:hn({},t.config),script:t,values:e})}))},style:{color:"var(--color-text-2)"}}),t.type!==Q.oO&&(t.runStatus===Q.of?o.createElement(ie.Z,{type:"text",icon:o.createElement(me.Q1g,null),onClick:(0,s.Z)(u().mark((function e(){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return q.Z.loading({id:"script-stop",content:"正在停止脚本"}),e.next=3,f.stopScript(t.id);case 3:q.Z.success({id:"script-stop",content:"脚本已停止",duration:3e3}),g((function(e){for(var n=0;n<e.length;n+=1)if(e[n].id===t.id){e[n].runStatus=Q.le;break}return(0,ve.Z)(e)}));case 5:case"end":return e.stop()}}),e)}))),style:{color:"var(--color-text-2)"}}):o.createElement(ie.Z,{type:"text",icon:o.createElement(me.qfg,null),onClick:(0,s.Z)(u().mark((function e(){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return q.Z.loading({id:"script-run",content:"正在启动脚本..."}),e.next=3,f.startScript(t.id);case 3:q.Z.success({id:"script-run",content:"脚本已启动",duration:3e3}),g((function(e){for(var n=0;n<e.length;n+=1)if(e[n].id===t.id){e[n].runStatus=Q.of;break}return(0,ve.Z)(e)}));case 5:case"end":return e.stop()}}),e)}))),style:{color:"var(--color-text-2)"}})),t.metadata.cloudcat&&o.createElement(ie.Z,{type:"text",icon:o.createElement(me.yWV,null),onClick:function(){l(t)},style:{color:"var(--color-text-2)"}}))}}];(0,o.useEffect)((function(){(new Q.Ru).table.orderBy("sort").toArray().then(function(){var e=(0,s.Z)(u().mark((function e(t){var n;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pn(t),!b){e.next=12;break}if(!(n=t.find((function(e){return e.id===b})))||!n.config){e.next=12;break}return e.t0=r,e.t1=n,e.t2=n.config,e.next=9,gn(n);case 9:e.t3=e.sent,e.t4={script:e.t1,userConfig:e.t2,values:e.t3},(0,e.t0)(e.t4);case 12:g(t);case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())}),[]);var E=(0,Ft.Dy)((0,Ft.VT)(Ft.we),(0,Ft.VT)(Ft.Lg,{coordinateGetter:Vt.is})),k={body:{tbody:function(e){return o.createElement(Ft.LB,{sensors:E,collisionDetection:Ft.pE,onDragEnd:function(e){var t=e.active,n=e.over;n&&t.id!==n.id&&g((function(e){var r=0,a=0;e.forEach((function(e,o){e.id===t.id?r=o:e.id===n.id&&(a=o)}));var o=(0,Vt.Rp)(e,r,a);return pn(o),o}))}},o.createElement(Vt.Fo,{items:h,strategy:Vt.qw},o.createElement("tbody",e)))},row:function(e){var t=(0,Vt.nB)({id:e.record.id}),n=t.attributes,r=t.listeners,a=t.setNodeRef,c=t.transform,i=t.transition,s={transform:zt.ux.Transform.toString(c),transition:i};return e.children[7]=o.createElement("td",{className:"arco-table-td",style:{textAlign:"center"},key:"drag"},o.createElement("div",{className:"arco-table-cell"},o.createElement(_t.Z,(0,Rt.Z)({style:{cursor:"move"}},r)))),o.createElement("tr",(0,Rt.Z)({ref:a,style:s},n,e))}}};return o.createElement(Ze.Z,{className:"script-list",style:{height:"100%",overflowY:"auto"}},o.createElement(rt.Z,{className:"arco-drag-table-container",components:k,rowKey:"id",tableLayoutFixed:!0,columns:Z,data:h,pagination:{total:h.length,pageSize:h.length,hideOnSinglePage:!0},style:{minWidth:"1100px"}}),n&&o.createElement(Ht,{script:n.script,userConfig:n.userConfig,values:n.values}),o.createElement(fn,{script:i,onClose:function(){l(void 0)}}))};var yn=n(43529);function bn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Zn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bn(Object(n),!0).forEach((function(t){(0,i.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var En=yn.Z.params(),kn=[{key:"webdav",name:"WebDAV"},{key:"baidu-netdsik",name:"百度网盘"},{key:"onedrive",name:"OneDrive"}];const wn=function(e){var t=e.onChangeFileSystemType,n=e.onChangeFileSystemParams,r=e.preNode,a=e.actionButton,c=e.fileSystemType,s=e.fileSystemParams;return o.createElement(o.Fragment,null,o.createElement(ae.Z,null,r,o.createElement(Se.Z,{value:c,style:{width:120},onChange:function(e){t(e)}},kn.map((function(e){return o.createElement(Se.Z.Option,{key:e.key,value:e.key},e.name)}))),a.map((function(e){return e}))),o.createElement(ae.Z,{style:{display:"flex",marginTop:4}},Object.keys(En[c]).map((function(e){return o.createElement("div",{key:e},"select"===En[c][e].type&&o.createElement(o.Fragment,null,o.createElement("span",null,En[c][e].title),o.createElement(Se.Z,{value:s[e]||En[c][e].options[0],onChange:function(t){n(Zn(Zn({},s),{},(0,i.Z)({},e,t)))}},En[c][e].options.map((function(e){return o.createElement(Se.Z.Option,{value:e,key:e},e)})))),!En[c][e].type&&o.createElement(o.Fragment,null,o.createElement("span",null,En[c][e].title),o.createElement(ne.Z,{value:s[e],onChange:function(t){n(Zn(Zn({},s),{},(0,i.Z)({},e,t)))}})))}))))};var xn=n(92816),On=n(73945),Sn=n(90119),Cn=n.n(Sn);function jn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function An(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jn(Object(n),!0).forEach((function(t){(0,i.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}const Pn=function(){var e=V.Z.instance(H.T),t=(0,o.useState)(e.cloudSync.syncDelete),n=(0,Y.Z)(t,2),r=n[0],a=n[1],c=(0,o.useState)(e.cloudSync.enable),i=(0,Y.Z)(c,2),l=i[0],d=i[1],f=(0,o.useState)(e.cloudSync.filesystem),p=(0,Y.Z)(f,2),m=p[0],h=p[1],g=(0,o.useState)(e.cloudSync.params[m]||{}),v=(0,Y.Z)(g,2),y=v[0],b=v[1];return o.createElement(ae.Z,{direction:"vertical",style:{width:"100%",height:"100%",overflow:"auto",position:"relative"}},o.createElement(Ze.Z,{title:"脚本同步",bordered:!1},o.createElement(ae.Z,{direction:"vertical"},o.createElement(Kt.Z,{checked:r,onChange:function(e){a(e)}},"同步删除"),o.createElement(wn,{preNode:o.createElement(Kt.Z,{checked:l,onChange:function(e){d(e)}},"启用脚本同步至"),actionButton:[o.createElement(ie.Z,{key:"save",type:"primary",onClick:(0,s.Z)(u().mark((function t(){var n;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!l){t.next=11;break}return q.Z.info("云同步账号信息验证中..."),t.prev=2,t.next=5,yn.Z.create(m,y);case 5:t.next=11;break;case 7:return t.prev=7,t.t0=t.catch(2),q.Z.error("云同步账号信息验证失败: ".concat(t.t0)),t.abrupt("return");case 11:(n=An({},e.backup.params))[m]=y,e.cloudSync={enable:l,syncDelete:r,filesystem:m,params:n},q.Z.success("保存成功");case 15:case"end":return t.stop()}}),t,null,[[2,7]])})))},"保存")],fileSystemType:m,fileSystemParams:y,onChangeFileSystemType:function(e){h(e)},onChangeFileSystemParams:function(e){b(e)}}))),o.createElement(Ze.Z,{title:"更新",bordered:!1},o.createElement(ae.Z,{direction:"vertical"},o.createElement(ae.Z,null,o.createElement("span",null,"脚本/订阅检查更新间隔:"),o.createElement(Se.Z,{defaultValue:e.checkScriptUpdateCycle.toString(),style:{width:100},onChange:function(t){e.checkScriptUpdateCycle=parseInt(t,10)}},o.createElement(Se.Z.Option,{value:"0"},"从不"),o.createElement(Se.Z.Option,{value:"21600"},"6小时"),o.createElement(Se.Z.Option,{value:"43200"},"12小时"),o.createElement(Se.Z.Option,{value:"86400"},"每天"),o.createElement(Se.Z.Option,{value:"604800"},"每周"))),o.createElement(Kt.Z,{onChange:function(t){e.updateDisableScript=t},defaultChecked:e.updateDisableScript},"更新已禁用脚本"),o.createElement(Kt.Z,{onChange:function(t){e.silenceUpdateScript=t},defaultChecked:e.silenceUpdateScript},"非重要变更静默更新脚本"))),o.createElement(Ze.Z,{title:"ESLint",bordered:!1},o.createElement(ae.Z,{direction:"vertical",className:"w-full"},o.createElement(Kt.Z,{onChange:function(t){e.enableEslint=t},defaultChecked:e.enableEslint},"开启ESLint"),o.createElement(xn.Z,{heading:5},"ESLint规则"," ",o.createElement(ie.Z,{type:"text",style:{height:24},icon:o.createElement(Qt.Z,{style:{margin:0}}),href:"https://eslint.org/play/",target:"_blank",iconOnly:!0})),o.createElement(ne.Z.TextArea,{placeholder:"请输入eslint规则,可以从https://eslint.org/play/下载配置",autoSize:{minRows:4,maxRows:8},defaultValue:(0,On.format)(e.eslintConfig,{parser:"json",plugins:[Cn()]}),onBlur:function(t){e.eslintConfig=t.target.value}}))))};var Rn;function In(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,D.Z)(e);if(t){var a=(0,D.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,N.Z)(this,n)}}var Tn=V.Z.Singleton(R.Z)(Rn=function(e){(0,M.Z)(n,e);var t=In(n);function n(e){var a;return(0,r.Z)(this,n),a=t.call(this,e,"subscribe"),(0,i.Z)((0,T.Z)(a),"subscribeDAO",new X.zk),a}return(0,a.Z)(n,[{key:"upsert",value:function(e){return this.dispatchEvent("upsert",e)}},{key:"enable",value:function(e){return this.subscribeDAO.update(e,{status:X.s4})}},{key:"disable",value:function(e){return this.subscribeDAO.update(e,{status:X.oi})}},{key:"checkUpdate",value:function(e){return this.dispatchEvent("checkUpdate",e)}},{key:"delete",value:function(e){return this.dispatchEvent("delete",e)}}]),n}(Qe))||Rn;const Mn=function(){var e=new X.zk,t=V.Z.instance(Tn),n=(0,o.useState)([]),r=(0,Y.Z)(n,2),a=r[0],c=r[1],i=(0,o.useRef)(null);(0,o.useEffect)((function(){e.table.orderBy("id").toArray().then((function(e){c(e)}))}),[]);var s=[{title:"#",dataIndex:"id",width:70,key:"#",sorter:function(e,t){return e.id-t.id}},{title:"开启",width:100,key:"enable",sorter:function(e,t){return e.status-t.status},filters:[{text:"开启",value:X.s4},{text:"关闭",value:X.oi}],onFilter:function(e,t){return t.status===e},render:function(e,n,r){return o.createElement(It.Z,{checked:n.status===X.s4,loading:n.loading,disabled:n.loading,onChange:function(e){a[r].loading=!0,c((0,ve.Z)(a)),(e?t.enable(n.id).then((function(){a[r].status=X.s4})):t.disable(n.id).then((function(){a[r].status=X.oi}))).catch((function(e){q.Z.error(e)})).finally((function(){a[r].loading=!1,c((0,ve.Z)(a))}))}})}},{title:"名称",dataIndex:"name",sorter:function(e,t){return e.name.localeCompare(t.name)},filterIcon:o.createElement(ot.Z,null),key:"name",filterDropdown:function(e){var t=e.filterKeys,n=e.setFilterKeys,r=e.confirm;return o.createElement("div",{className:"arco-table-custom-filter"},o.createElement(ne.Z.Search,{ref:i,searchButton:!0,placeholder:"请输入订阅名称",value:t[0]||"",onChange:function(e){n(e?[e]:[])},onSearch:function(){r()}}))},onFilter:function(e,t){return!e||-1!==t.name.indexOf(e)},onFilterDropdownVisibleChange:function(e){e&&setTimeout((function(){return i.current.focus()}),150)},className:"max-w-[240px]",render:function(e){return o.createElement(_e.Z,{content:e,position:"tl"},o.createElement(Oe.Z,{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},e))}},{title:"版本",dataIndex:"version",width:120,align:"center",key:"version",render:function(e,t){return t.metadata.version&&t.metadata.version[0]}},{title:"权限",width:120,align:"center",key:"permission",render:function(e,t){return t.metadata.connect?o.createElement("div",null):t.metadata.connect.map((function(e){return o.createElement("img",{src:"https://".concat(e,"/favicon.ico"),alt:e,height:16,width:16})}))}},{title:"来源",width:100,align:"center",key:"source",render:function(e,t){return o.createElement(_e.Z,{content:o.createElement("p",{style:{margin:0,padding:0}},"订阅地址: ",decodeURIComponent(t.url))},o.createElement(Tt.Z,{icon:o.createElement(Dt.Z,{color:""}),color:"green",bordered:!0,style:{cursor:"pointer"}},"订阅地址"))}},{title:"最后更新",dataIndex:"updatetime",align:"center",key:"updatetime",width:100,render:function(e,n){return o.createElement("span",{style:{cursor:"pointer"},onClick:function(){q.Z.info({id:"checkupdate",content:"检查更新中..."}),t.checkUpdate(n.id).then((function(e){e?q.Z.warning({id:"checkupdate",content:"存在新版本"}):q.Z.success({id:"checkupdate",content:"已是最新版本"})})).catch((function(e){q.Z.error({id:"checkupdate",content:"检查更新失败: ".concat(e.message)})}))}},(0,W.dL)(new Date(e)))}},{title:"操作",width:120,align:"center",key:"action",render:function(e,n){return o.createElement(ie.Z.Group,null,o.createElement(nt.Z,{title:"确定要删除此订阅吗?相关的脚本也会进行删除",icon:o.createElement(me.w6k,null),onOk:function(){c(a.filter((function(e){return e.id!==n.id}))),t.delete(n.id).catch((function(e){q.Z.error("删除失败: ".concat(e))}))}},o.createElement(ie.Z,{type:"text",icon:o.createElement(me.w6k,null),onClick:function(){},style:{color:"var(--color-text-2)"}})))}}];return o.createElement(Ze.Z,{className:"script-list",style:{height:"100%",overflowY:"auto"}},o.createElement(rt.Z,{className:"arco-drag-table-container",rowKey:"id",tableLayoutFixed:!0,columns:s,data:a,pagination:{total:a.length,pageSize:a.length,hideOnSinglePage:!0},style:{minWidth:"1100px"}}))};var Nn,Dn,Ln=n(62043),Bn=n(28182),Un=function(){function e(t){(0,r.Z)(this,e),this.fs=t,this.logger=z.Z.getLogger({component:"backupImport"})}var t,n;return(0,a.Z)(e,[{key:"parse",value:(n=(0,s.Z)(u().mark((function e(){var t,n,r,a,o=this;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=new Map,n=new Map,e.next=4,this.fs.list();case 4:return r=e.sent,e.next=7,this.dealFile(r,function(){var e=(0,s.Z)(u().mark((function e(t){var r,a,c;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((r=t.name).endsWith(".user.sub.js")){e.next=3;break}return e.abrupt("return",Promise.resolve(!1));case 3:return a=r.substring(0,r.length-12),e.next=6,o.fs.open(t);case 6:return e.next=8,e.sent.read();case 8:return e.t0=e.sent,c={source:e.t0},n.set(a,c),e.abrupt("return",Promise.resolve(!0));case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());case 7:return r=e.sent,e.next=10,this.dealFile(r,function(){var e=(0,s.Z)(u().mark((function e(t){var r,a,c;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((r=t.name).endsWith(".user.sub.options.json")){e.next=3;break}return e.abrupt("return",Promise.resolve(!1));case 3:return a=r.substring(0,r.length-22),e.t0=JSON,e.next=7,o.fs.open(t);case 7:return e.next=9,e.sent.read();case 9:return e.t1=e.sent,c=e.t0.parse.call(e.t0,e.t1),n.get(a).options=c,e.abrupt("return",Promise.resolve(!0));case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());case 10:return r=e.sent,e.next=13,this.dealFile(r,function(){var e=(0,s.Z)(u().mark((function e(n){var r,a,c;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((r=n.name).endsWith(".user.js")){e.next=3;break}return e.abrupt("return",Promise.resolve(!1));case 3:return a=r.substring(0,r.length-8),e.next=6,o.fs.open(n);case 6:return e.next=8,e.sent.read();case 8:return e.t0=e.sent,e.t1={},e.t2=[],e.t3=[],e.t4=[],c={code:e.t0,storage:e.t1,requires:e.t2,requiresCss:e.t3,resources:e.t4},t.set(a,c),e.abrupt("return",Promise.resolve(!0));case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());case 13:return r=e.sent,e.next=16,this.dealFile(r,function(){var e=(0,s.Z)(u().mark((function e(n){var r,a,c;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((r=n.name).endsWith(".options.json")){e.next=3;break}return e.abrupt("return",Promise.resolve(!1));case 3:return a=r.substring(0,r.length-13),e.t0=JSON,e.next=7,o.fs.open(n);case 7:return e.next=9,e.sent.read();case 9:return e.t1=e.sent,c=e.t0.parse.call(e.t0,e.t1),t.get(a).options=c,e.abrupt("return",Promise.resolve(!0));case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());case 16:return r=e.sent,e.next=19,this.dealFile(r,function(){var e=(0,s.Z)(u().mark((function e(n){var r,a,c;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((r=n.name).endsWith(".storage.json")){e.next=3;break}return e.abrupt("return",Promise.resolve(!1));case 3:return a=r.substring(0,r.length-13),e.t0=JSON,e.next=7,o.fs.open(n);case 7:return e.next=9,e.sent.read();case 9:return e.t1=e.sent,c=e.t0.parse.call(e.t0,e.t1),Object.keys(c.data).forEach((function(e){c.data[e]=(0,W.Ju)(c.data[e])})),t.get(a).storage=c,e.abrupt("return",Promise.resolve(!0));case 14:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());case 19:return r=e.sent,a=new Map,e.next=23,this.dealFile(r,function(){var e=(0,s.Z)(u().mark((function e(n){var r,c,i,s,l;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.name,-1!==(c=r.indexOf(".user.js-"))){e.next=4;break}return e.abrupt("return",Promise.resolve(!1));case 4:if(i=r.substring(0,c),s="",r.endsWith(".resources.json")){e.next=18;break}if(r.endsWith(".requires.json")){e.next=14;break}if(r.endsWith(".requires.css.json")){e.next=10;break}return e.abrupt("return",Promise.resolve(!1));case 10:s="requiresCss",a.set(r.substring(0,r.length-18),{index:t.get(i).requiresCss.length,key:i,type:s}),e.next=16;break;case 14:s="requires",a.set(r.substring(0,r.length-14),{index:t.get(i).requires.length,key:i,type:s});case 16:e.next=20;break;case 18:s="resources",a.set(r.substring(0,r.length-15),{index:t.get(i).resources.length,key:i,type:s});case 20:return e.t0=JSON,e.next=23,o.fs.open(n);case 23:return e.next=25,e.sent.read();case 25:return e.t1=e.sent,l=e.t0.parse.call(e.t0,e.t1),t.get(i)[s].push({meta:l}),e.abrupt("return",Promise.resolve(!0));case 29:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());case 23:return r=e.sent,e.next=26,this.dealFile(r,function(){var e=(0,s.Z)(u().mark((function e(n){var r,c;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==(r=a.get(n.name))){e.next=3;break}return e.abrupt("return",Promise.resolve(!1));case 3:return c=t.get(r.key)[r.type][r.index],e.t0=qe.w8,e.next=7,o.fs.open(n);case 7:return e.next=9,e.sent.read("blob");case 9:return e.t1=e.sent,e.next=12,(0,e.t0)(e.t1);case 12:if(c.base64=e.sent,!c.meta){e.next=27;break}return c.meta.mimetype&&(c.base64=c.base64.replace(/^data:.*?;base64,/,"data:".concat(c.meta.mimetype,";base64,"))),e.t2=Bn.Gs,e.next=18,o.fs.open(n);case 18:return e.next=20,e.sent.read("blob");case 20:if(e.t3=e.sent,!(0,e.t2)(e.t3)){e.next=27;break}return e.next=24,o.fs.open(n);case 24:return e.next=26,e.sent.read();case 26:c.source=e.sent;case 27:return e.abrupt("return",Promise.resolve(!0));case 28:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());case 26:return(r=e.sent).length&&this.logger.warn("unhandled files",{num:r.length,files:r.map((function(e){return e.name}))}),e.abrupt("return",Promise.resolve({script:Array.from(t.values()),subscribe:Array.from(n.values())}));case 29:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"dealFile",value:(t=(0,s.Z)(u().mark((function e(t,n){var r;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=[],e.next=3,Promise.all(t.map(n));case 3:return e.sent.forEach((function(e,n){e||r.push(t[n])})),e.abrupt("return",Promise.resolve(r));case 6:case"end":return e.stop()}}),e)}))),function(e,n){return t.apply(this,arguments)})}]),e}(),_n=V.Z.Singleton(R.Z)(Nn=function(){function e(t){(0,r.Z)(this,e),this.internal=t}return(0,a.Z)(e,[{key:"dispatchEvent",value:function(e,t){return this.internal.syncSend("sync-".concat(e),t)}},{key:"openImportFile",value:function(e){var t=this;return new Promise((function(n,r){e.onchange=(0,s.Z)(u().mark((function a(){var o,c,i,s;return u().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(o=e.files){a.next=3;break}return a.abrupt("return",r(new Error("no file")));case 3:if(c=o[0]){a.next=6;break}return a.abrupt("return",r(new Error("no file")));case 6:return i=URL.createObjectURL(c),setTimeout((function(){URL.revokeObjectURL(i)}),6e6),a.prev=8,a.next=11,t.openImportWindow(c.name,i);case 11:return s=a.sent,a.abrupt("return",n(s));case 15:return a.prev=15,a.t0=a.catch(8),a.abrupt("return",r(a.t0));case 18:case"end":return a.stop()}}),a,null,[[8,15]])}))),e.click()}))}},{key:"openImportWindow",value:function(e,t){return this.dispatchEvent("openImportWindow",{filename:e,url:t})}},{key:"fetchImportInfo",value:function(e){return this.dispatchEvent("fetchImportInfo",e)}},{key:"parseBackup",value:function(e){var t=new Ln.Z(e);return new Un(t).parse()}},{key:"backup",value:function(){return this.dispatchEvent("backup",null)}},{key:"backupToCloud",value:function(e,t){return this.dispatchEvent("backupToCloud",{type:e,params:t})}}]),e}())||Nn;function Fn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,D.Z)(e);if(t){var a=(0,D.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,N.Z)(this,n)}}var Vn=V.Z.Singleton(R.Z)(Dn=function(e){(0,M.Z)(n,e);var t=Fn(n);function n(e){var a;return(0,r.Z)(this,n),(a=t.call(this,e,"system")).internal=e,a}return(0,a.Z)(n,[{key:"connectVSCode",value:function(){return this.dispatchEvent("connectVSCode",{})}}]),n}(Qe))||Dn;function zn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Gn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zn(Object(n),!0).forEach((function(t){(0,i.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}const Kn=function(){var e=(0,o.useState)({}),t=(0,Y.Z)(e,2),n=t[0],r=t[1],a=V.Z.instance(_n),c=(0,o.useRef)(null),i=V.Z.instance(H.T),l=(0,o.useState)(i.backup.filesystem),d=(0,Y.Z)(l,2),f=d[0],p=d[1],m=(0,o.useState)(i.backup.params[f]||{}),h=(0,Y.Z)(m,2),g=h[0],v=h[1],y=(0,o.useState)([]),b=(0,Y.Z)(y,2),Z=b[0],E=b[1],k=(0,o.useRef)(null);return o.createElement(ae.Z,{direction:"vertical",style:{width:"100%"}},o.createElement(Ze.Z,{title:"备份",bordered:!1},o.createElement(ae.Z,{direction:"vertical"},o.createElement(xn.Z,{heading:6},"本地"),o.createElement(ae.Z,null,o.createElement("input",{type:"file",ref:c,style:{display:"none"},accept:".zip"}),o.createElement(ie.Z,{type:"primary",loading:n.local,onClick:(0,s.Z)(u().mark((function e(){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r((function(e){return Gn(Gn({},e),{},{local:!0})})),e.next=3,a.backup();case 3:r((function(e){return Gn(Gn({},e),{},{local:!1})}));case 4:case"end":return e.stop()}}),e)})))},"导出文件"),o.createElement(ie.Z,{type:"primary",onClick:function(){a.openImportFile(c.current).then((function(){q.Z.success("请在新页面中选择要导入的脚本")})).then((function(e){q.Z.error("导入错误".concat(e))}))}},"导入文件")),o.createElement(xn.Z,{heading:6},"云端"),o.createElement(wn,{preNode:"备份至",onChangeFileSystemType:function(e){p(e)},onChangeFileSystemParams:function(e){v(e)},actionButton:[o.createElement(ie.Z,{key:"backup",type:"primary",loading:n.cloud,onClick:function(){var e=Gn({},i.backup.params);e[f]=g,i.backup={filesystem:f,params:e},r((function(e){return Gn(Gn({},e),{},{cloud:!0})})),q.Z.info("正在准备备份到云端"),a.backupToCloud(f,g).then((function(){q.Z.success("备份成功")})).catch((function(e){q.Z.error("备份失败: ".concat(e))})).finally((function(){r((function(e){return Gn(Gn({},e),{},{cloud:!1})}))}))}},"备份"),o.createElement(ie.Z,{key:"list",type:"primary",onClick:(0,s.Z)(u().mark((function e(){var t,n;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,yn.Z.create(f,g);case 2:return t=e.sent,e.prev=3,e.next=6,t.openDir("ScriptCat");case 6:return t=e.sent,e.next=9,t.list();case 9:if((n=e.sent).sort((function(e,t){return t.updatetime-e.updatetime})),0!==(n=n.filter((function(e){return e.name.endsWith(".zip")}))).length){e.next=15;break}return q.Z.info("没有备份文件"),e.abrupt("return");case 15:E(n),e.next=21;break;case 18:e.prev=18,e.t0=e.catch(3),q.Z.error("获取备份文件失败: ".concat(e.t0));case 21:case"end":return e.stop()}}),e,null,[[3,18]])})))},"备份列表")],fileSystemType:f,fileSystemParams:g}),o.createElement(tt.Z,{width:400,title:o.createElement("div",{className:"flex flex-row justify-between w-full gap-10"},o.createElement("span",null,"备份列表"),o.createElement(ie.Z,{type:"secondary",size:"mini",onClick:(0,s.Z)(u().mark((function e(){var t,n;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,yn.Z.create(f,g);case 2:return t=e.sent,e.prev=3,e.next=6,t.openDir("ScriptCat");case 6:return t=e.sent,e.next=9,t.getDirUrl();case 9:(n=e.sent)&&window.open(n,"_black"),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(3),q.Z.error("获取备份目录链接失败: ".concat(e.t0));case 16:case"end":return e.stop()}}),e,null,[[3,13]])})))},"打开备份目录")),visible:0!==Z.length,onOk:function(){E([])},onCancel:function(){E([])}},o.createElement(ke.Z,{bordered:!1,dataSource:Z,render:function(e){return o.createElement(ke.Z.Item,{key:e.name},o.createElement(ke.Z.Item.Meta,{title:e.name,description:(0,W.UZ)(e.updatetime/1e3)}),o.createElement(ae.Z,{className:"w-full justify-end"},o.createElement(ie.Z,{type:"primary",size:"small",onClick:(0,s.Z)(u().mark((function t(){var n,r,o,c;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return q.Z.info("正在从云端拉取数据"),t.next=3,yn.Z.create(f,g);case 3:return n=t.sent,t.prev=4,t.next=7,n.openDir("ScriptCat");case 7:return n=t.sent,t.next=10,n.open(e);case 10:return r=t.sent,t.next=13,r.read("blob");case 13:o=t.sent,t.next=20;break;case 16:return t.prev=16,t.t0=t.catch(4),q.Z.error("拉取失败: ".concat(t.t0)),t.abrupt("return");case 20:c=URL.createObjectURL(o),setTimeout((function(){URL.revokeObjectURL(c)}),6e6),a.openImportWindow(e.name,c).then((function(){q.Z.success("请在新页面中选择要导入的脚本")})).then((function(e){q.Z.error("导入错误".concat(e))}));case 23:case"end":return t.stop()}}),t,null,[[4,16]])})))},"恢复"),o.createElement(ie.Z,{type:"primary",status:"danger",size:"small",onClick:function(){var t;te.Z.confirm({title:"确认删除",content:"确认删除备份文件".concat(e.name,"?"),onOk:(t=(0,s.Z)(u().mark((function t(){var n;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,yn.Z.create(f,g);case 2:return n=t.sent,t.prev=3,t.next=6,n.openDir("ScriptCat");case 6:return n=t.sent,t.next=9,n.delete(e.name);case 9:E(Z.filter((function(t){return t.name!==e.name}))),q.Z.success("删除成功"),t.next=16;break;case 13:t.prev=13,t.t0=t.catch(3),q.Z.error("删除失败".concat(t.t0));case 16:case"end":return t.stop()}}),t,null,[[3,13]])}))),function(){return t.apply(this,arguments)})})}},"删除")))}})),o.createElement(xn.Z,{heading:6},"备份策略"),o.createElement(Et.Z,{description:"建设中"}))),o.createElement(Ze.Z,{title:o.createElement(o.Fragment,null,o.createElement("span",null,"开发调试"),o.createElement(ie.Z,{type:"text",style:{height:24},icon:o.createElement(Qt.Z,{style:{margin:0}}),href:"https://www.bilibili.com/video/BV16q4y157CP",target:"_blank",iconOnly:!0})),bordered:!1},o.createElement(ae.Z,{direction:"vertical"},o.createElement(xn.Z,{heading:6},"VSCode地址"),o.createElement(ne.Z,{ref:k,defaultValue:i.vscodeUrl,onChange:function(e){i.vscodeUrl=e}}),o.createElement(Kt.Z,{onChange:function(e){i.vscodeReconnect=e},defaultChecked:i.vscodeReconnect},"自动连接vscode服务"),o.createElement(ie.Z,{type:"primary",onClick:function(){V.Z.instance(Vn).connectVSCode().then((function(){q.Z.success("连接成功")})).catch((function(e){q.Z.error("连接失败: ".concat(e))}))}},"连接"))))};var Hn=n(60920),Wn=n(88590),qn=n(35862),Jn=n(94677);const Yn=function(e){var t=e.children,n=e.to,r=e.search,a=e.className,c=(0,Be.s0)();return o.createElement("div",{className:a,onClick:function(){window.onbeforeunload?confirm("当前正在编辑状态,跳转其它页面将会丢失当前内容,是否跳转?")&&c({pathname:n,search:r}):c({pathname:n,search:r})}},t)};var Qn=ce.Z.Item,Xn=window.location.hash;Xn=Xn.length?Xn.substring(1):"/";const $n=function(){var e=(0,o.useState)(Xn),t=(0,Y.Z)(e,2),n=t[0],r=t[1],a=(0,o.useState)("true"===localStorage.collapsed),c=(0,Y.Z)(a,2),i=c[0],s=c[1];return o.createElement(Me.UT,null,o.createElement(ee.Z.Sider,{className:"h-full",collapsible:!0,collapsed:i,width:170,onCollapse:function(e){localStorage.collapsed=e,s(e)}},o.createElement(ce.Z,{style:{width:"100%",height:"100%"},selectedKeys:[n],selectable:!0,onClickMenuItem:function(e){r(e)}},o.createElement(Yn,{to:"/"},o.createElement(Qn,{key:"/"},o.createElement(Bt.Z,null)," 已安装脚本")),o.createElement(Yn,{to:"/subscribe"},o.createElement(Qn,{key:"/subscribe"},o.createElement(Hn.Z,null)," 订阅")),o.createElement(Yn,{to:"/logger"},o.createElement(Qn,{key:"/logger"},o.createElement(Wn.Z,null)," 日志")),o.createElement(Yn,{to:"/tools"},o.createElement(Qn,{key:"/tools"},o.createElement(qn.Z,null)," 工具")),o.createElement(Yn,{to:"/setting"},o.createElement(Qn,{key:"/setting"},o.createElement(Jn.Z,null)," 设置")))),o.createElement(ee.Z.Content,{style:{borderLeft:"1px solid var(--color-bg-5)",overflow:"hidden",padding:10,height:"100%",boxSizing:"border-box",position:"relative"}},o.createElement(Be.Z5,null,o.createElement(Be.AW,{index:!0,element:o.createElement(vn,null)}),o.createElement(Be.AW,{path:"/script/editor"},o.createElement(Be.AW,{path:":id",element:o.createElement(Pt,null)}),o.createElement(Be.AW,{path:"",element:o.createElement(Pt,null)})),o.createElement(Be.AW,{path:"/subscribe",element:o.createElement(Mn,null)}),o.createElement(Be.AW,{path:"/logger",element:o.createElement(Ne,null)}),o.createElement(Be.AW,{path:"/tools",element:o.createElement(Kn,null)}),o.createElement(Be.AW,{path:"/setting",element:o.createElement(Pn,null)}))))};(0,I.Z)(),new z.Z({debug:!1,writer:new G.Z(new K.z),labels:{env:"options"}}).logger().debug("options start"),function(){window.tsUrl="",fetch(chrome.runtime.getURL("/src/ts.worker.js.gz")).then((function(e){return e.blob()})).then(function(){var e=(0,s.Z)(u().mark((function e(t){var n;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=p.ZP,e.next=3,t.arrayBuffer();case 3:e.t1=e.sent,n=e.t0.inflate.call(e.t0,e.t1),window.tsUrl=URL.createObjectURL(new Blob([n]));case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),window.MonacoEnvironment={getWorkerUrl:function(e,t){return"typescript"===t||"javascript"===t?window.tsUrl:"/src/editor.worker.js"}},f.Mj.typescript.javascriptDefaults.addExtraLib('// @copyright https://github.com/silverwzw/Tampermonkey-Typescript-Declaration\n\ndeclare const unsafeWindow: Window;\n\ndeclare const GM_info: {\n version: string;\n scriptWillUpdate: boolean;\n scriptHandler: "ScriptCat";\n scriptUpdateURL?: string;\n scriptSource: string;\n scriptMetaStr?: string;\n isIncognito: boolean;\n downloadMode: "native" | "disabled" | "browser";\n script: {\n author?: string;\n description?: string;\n excludes: string[];\n homepage?: string;\n icon?: string;\n icon64?: string;\n includes?: string[];\n lastModified: number;\n matches: string[];\n name: string;\n namespace?: string;\n position: number;\n "run-at": string;\n resources: string[];\n unwrap: boolean;\n version: string;\n options: {\n awareOfChrome: boolean;\n run_at: string;\n noframes?: boolean;\n compat_arrayLeft: boolean;\n compat_foreach: boolean;\n compat_forvarin: boolean;\n compat_metadata: boolean;\n compat_uW_gmonkey: boolean;\n override: {\n orig_excludes: string[];\n orig_includes: string[];\n use_includes: string[];\n use_excludes: string[];\n [key: string]: any;\n };\n [key: string]: any;\n };\n [key: string]: any;\n };\n [key: string]: any;\n};\n\ndeclare function GM_addStyle(css: string): HTMLElement;\n\ndeclare function GM_deleteValue(name: string): void;\n\ndeclare function GM_listValues(): string[];\n\ndeclare function GM_addValueChangeListener(\n name: string,\n listener: GMTypes.ValueChangeListener\n): number;\n\ndeclare function GM_removeValueChangeListener(listenerId: number): void;\n\n// 可以使用Promise实际等待值的设置完成\ndeclare function GM_setValue(name: string, value: any): Promise;\n\ndeclare function GM_getValue(name: string, defaultValue?: any): any;\n\n// 支持level和label\ndeclare function GM_log(\n message: string,\n level?: GMTypes.LoggerLevel,\n labels?: GMTypes.LoggerLabel\n): any;\n\ndeclare function GM_getResourceText(name: string): string | undefined;\n\ndeclare function GM_getResourceURL(\n name: string,\n isBlobUrl?: boolean = false\n): string | undefined;\n\ndeclare function GM_registerMenuCommand(\n name: string,\n listener: () => void,\n accessKey?: string\n): number;\n\ndeclare function GM_unregisterMenuCommand(id: number): void;\n\ndeclare function GM_openInTab(\n url: string,\n options: GMTypes.OpenTabOptions\n): tab;\ndeclare function GM_openInTab(url: string, loadInBackground: boolean): tab;\ndeclare function GM_openInTab(url: string): tab;\n\ndeclare function GM_xmlhttpRequest(\n details: GMTypes.XHRDetails\n): GMTypes.AbortHandle<void>;\n\ndeclare function GM_download(\n details: GMTypes.DownloadDetails\n): GMTypes.AbortHandle<boolean>;\ndeclare function GM_download(\n url: string,\n filename: string\n): GMTypes.AbortHandle<boolean>;\n\ndeclare function GM_getTab(callback: (obj: object) => any): void;\n\ndeclare function GM_saveTab(obj: object): Promise<void>;\n\ndeclare function GM_getTabs(\n callback: (objs: { [key: number]: object }) => any\n): void;\n\ndeclare function GM_notification(\n details: GMTypes.NotificationDetails,\n ondone?: GMTypes.NotificationOnDone\n): void;\ndeclare function GM_notification(\n text: string,\n title: string,\n image: string,\n onclick?: GMTypes.NotificationOnClick\n): void;\n\ndeclare function GM_closeNotification(id: string): void;\n\ndeclare function GM_updateNotification(\n id: string,\n details: GMTypes.NotificationDetails\n): void;\n\ndeclare function GM_setClipboard(\n data: string,\n info?: string | { type?: string; minetype?: string }\n): void;\n\ndeclare function GM_addElement(tag: string, attribubutes: any);\ndeclare function GM_addElement(parentNode: Element, tag: string, attrs: any);\n\n// name和domain不能都为空\ndeclare function GM_cookie(\n action: GMTypes.CookieAction,\n details: GMTypes.CookieDetails,\n ondone: (cookie: GMTypes.Cookie[], error: any | undefined) => void\n): void;\n\n/**\n * 可以通过GM_addValueChangeListener获取tabid\n * 再通过tabid(前后端通信可能用到,ValueChangeListener会返回tabid),获取storeid,后台脚本用.\n * 请注意这是一个实验性质的API,后续可能会改变\n * @param tabid 页面的tabid\n * @param ondone 完成事件\n * @param callback.storeid 该页面的storeid,可以给GM_cookie使用\n * @param callback.error 错误信息\n * @deprecated 已废弃,请使用GM_cookie("store", tabid)替代\n */\ndeclare function GM_getCookieStore(\n tabid: number,\n ondone: (storeId: number | undefined, error: any | undefined) => void\n): void;\n\n/**\n * 设置浏览器代理\n * @deprecated 正式版中已废弃,后续可能会在beta版本中添加\n */\ndeclare function CAT_setProxy(rule: CATType.ProxyRule[] | string): void;\n\n/**\n * 清理所有代理规则\n * @deprecated 正式版中已废弃,后续可能会在beta版本中添加\n */\ndeclare function CAT_clearProxy(): void;\n\n/**\n * 输入x、y,模拟真实点击\n * @deprecated 正式版中已废弃,后续可能会在beta版本中添加\n */\ndeclare function CAT_click(x: number, y: number): void;\n\n/**\n * 打开脚本的用户配置页面\n */\ndeclare function CAT_userConfig(): void;\n\n/**\n * 操控脚本同步配置的文件储存源,将会在同步目录下创建一个app/uuid目录供此 API 使用\n * 上传时默认覆盖同名文件, 请注意这是一个试验性质的 API, 后续可能会改变\n * @param action 操作类型 list 列出指定目录所有文件, upload 上传文件, download 下载文件, delete 删除文件, 暂时不提供move/mkdir等操作\n * @param details\n */\ndeclare function CAT_fileStorage(\n action: "list",\n details: {\n // path?: string; // 暂时只允许操作根目录,所以屏蔽list的path\n onload?: (files: CATType.FileStorageFileInfo[]) => void;\n onerror?: (error: CATType.FileStorageError) => void;\n // public?: boolean;\n }\n): void;\ndeclare function CAT_fileStorage(\n action: "download",\n details: {\n file: CATType.FileStorageFileInfo; // 某些平台需要提供文件的hash值,所以需要传入文件信息\n onload: (data: Blob) => void;\n // onprogress?: (progress: number) => void;\n onerror?: (error: CATType.FileStorageError) => void;\n // public?: boolean;\n }\n): void;\ndeclare function CAT_fileStorage(\n action: "delete",\n details: {\n path: string;\n onload?: () => void;\n onerror?: (error: CATType.FileStorageError) => void;\n // public?: boolean;\n }\n): void;\ndeclare function CAT_fileStorage(\n action: "upload",\n details: {\n path: string;\n data: Blob;\n onload?: () => void;\n // onprogress?: (progress: number) => void;\n onerror?: (error: CATType.FileStorageError) => void;\n // public?: boolean;\n }\n): void;\n\ndeclare namespace CATType {\n interface ProxyRule {\n proxyServer: ProxyServer;\n matchUrl: string[];\n }\n\n type ProxyScheme = "http" | "https" | "quic" | "socks4" | "socks5";\n\n interface ProxyServer {\n scheme?: ProxyScheme;\n host: string;\n port?: number;\n }\n\n interface FileStorageError {\n // 错误码 -1 未知错误 1 用户未配置文件储存源 2 文件储存源配置错误 3 路径不存在\n // 4 上传失败 5 下载失败 6 删除失败 7 不允许的文件路径\n code: -1 | 1 | 2 | 3 | 4 | 5 | 6 | 7;\n error: string;\n }\n\n interface FileStorageFileInfo {\n // 文件名\n name: string;\n // 文件路径\n path: string;\n // 储存空间绝对路径\n absPath: string;\n // 文件大小\n size: number;\n // 文件摘要\n digest: string;\n // 文件创建时间\n createtime: number;\n // 文件修改时间\n updatetime: number;\n }\n}\n\ndeclare namespace GMTypes {\n /*\n * store为获取隐身窗口之类的cookie,这是一个实验性质的API,后续可能会改变\n */\n type CookieAction = "list" | "delete" | "set" | "store";\n\n type LoggerLevel = "debug" | "info" | "warn" | "error";\n\n type LoggerLabel = {\n [key: string]: string | boolean | number | undefined;\n };\n\n interface CookieDetails {\n url?: string;\n name?: string;\n value?: string;\n domain?: string;\n path?: string;\n secure?: boolean;\n session?: boolean;\n storeId?: string;\n httpOnly?: boolean;\n expirationDate?: number;\n // store用\n tabId?: number;\n }\n\n interface Cookie {\n domain: string;\n name: string;\n storeId: string;\n value: string;\n session: boolean;\n hostOnly: boolean;\n expirationDate?: number;\n path: string;\n httpOnly: boolean;\n secure: boolean;\n }\n\n // tabid是只有后台脚本监听才有的参数\n type ValueChangeListener = (\n name: string,\n oldValue: any,\n newValue: any,\n remote: boolean,\n tabid?: number\n ) => any;\n\n interface OpenTabOptions {\n active?: boolean;\n insert?: boolean;\n setParent?: boolean;\n useOpen?: boolean; // 这是一个实验性/不兼容其他管理器/不兼容Firefox的功能 \n }\n\n interface XHRResponse {\n finalUrl?: string;\n readyState?: 0 | 1 | 2 | 3 | 4;\n responseHeaders?: string;\n status?: number;\n statusText?: string;\n response?: string | Blob | ArrayBuffer | Document | ReadableStream | null;\n responseText?: string;\n responseXML?: Document | null;\n responseType?:\n | "text"\n | "arraybuffer"\n | "blob"\n | "json"\n | "document"\n | "stream";\n }\n\n interface XHRProgress extends XHRResponse {\n done: number;\n lengthComputable: boolean;\n loaded: number;\n position?: number;\n total: number;\n totalSize: number;\n }\n\n type Listener<OBJ> = (event: OBJ) => any;\n type ContextType = any;\n\n interface XHRDetails {\n method?: "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "PATCH" | "OPTIONS";\n url: string;\n headers?: { [key: string]: string };\n data?: string | FormData | Blob;\n cookie?: string;\n binary?: boolean;\n timeout?: number;\n context?: ContextType;\n responseType?:\n | "text"\n | "arraybuffer"\n | "blob"\n | "json"\n | "document"\n | "stream"; // stream 在当前版本是一个较为简陋的实现\n overrideMimeType?: string;\n anonymous?: boolean;\n fetch?: boolean;\n user?: string;\n password?: string;\n nocache?: boolean;\n maxRedirects?: number;\n\n onload?: Listener<XHRResponse>;\n onloadstart?: Listener<XHRResponse>;\n onloadend?: Listener<XHRResponse>;\n onprogress?: Listener<XHRProgress>;\n onreadystatechange?: Listener<XHRResponse>;\n ontimeout?: () => void;\n onabort?: () => void;\n onerror?: (err: string) => void;\n }\n\n interface AbortHandle<RETURN_TYPE> {\n abort(): RETURN_TYPE;\n }\n\n interface DownloadError {\n error:\n | "not_enabled"\n | "not_whitelisted"\n | "not_permitted"\n | "not_supported"\n | "not_succeeded"\n | "unknown";\n details?: string;\n }\n\n interface DownloadDetails {\n method?: "GET" | "POST";\n url: string;\n name: string;\n headers?: { [key: string]: string };\n saveAs?: boolean;\n timeout?: number;\n cookie?: string;\n anonymous?: boolean;\n\n onerror?: Listener<DownloadError>;\n ontimeout?: () => void;\n onload?: Listener<object>;\n onprogress?: Listener<XHRProgress>;\n }\n\n interface NotificationThis extends NotificationDetails {\n id: string;\n }\n\n type NotificationOnClick = (\n this: NotificationThis,\n id: string,\n index?: number\n ) => any;\n type NotificationOnDone = (this: NotificationThis, user: boolean) => any;\n\n interface NotificationButton {\n title: string;\n iconUrl?: string;\n }\n\n interface NotificationDetails {\n text?: string;\n title?: string;\n image?: string;\n highlight?: boolean;\n silent?: boolean;\n timeout?: number;\n onclick?: NotificationOnClick;\n ondone?: NotificationOnDone;\n progress?: number;\n oncreate?: NotificationOnClick;\n buttons?: NotificationButton[];\n }\n\n interface Tab {\n close(): void;\n\n onclose?: () => void;\n closed?: boolean;\n name?: string;\n }\n}\n',"tampermonkey.d.ts");var e={name:"脚本名称",description:"脚本描述",namespace:"脚本命名空间",version:"脚本版本",author:"脚本作者",background:"后台脚本",crontab:"定时脚本 crontab 参考(不适用于云端脚本)\n * * * * * * 每秒运行一次\n * * * * * 每分钟运行一次\n 0 */6 * * * 每6小时的0分时执行一次\n 15 */6 * * * 每6小时的15分时执行一次\n * once * * * 每小时运行一次\n * * once * * 每天运行一次\n * 10 once * * 每天10点-10:59中运行一次,假设当10:04时运行了一次,10:05-10:59的后续的时间将不会再运行\n * 1,3,5 once * * 每天1点3点5点中运行一次,假设当1点时运行了一次,3,5点将不会再运行\n * */4 once * * 每天每隔4小时检测运行一次,假设当4点时运行了一次,8,12,16,20,24点等后续的时间将不会再运行\n * 10-23 once * * 每天10点-23:59中运行一次,假设当10:04时运行了一次,10:05-23:59的后续时间将不会再运行\n * once 13 * * 每个月的13号的每小时运行一次".replace(/\n/g,"<br>")};f.Mj.registerHoverProvider("javascript",{provideHover:function(t,n){return new Promise((function(r){var a=t.getLineContent(n.lineNumber),o=/^\/\/\s*@(\w+?)(\s+(.*?)|)$/.exec(a);o?r({contents:[{value:e[o[1]],supportHtml:!0}]}):/==UserScript==/.test(a)?r({contents:[{value:"一个用户脚本"}]}):r(null)}))}}),f.Mj.registerCodeActionProvider("javascript",{provideCodeActions:function(e,t,n){for(var r=[],a=m.Z.getInstance().get("eslint-fix"),o=0;o<n.markers.length;o+=1){var c=n.markers[o],i="string"==typeof c.code?c.code:c.code.value,s=a.get("".concat(i,"|").concat(c.startLineNumber,"|").concat(c.endLineNumber,"|").concat(c.startColumn,"|").concat(c.endColumn));if(s){var l={resource:e.uri,textEdit:{range:s.range,text:s.text},versionId:void 0};r.push({title:"修复 ".concat(i," 问题"),diagnostics:[c],kind:"quickfix",edit:{edits:[l]},isPreferred:!0})}}return{actions:r,dispose:function(){}}}})}();var er=new R.Z("options");V.Z.registerInstance(L.Ez,er).alias([R.Z,L.Bb]),V.Z.instance(H.T);var tr=new _(sandbox);V.Z.registerInstance(_,tr),V.Z.instance(J.Z).setMessageSandbox(tr);var nr=function(){function e(){(0,r.Z)(this,e)}return(0,a.Z)(e,[{key:"verify",value:function(){return Promise.resolve(!0)}}]),e}(),rr=new F.Z(tr,new nr);rr.start(),V.Z.registerInstance(F.Z,rr),(0,W.wt)(er,(function(e){e?q.Z.success("重新连接成功"):q.Z.error("后台通信连接失败,请注意保存当前页面数据,尝试重新连接中...")})),tr.setHandler("sandboxOnload",(function(){return Promise.resolve(!0)})),er.setHandler("valueUpdate",(function(e,t){tr.send("valueUpdate",t)})),c.createRoot(document.getElementById("root")).render(o.createElement("div",null,o.createElement(ge,{className:"!flex-row",pageName:"options"},o.createElement($n,null))))},60147:(e,t,n)=>{n.d(t,{P4:()=>a,mr:()=>r});var r="0.13.1",a="https://ext.scriptcat.org/"},41258:(e,t,n)=>{n.d(t,{Z:()=>l});var r=n(92826),a=n(71002),o=n(15671),c=n(43144),i=n(4942);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var l=function(){function e(){(0,o.Z)(this,e)}return(0,c.Z)(e,null,[{key:"Options",value:function(t){var n=t||{};return{Singleton:function(){return n.isSingleton=!0,this.Register()},Depend:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.depend=t,this},Nolazy:function(){return n.nolazy=!0,this},Alias:function(e){return n.alias=e,this},Register:function(){return function(t){var r,a=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){(0,i.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},n);(a.object=t,e.objectParams.set(t,a),n.nolazy&&e.instance(t),n.isSingleton)||(null===(r=n.alias)||void 0===r||r.forEach((function(t){e.objectParams.set(t,a)})))}}}}},{key:"Register",value:function(){var t;return(t=e.Options()).Depend.apply(t,arguments).Register()}},{key:"Singleton",value:function(){var t;return(t=e.Options()).Depend.apply(t,arguments).Singleton()}},{key:"registerInstance",value:function(t,n){if(e.instances.has(t))throw new Error("".concat(t.name," has been registered"));return e.instances.set(t,n),{alias:function(n){return n?(n instanceof Array?n.forEach((function(n){e.registerInstanceAlias(t,n)})):e.registerInstanceAlias(t,n),this):this}}}},{key:"registerInstanceAlias",value:function(t,n){if(!e.instances.has(t))throw new Error("".concat(t.name," not registered"));return e.instances.set(n,e.instances.get(t)),e}},{key:"instance",value:function(t){var n;if(e.instances.has(t))return e.instances.get(t);if(!e.objectParams.has(t))throw new Error("".concat(t.name," not registered"));var o=e.objectParams.get(t),c=[];null===(n=o.depend)||void 0===n||n.forEach((function(t){switch((0,a.Z)(t)){case"function":case"object":case"symbol":c.push(e.instance(t));break;default:c.push(t)}}));var i=(0,r.Z)(o.object,c);return o.isSingleton&&e.registerInstance(o.object,i).alias(o.alias),i}}]),e}();(0,i.Z)(l,"instances",new Map),(0,i.Z)(l,"objectParams",new Map)},79275:(e,t,n)=>{n.d(t,{BW:()=>m,CP:()=>p,J7:()=>g,Kv:()=>h,Ru:()=>b,le:()=>y,oO:()=>f,of:()=>v});var r=n(15671),a=n(43144),o=n(97326),c=n(60136),i=n(27121),s=n(61120),l=n(4942),u=n(63585);function d(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,s.Z)(e);if(t){var a=(0,s.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,i.Z)(this,n)}}var f=1,p=2,m=3,h=1,g=2,v="running",y="complete",b=function(e){(0,c.Z)(n,e);var t=d(n);function n(){var e;return(0,r.Z)(this,n),e=t.call(this),(0,l.Z)((0,o.Z)(e),"tableName","scripts"),e.table=u.db.table(e.tableName),e}return(0,a.Z)(n,[{key:"findByName",value:function(e){return this.findOne({name:e})}},{key:"findByNameAndNamespace",value:function(e,t){return t?this.findOne({name:e,namespace:t}):this.findOne({name:e})}},{key:"findByUUID",value:function(e){return this.findOne({uuid:e})}},{key:"findByUUIDAndSubscribeUrl",value:function(e,t){return this.findOne({subscribeUrl:t,uuid:e})}},{key:"findByOriginAndSubscribeUrl",value:function(e,t){return this.findOne({subscribeUrl:t,origin:e})}}]),n}(u.sR)},14511:(e,t,n)=>{n.d(t,{oi:()=>p,s4:()=>f,zk:()=>m});var r=n(15671),a=n(43144),o=n(97326),c=n(60136),i=n(27121),s=n(61120),l=n(4942),u=n(63585);function d(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,s.Z)(e);if(t){var a=(0,s.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,i.Z)(this,n)}}var f=1,p=2,m=function(e){(0,c.Z)(n,e);var t=d(n);function n(){var e;return(0,r.Z)(this,n),e=t.call(this),(0,l.Z)((0,o.Z)(e),"tableName","subscribe"),e.table=u.db.table(e.tableName),e}return(0,a.Z)(n,[{key:"findByUrl",value:function(e){return this.findOne({url:e})}}]),n}(u.sR)},51870:(e,t,n)=>{n.d(t,{AL:()=>E,Ju:()=>x,O1:()=>Z,Pu:()=>j,Rq:()=>v,Sk:()=>C,UZ:()=>y,dL:()=>b,hR:()=>A,jo:()=>S,uO:()=>w,vU:()=>k,wt:()=>O});var r=n(15861),a=n(71002),o=n(64687),c=n.n(o),i=n(29376),s=n(42070),l=n(41976),u=n(27484),d=n.n(u),f=(n(33852),n(84110)),p=n.n(f),m=n(81249),h=n.n(m),g=n(81354);function v(e){var t,n=0;if(-1!==e.indexOf("once")){var r=e.split(" ");r.forEach((function(e,t){"once"===e&&(n=t)})),5===r.length&&(n+=1)}try{t=new l.CronTime(e.replace(/once/g,"*"))}catch(e){throw new Error("错误的定时表达式")}if(n){switch(n){case 1:return t.sendAt().toFormat("yyyy-MM-dd HH:mm 每分钟运行一次");case 2:return t.sendAt().plus({hour:1}).toFormat("yyyy-MM-dd HH 每小时运行一次");case 3:return t.sendAt().plus({day:1}).toFormat("yyyy-MM-dd 每天运行一次");case 4:return t.sendAt().plus({month:1}).toFormat("yyyy-MM 每月运行一次");case 5:return t.sendAt().plus({week:1}).toFormat("yyyy-MM-dd 每星期运行一次")}throw new Error("错误表达式")}return t.sendAt().toFormat("yyyy-MM-dd HH:mm:ss")}function y(e){return d().unix(e).format("YYYY-MM-DD HH:mm:ss")}function b(e){return d()().to(d()(e))}function Z(e){e=e||32;for(var t="ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz",n="",r=0;r<e;r+=1)n+=t.charAt(Math.floor(41*Math.random()));return n}function E(e){return function(e){return(e=e.replace(/("|\\)/g,"\\$1")).replace(/(\r\n|\n)/g,"\\n")}(e)}function k(){return navigator.userAgent.indexOf("Firefox")>=0}function w(e){switch((0,a.Z)(e)){case"string":case"number":case"boolean":case"object":return(0,a.Z)(e);default:return"unknown"}}function x(e){if(""!==e){var t=e[0],n=e.substring(1);switch(t){case"b":return"true"===n;case"n":return parseFloat(n);case"o":try{return JSON.parse(n)}catch(t){return e}case"s":return n;default:return e}}}function O(e,t){setInterval((0,r.Z)(c().mark((function n(){return c().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,new Promise((function(t){var n=setTimeout((function(){t(!1)}),1e3);e.syncSend("ping",null).then((function(){clearTimeout(n),t(!0)})).catch((function(){clearTimeout(n),t(!1)}))}));case 2:if(!n.sent){t(!1);try{e.reconnect(),t(!0)}catch(e){i.Z.getLogger({component:"utils"}).error("re connect failed",s.Z.E(e))}}case 4:case"end":return n.stop()}}),n)}))),5e3)}function S(e,t,n){try{return h().lte(e,t)}catch(e){null==n||n.warn("does not conform to the Semantic Versioning specification",s.Z.E(e))}for(var r=e.split("."),a=t.split("."),o=0;o<r.length;o+=1){if(Number(r[o])>Number(a[o]))return!1;if(Number(r[o])<Number(a[o]))return!0}return!0}function C(e,t){var n={},r={};e.connect&&e.connect.forEach((function(e){n[e]=!0})),t.connect&&t.connect.forEach((function(e){r[e]=!0}));for(var a=Object.keys(r),o=0;o<a.length;o+=1){var c=a[o];if(!n[c])return!1}return!0}function j(e){var t=new FileReader;return t.readAsBinaryString(e),new Promise((function(e){t.onloadend=function(){var n=(0,g.MD5)(g.enc.Latin1.parse(t.result)).toString();e(n)}}))}function A(e){chrome.tabs.query({active:!0},(function(t){t.length?chrome.tabs.create({url:e,index:t[0].index+1}):chrome.tabs.create({url:e})}))}d().locale("zh-cn"),d().extend(p())},73471:(e,t,n)=>{n.d(t,{Z:()=>N});var r,a,o=n(42982),c=n(70885),i=n(15861),s=n(15671),l=n(43144),u=n(97326),d=n(60136),f=n(27121),p=n(61120),m=n(4942),h=n(64687),g=n.n(h),v=n(29376),y=n(42070),b=n(79275),Z=n(99839),E=n(7985),k=n(51870),w=n(2887),x=n(41643),O=n(4888),S=n(41258),C=n(54650),j=n(44624),A=n(52042),P=n(39259),R=n(3498);function I(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function T(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?I(Object(n),!0).forEach((function(t){(0,m.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):I(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function M(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,p.Z)(e);if(t){var a=(0,p.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,f.Z)(this,n)}}var N=S.Z.Singleton(x.Ez,Z.ZP,E.Z)((a=function(e){(0,d.Z)(h,e);var t,n,r,a,f,p=M(h);function h(e,t,n){var r;return(0,s.Z)(this,h),r=p.call(this,e,"runtime"),(0,m.Z)((0,u.Z)(r),"match",new w.yR),(0,m.Z)((0,u.Z)(r),"include",new w.Hl),(0,m.Z)((0,u.Z)(r),"customizeExclude",new w.yR),(0,m.Z)((0,u.Z)(r),"runBackScript",new Map),r.scriptDAO=new b.Ru,r.resourceManager=t,r.valueManager=n,r.scriptFlag=(0,k.O1)(8),r.logger=v.Z.getInstance().logger({component:"runtime"}),O.Z.hook.addListener("upsert",r.scriptUpdate.bind((0,u.Z)(r))),O.Z.hook.addListener("delete",r.scriptDelete.bind((0,u.Z)(r))),O.Z.hook.addListener("enable",r.scriptUpdate.bind((0,u.Z)(r))),O.Z.hook.addListener("disable",r.scriptUpdate.bind((0,u.Z)(r))),r}return(0,l.Z)(h,[{key:"start",value:function(){var e=this;this.listenEvent("start",(function(t){return e.scriptDAO.findById(t).then((function(t){if(!t)throw new Error("script not found");return e.startBackgroundScript(t)})).catch((function(t){throw e.logger.error("run error",y.Z.E(t)),t}))})),this.listenEvent("stop",(function(t){return e.scriptDAO.findById(t).then((function(n){if(!n)throw new Error("script not found");return e.stopBackgroundScript(t)})).catch((function(t){throw e.logger.error("stop error",y.Z.E(t)),t}))})),this.listenScriptRunStatus(),this.scriptDAO.table.toArray((function(t){t.forEach((function(t){t?t.type===b.oO&&(t.status===b.Kv?e.enable(t):e.disable(t)):e.logger.error("script is null")}))}));var t=this.scriptFlag,n="";fetch(chrome.runtime.getURL("src/inject.js")).then((function(e){return e.text()})).then((function(e){n=(0,k.AL)("(function (ScriptFlag) {\n".concat(e,"\n})('").concat(t,"')"))}));var r=new Map;P.Z.hook.addListener("registerMenu",(function(e,t){var n;n=e.sender.tabId?e.sender.tabId:e.sender.targetTag;var a=r.get(n);a||(a=new Map,r.set(n,a));var o=a.get(e.scriptId);o||(o=[],a.set(e.scriptId,o));for(var c=0;c<o.length;c+=1)if(o[c].request.params[0]===e.params[0])return void t.disChannel();o.push({request:e,channel:t}),(0,R.Og)(n,r)})),P.Z.hook.addListener("unregisterMenu",(function(e,t){var n;n=t.sender.tabId?t.sender.tabId:t.sender.targetTag;var a=r.get(n);if(a){var o=a.get(t.scriptId);if(o){for(var c=0;c<o.length;c+=1)if(o[c].request.params[0]===e){o.splice(c,1);break}0===o.length&&a.delete(t.scriptId)}a.size||r.delete(n)}(0,R.Og)(n,r)})),chrome.tabs.onActivated.addListener((function(e){(0,R.Og)(e.tabId,r)})),h.hook.addListener("runStatus",function(){var t=(0,i.Z)(g().mark((function t(n){var r;return g().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.scriptDAO.findById(n);case 2:if(r=t.sent){t.next=5;break}return t.abrupt("return");case 5:r.status!==b.Kv&&"running"!==r.runStatus?e.runBackScript.delete(n):e.runBackScript.set(n,r);case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}());var a=new Map,o=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=a.get(e);o||(o=new Map,a.set(e,o));var c=o.get(t.id);c||(c={script:t,runNum:0,runNumByIframe:0},o.set(t.id,c)),t.status===b.Kv&&(c.runNum+=r,n&&(c.runNumByIframe+=r))};chrome.tabs.onRemoved.addListener((function(e){a.delete(e)})),this.message.setHandler("queryPageScript",function(){var t=(0,i.Z)(g().mark((function t(n,o){var c,s,l,u,d,f,p,m,h;return g().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return c=o.url,s=o.tabId,l=r.get(s),u=a.get(s),d=[],d=u?Array.from(u.values()):e.matchUrl(c).map((function(e){return{runNum:0,runNumByIframe:0,script:e}})),f=d.map(function(){var t=(0,i.Z)(g().mark((function t(n){var r,a,o;return g().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=[],l&&(null===(a=l.get(n.script.id))||void 0===a||a.forEach((function(e){r.push({name:e.request.params[1],accessKey:e.request.params[2],id:e.request.params[0],sender:e.request.sender,channelFlag:e.channel.flag})}))),t.next=4,e.scriptDAO.findById(n.script.id);case 4:if(o=t.sent){t.next=7;break}return t.abrupt("return",{id:n.script.id,name:n.script.name,enable:n.script.status===b.Kv,updatetime:n.script.updatetime||n.script.createtime,hasUserConfig:!!n.script.config,runNum:n.runNum,runNumByIframe:n.runNumByIframe,customExclude:n.script.selfMetadata&&n.script.selfMetadata.exclude,menus:r});case 7:return t.abrupt("return",{id:o.id,name:o.name,enable:o.status===b.Kv,updatetime:o.updatetime||o.createtime,hasUserConfig:!(null==o||!o.config),runNum:n.runNum,runNumByIframe:n.runNumByIframe,customExclude:o.selfMetadata&&o.selfMetadata.exclude,menus:r});case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.next=8,Promise.all(f);case 8:return p=t.sent,m=[],h=r.get("sandbox"),e.runBackScript.forEach((function(e){var t,n=[];h&&(null==h||null===(t=h.get(e.id))||void 0===t||t.forEach((function(e){n.push({name:e.request.params[1],accessKey:e.request.params[2],id:e.request.params[0],sender:e.request.sender,channelFlag:e.channel.flag})})));m.push({id:e.id,name:e.name,enable:e.status===b.Kv,updatetime:e.updatetime||e.createtime,runStatus:e.runStatus,hasUserConfig:!!e.config,runNum:e.runStatus&&e.runStatus!==b.of?1:0,menus:n,runNumByIframe:0})})),t.abrupt("return",Promise.resolve({scriptList:p,backScriptList:m}));case 13:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}()),this.message.setHandler("pageLoad",(function(r,i,s){return new Promise((function(r){if(s&&s.url&&s.tabId&&(void 0===s.frameId&&a.delete(s.tabId),"false"!==localStorage.enable_script)){e.customizeExclude.match(s.url).forEach((function(e){o(s.tabId,e,!1,0)}));var i=e.matchUrl(s.url,(function(e){return void 0!==s.frameId?!!e.metadata.noframes||(o(s.tabId,e,!0),e.status!==b.Kv):(o(s.tabId,e,!1),e.status!==b.Kv)}));chrome.tabs.executeScript(s.tabId,{frameId:s.frameId,code:"(function(){\n let temp = document.createElement('script');\n temp.setAttribute('type', 'text/javascript');\n temp.innerHTML = \"".concat(n,'";\n temp.className = "injected-js";\n document.documentElement.appendChild(temp)\n temp.remove();\n }())'),runAt:"document_start"}),i.length?(r({flag:t,scripts:i}),i.forEach((function(e){var t="document_idle";e.metadata["run-at"]&&(t=(0,c.Z)(e.metadata["run-at"],1)[0]);switch(t){case"document-body":case"document-start":t="document_start";break;case"document-end":t="document_end";break;default:t="document_idle"}chrome.tabs.executeScript(s.tabId,{frameId:s.frameId,code:"(function(){\n let temp = document.createElement('script');\n temp.setAttribute('type', 'text/javascript');\n temp.innerHTML = \"".concat(e.code,'";\n temp.className = "injected-js";\n document.documentElement.appendChild(temp)\n temp.remove();\n }())'),runAt:t})})),chrome.browserAction.getBadgeText({tabId:s.tabId},(function(e){chrome.browserAction.setBadgeText({text:(i.length+(parseInt(e,10)||0)).toString(),tabId:s.tabId})})),chrome.browserAction.setBadgeBackgroundColor({color:"#4594d5",tabId:s.tabId})):r({flag:t,scripts:[]})}}))}))}},{key:"setMessageSandbox",value:function(e){this.messageSandbox=e}},{key:"startSandbox",value:function(e){var t=this;this.messageSandbox=e,this.scriptDAO.table.toArray((function(e){e.forEach((function(e){e?e.type!==b.oO&&e.status===b.Kv&&(t.enable(e),t.runBackScript.set(e.id,e)):t.logger.error("script is null")}))}))}},{key:"listenScriptRunStatus",value:function(){var e=this;this.message.setHandler("scriptRunStatus",(function(t,n){var r=(0,c.Z)(n,2),a=r[0],o=r[1];e.scriptDAO.update(a,{runStatus:o,lastruntime:(new Date).getTime()}),h.hook.trigger("runStatus",a,o)})),this.message.setHandlerWithChannel("watchRunStatus",(function(e){var t=function(t,n){e.send([t,n])};h.hook.addListener("runStatus",t),e.setDisChannelHandler((function(){h.hook.removeListener("runStatus",t)}))}))}},{key:"scriptUpdate",value:(f=(0,i.Z)(g().mark((function e(t){return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.resourceManager.checkScriptResource(t);case 2:if(t.status!==b.Kv){e.next=4;break}return e.abrupt("return",this.enable(t));case 4:return e.abrupt("return",this.disable(t));case 5:case"end":return e.stop()}}),e,this)}))),function(e){return f.apply(this,arguments)})},{key:"matchUrl",value:function(e,t){var n=this.match.match(e);n.push.apply(n,(0,o.Z)(this.include.match(e)));var r={};return n.forEach((function(e){t&&t(e)||(r[e.id]=e)})),Object.keys(r).map((function(e){return r[e]}))}},{key:"scriptDelete",value:(a=(0,i.Z)(g().mark((function e(t){return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.type===b.oO?(this.match.del(t),this.include.del(t)):this.unloadBackgroundScript(t),e.abrupt("return",Promise.resolve(!0));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"enable",value:(r=(0,i.Z)(g().mark((function e(t){var n;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.buildScriptRunResource(t);case 2:if(n=e.sent,t.type===b.oO){e.next=5;break}return e.abrupt("return",this.loadBackgroundScript(n));case 5:return e.abrupt("return",this.loadPageScript(n));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"disable",value:function(e){return e.type!==b.oO?this.unloadBackgroundScript(e):this.unloadPageScript(e)}},{key:"loadPageScript",value:function(e){var t=this,n=this.logger.with({scriptId:e.id,name:e.name});return e.code=(0,k.AL)((0,A.IT)(e)),this.match.del(e),this.include.del(e),e.metadata.match&&e.metadata.match.forEach((function(r){try{t.match.add(r,e)}catch(e){n.error("url加载错误",y.Z.E(e))}})),e.metadata.include&&e.metadata.include.forEach((function(r){try{t.include.add(r,e)}catch(e){n.error("url加载错误",y.Z.E(e))}})),e.metadata.exclude&&e.metadata.exclude.forEach((function(r){try{t.include.exclude(r,e),t.match.exclude(r,e)}catch(e){n.error("url加载错误",y.Z.E(e))}})),e.selfMetadata&&e.selfMetadata.exclude&&e.selfMetadata.exclude.forEach((function(r){try{t.customizeExclude.add(r,e)}catch(e){n.error("url加载错误",y.Z.E(e))}})),Promise.resolve(!0)}},{key:"unloadPageScript",value:function(e){return this.loadPageScript(e)}},{key:"loadBackgroundScript",value:function(e){var t=this;return this.runBackScript.set(e.id,e),new Promise((function(n,r){var a;null===(a=t.messageSandbox)||void 0===a||a.syncSend("enable",e).then((function(){n(!0)})).catch((function(e){t.logger.error("backscript load error",y.Z.E(e)),r(e)}))}))}},{key:"unloadBackgroundScript",value:function(e){var t=this;return this.runBackScript.delete(e.id),new Promise((function(n,r){var a;null===(a=t.messageSandbox)||void 0===a||a.syncSend("disable",e.id).then((function(){n(!0)})).catch((function(e){t.logger.error("backscript stop error",y.Z.E(e)),r(e)}))}))}},{key:"startBackgroundScript",value:(n=(0,i.Z)(g().mark((function e(t){var n,r;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.buildScriptRunResource(t);case 2:return r=e.sent,null===(n=this.messageSandbox)||void 0===n||n.syncSend("start",r),e.abrupt("return",Promise.resolve(!0));case 5:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"stopBackgroundScript",value:function(e){var t=this;return new Promise((function(n,r){var a;null===(a=t.messageSandbox)||void 0===a||a.syncSend("stop",e).then((function(e){n(e)})).catch((function(e){t.logger.error("backscript stop error",y.Z.E(e)),r(e)}))}))}},{key:"buildScriptRunResource",value:(t=(0,i.Z)(g().mark((function e(t){var n,r;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(r=Object.assign(t)).selfMetadata&&(r.metadata=T({},r.metadata),Object.keys(r.selfMetadata).forEach((function(e){r.metadata[e]=r.selfMetadata[e]}))),e.next=4,this.valueManager.getScriptValues(r);case 4:return r.value=e.sent,e.next=7,this.resourceManager.getScriptResources(r);case 7:return r.resource=e.sent,r.flag=(0,k.O1)(16),r.sourceCode=r.code,r.code=(0,A.gQ)(r),r.grantMap={},null===(n=r.metadata.grant)||void 0===n||n.forEach((function(e){r.grantMap[e]="ok"})),e.abrupt("return",Promise.resolve(r));case 14:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),h}(C.Z),(0,m.Z)(a,"hook",new j.Z),r=a))||r},86233:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(8081),a=n.n(r),o=n(23645),c=n.n(o)()(a());c.push([e.id,".log-query-label .arco-select-view {\n border-radius: 0;\n}\n\n.log-query-label .arco-select:first-child {\n border-left: 1px solid var(--color-neutral-3);\n}\n\n.log-query-label .arco-select {\n width: auto;\n border-top: 1px solid var(--color-neutral-3);\n border-bottom: 1px solid var(--color-neutral-3);\n}\n\n.log-query-label .arco-btn {\n height: 34px;\n border-left: 0;\n border-radius: 0;\n border-top: 1px solid var(--color-neutral-3);\n border-bottom: 1px solid var(--color-neutral-3);\n border-right: 1px solid var(--color-neutral-3);\n}\n\n.log-query-label .arco-select {\n border-right: 1px solid var(--color-neutral-3);\n}\n",""]);const i=c},49212:(e,t,n)=>{n.d(t,{Z:()=>m});var r=n(8081),a=n.n(r),o=n(23645),c=n.n(o),i=n(61667),s=n.n(i),l=new URL(n(71090),n.b),u=new URL(n(46050),n.b),d=c()(a()),f=s()(l),p=s()(u);d.push([e.id,".show-log-card .arco-list-item {\n border-bottom: 0 !important;\n}\n\nh1.arco-typography,\nh2.arco-typography,\nh3.arco-typography,\nh4.arco-typography,\nh5.arco-typography,\nh6.arco-typography {\n margin-top: 0 !important;\n}\n\n.script-list .arco-card-body {\n padding: 0 !important;\n}\n\n.max-table-cell .arco-table-cell {\n display: block;\n max-height: 100px;\n overflow: auto;\n}\n\n/* error、wran图标直接用的油猴CodeMirror编辑器图标 待优化*/\n.icon-error{\n background-image: url("+f+");\n background-repeat: no-repeat;\n background-position: center;\n left: 10px!important;\n}\n\n.icon-warn{\n background-image: url("+p+");\n background-repeat: no-repeat;\n background-position: center;\n left: 10px!important;\n}\n\n.actionList{\n height: auto !important;\n}",""]);const m=d},93554:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(8081),a=n.n(r),o=n(23645),c=n.n(o)()(a());c.push([e.id,".edit-tabs .arco-tabs-header-title-text {\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n",""]);const i=c},71090:e=>{e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII="},46050:e=>{e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII="}},n={};function r(e){var a=n[e];if(void 0!==a)return a.exports;var o=n[e]={id:e,loaded:!1,exports:{}};return t[e].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}r.m=t,r.amdO={},e=[],r.O=(t,n,a,o)=>{if(!n){var c=1/0;for(u=0;u<e.length;u++){for(var[n,a,o]=e[u],i=!0,s=0;s<n.length;s++)(!1&o||c>=o)&&Object.keys(r.O).every((e=>r.O[e](n[s])))?n.splice(s--,1):(i=!1,o<c&&(c=o));if(i){e.splice(u--,1);var l=a();void 0!==l&&(t=l)}}return t}o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,a,o]},r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.e=()=>Promise.resolve(),r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.j=798,(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var a=n.length-1;a>-1&&!e;)e=n[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{r.b=document.baseURI||self.location.href;var e={798:0};r.O.j=t=>0===e[t];var t=(t,n)=>{var a,o,[c,i,s]=n,l=0;if(c.some((t=>0!==e[t]))){for(a in i)r.o(i,a)&&(r.m[a]=i[a]);if(s)var u=s(r)}for(t&&t(n);l<c.length;l++)o=c[l],r.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return r.O(u)},n=self.webpackChunkscriptcat=self.webpackChunkscriptcat||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),r.nc=void 0;var a=r.O(void 0,[885,221,169,864,458,79,127,30,673],(()=>r(8567)));a=r.O(a)})(); |