File: /www/server/panel/BTPanel/static/js/protect-ext-legacy.js
!function(){function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function r(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 o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function u(t,n,r){return(n=function(t){var n=function(t,n){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,n||"default");if("object"!=e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"==e(n)?n:n+""}(n))in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function a(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function u(n,r,o,u){var a=r&&r.prototype instanceof c?r:c,s=Object.create(a.prototype);return l(s,"_invoke",function(n,r,o){var u,a,l,c=0,s=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,n){return u=t,a=0,l=e,p.n=n,i}};function d(n,r){for(a=n,l=r,t=0;!f&&c&&!o&&t<s.length;t++){var o,u=s[t],d=p.p,v=u[2];n>3?(o=v===r)&&(l=u[(a=u[4])?5:(a=3,3)],u[4]=u[5]=e):u[0]<=d&&((o=n<2&&d<u[1])?(a=0,p.v=r,p.n=u[1]):d<v&&(o=n<3||u[0]>r||r>v)&&(u[4]=n,u[5]=r,p.n=v,a=0))}if(o||n>1)return i;throw f=!0,r}return function(o,s,v){if(c>1)throw TypeError("Generator is already running");for(f&&1===s&&d(s,v),a=s,l=v;(t=a<2?e:l)||!f;){u||(a?a<3?(a>1&&(p.n=-1),d(a,l)):p.n=l:p.v=l);try{if(c=2,u){if(a||(o="next"),t=u[o]){if(!(t=t.call(u,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,a<2&&(a=0)}else 1===a&&(t=u.return)&&t.call(u),a<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),a=1);u=e}else if((t=(f=p.n<0)?l:n.call(r,p))!==i)break}catch(t){u=e,a=1,l=t}finally{c=1}}return{value:t,done:f}}}(n,o,u),!0),s}var i={};function c(){}function s(){}function f(){}t=Object.getPrototypeOf;var p=[][r]?t(t([][r]())):(l(t={},r,function(){return this}),t),d=f.prototype=c.prototype=Object.create(p);function v(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,l(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return s.prototype=f,l(d,"constructor",f),l(f,"constructor",s),s.displayName="GeneratorFunction",l(f,o,"GeneratorFunction"),l(d),l(d,o,"Generator"),l(d,r,function(){return this}),l(d,"toString",function(){return"[object Generator]"}),(a=function(){return{w:u,m:v}})()}function l(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}l=function(e,t,n,r){function u(t,n){l(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(u("next",0),u("throw",1),u("return",2))},l(e,t,n,r)}function i(e,t,n,r,o,u,a){try{var l=e[u](a),i=l.value}catch(e){return void n(e)}l.done?t(i):Promise.resolve(i).then(r,o)}function c(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var u=e.apply(t,n);function a(e){i(u,r,o,a,l,"next",e)}function l(e){i(u,r,o,a,l,"throw",e)}a(void 0)})}}System.register(["./utils-lib-legacy.js?v=1777008528","./base-lib-legacy.js?v=1777008528","./index-legacy118.js?v=1777008528","./index-legacy131.js?v=1777008528","./index-legacy3.js?v=1777008528","./useController-legacy13.js?v=1777008528","./useStore-legacy2.js?v=1777008528","./site-legacy.js?v=1777008528","./masker.vue_vue_type_script_setup_true_lang-legacy.js?v=1777008528","./__commonjsHelpers__-legacy.js?v=1777008528","./index-legacy119.js?v=1777008528","./index-legacy116.js?v=1777008528","./index-legacy175.js?v=1777008528","./index.vue_vue_type_style_index_0_scoped_cdc7f4d3_lang-legacy.js?v=1777008528"],function(e,n){"use strict";var r,u,l,i,s,f,p,d,v,m,y,h,b,g,w,x,_,j,O,k,S,P,E,V,T,C,A,D,F,I,q,G,R,U,z,B,N,J,M,H,K,L,Q,Z,$,W,X,Y,ee,te,ne,re,oe,ue;return{setters:[function(e){r=e.w,u=e.k,l=e.o,i=e.cR,s=e.cO,f=e.d3,p=e.d4,d=e.cP,v=e.K,m=e.f,y=e.cZ},function(e){h=e.c,b=e.r,g=e.H,w=e.e,x=e.g,_=e.x,j=e.F,O=e.o,k=e.I,S=e.J,P=e.p,E=e.j,V=e.k,T=e.C,C=e.y,A=e.Q,D=e.v,F=e.q,I=e.B,q=e.V,G=e.ap,R=e.z,U=e.am,z=e.an,B=e.ad,N=e.ab,J=e.w},function(e){M=e._},function(e){H=e._},function(e){K=e.e,L=e.g,Q=e.b},function(e){Z=e.o,$=e.t},function(e){W=e.u},function(e){X=e.getTamperRuleByPath,Y=e.addBlackExts,ee=e.releaseFileExt,te=e.syncBlackExts,ne=e.removeBlackExts,re=e.getActionLogsForExts,oe=e.getSiteInfo},function(e){ue=e._},null,null,null,null,null],execute:function(){var n={class:"flex gap-col-1rem"},ae={class:"p-2rem"},le=h({__name:"protect-ext",props:{compData:{default:{}}},setup:function(e,y){var h,le=y.expose,ie=m(),ce=W().siteInfo,se=b("file"),fe=b(),pe=b(!1),de=b(""),ve=b(!1),me=b({}),ye=b([]),he=b([]),be=b(!1),ge=b(!1),we=b(),xe=b(!1),_e=g({sites:[],list:[]}),je=g({sites:[{required:!0,message:"请选择同步配置",trigger:"blur"}]}),Oe=b([{label:"受保护的文件类型",name:"file",lazy:!0,render:function(){return w("span",null,null)}},{label:"受保护的文件目录",name:"directory",lazy:!0,render:function(){return w("span",null,null)}}]),ke=x(function(){return"file"===se.value?[{content:"所谓文件类型是指文件名结尾的字符串,不一定是扩展名"},{content:w(j,null,[_("例如"),w("code",null,[_(".php")]),_(","),w("code",null,[_(".html")]),_(","),w("code",null,[_(".js?v=1777008528")]),_(","),w("code",null,[_("index.php")]),_("等")])},{content:w(j,null,[_("例1:"),w("code",null,[_(".php")]),_("匹配:"),w("code",null,[_("./1.php")]),w("code",null,[_("./test/2.php")]),_("不匹配:"),w("code",null,[_("./1.php/1.txt")])])},{content:w(j,null,[_("例2:"),w("code",null,[_("index.php")]),_("匹配:"),w("code",null,[_("./index.php")]),w("code",null,[_("./test/index.php")]),w("code",null,[_("./abc_index.php")]),_("不匹配:"),w("code",null,[_("./index.php.tar.gz")])])}]:[{content:"支持以下4种方式"},{content:w(j,null,[_("1、完整文件路径,如:"),w("code",null,[_("/www/wwwroot/test/123.php")])])},{content:w(j,null,[_("2、相对于网站的相对路径,如:全路径是"),w("code",null,[_("/www/wwwroot/test/app/123.php")]),_("相对路径"),w("code",null,[_("./app/123.php")])])},{content:w(j,null,[_("3、指定目录下的所有文件,如:"),w("code",null,[_("/www/wwwroot/test/app/*")]),_("相对路径"),w("code",null,[_("./app/*")])])},{content:w(j,null,[_("4、指定目录下的指定文件类型,如:"),w("code",null,[_("/www/wwwroot/test/app/*.php")]),_("相对路径"),w("code",null,[_("./app/*.php")])])},{content:w("span",{class:"text-danger"},[_("注意,已经在【受保护的文件类型】中被包含的文件无需专门设置规则")])}]}),Se=[{content:w(j,null,[_("【一键应用】将当前网站已配置的"),w("span",{class:"text-danger"},[_("排除目录")]),_(","),w("span",{class:"text-danger"},[_("防护文件")]),_(",同步配置到其他网站")])}],Pe=function(){var e=c(a().m(function e(t,n,r,o){var u,l,i;return a().w(function(e){for(;;)switch(e.n){case 0:return u=o.label,l=o.value,i=function(){var e=c(a().m(function e(t,n){var r,o,u,i,c,s,f,p,d;return a().w(function(e){for(;;)switch(e.n){case 0:r=new Map([["open",ee],["close",ee],["delete",ne]]),o=t.exts,u=me.value,i=u.pid,c=u.path,s=r.get(l),d=l,e.n="open"===d||"close"===d?1:"delete"===d?2:3;break;case 1:if(!s){e.n=2;break}return f={path_id:i,exts:o,release:"open"!==l?1:0},e.a(2,s(f));case 2:if(!s){e.n=3;break}return p={path_id:i,exts:o,path:c},e.a(2,s(p));case 3:return e.a(2)}},e)}));return function(t,n){return e.apply(this,arguments)}}(),e.n=1,t({title:"批量".concat(u),content:"批量".concat(u,",是否继续操作?"),column:[{label:"".concat("file"===se.value?"文件类型":"文件全路径 或 相对路径"),prop:"exts"},Q()],onConfirm:function(){var e=c(a().m(function e(){return a().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,n(i);case 1:return Ee(),e.a(2,!1)}},e)}));return function(){return e.apply(this,arguments)}}()});case 1:return e.a(2)}},e)}));return function(t,n,r,o){return e.apply(this,arguments)}}(),Ee=function(){var e=c(a().m(function e(){var t,n,r,o,u,l,i=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return t=i.length>0&&void 0!==i[0]&&i[0],e.p=1,t&&(pe.value=!0),e.n=2,X({path:ce.value.path});case 2:n=e.v,r=n.data,o=[],r.hasOwnProperty("status")&&(me.value=r,u=r.black_exts||[],l=r.white_exts||[],null==u||u.forEach(function(e){o.push({exts:e,limit_status:1})}),null==l||l.forEach(function(e){o.push({exts:e,limit_status:0})})),ye.value=o.filter(function(e){return"file"===se.value?-1===e.exts.indexOf("/"):-1!==e.exts.indexOf("/")}),e.n=4;break;case 3:e.p=3,e.v;case 4:return e.p=4,t&&(pe.value=!1),e.f(4);case 5:return e.a(2)}},e,null,[[1,3,4,5]])}));return function(){return e.apply(this,arguments)}}(),Ve=function(){var e=c(a().m(function e(){var t;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(""!==de.value){e.n=1;break}return e.a(2,ie.error("文件类型不能为空"));case 1:return e.p=1,e.n=2,Y({path_id:me.value.pid,path:me.value.path,exts:de.value});case 2:t=e.v,ie.request(t),t.status&&(de.value="",Ee()),e.n=4;break;case 3:e.p=3,e.v;case 4:return e.a(2)}},e,null,[[1,3]])}));return function(){return e.apply(this,arguments)}}(),Te=function(){var e=c(a().m(function e(t,n){return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,t.limit_status=n?1:0,e.n=1,r({title:"".concat(n?"开启":"关闭","【").concat(t.exts,"】"),content:"".concat(n?"开启该受保护文件类型后,该类型后缀文件将被保护,是否继续?":"关闭该受保护文件类型后,该类型后缀文件将不被保护,是否继续?"),icon:"warning"});case 1:return e.n=2,u({loading:"正在设置保护文件状态,请稍后...",request:ee({path_id:me.value.pid,exts:t.exts,release:n?0:1}),message:!0});case 2:e.v.status&&Ee(),e.n=4;break;case 3:e.p=3,"cancel"===e.v&&(t.limit_status=n?0:1);case 4:return e.a(2)}},e,null,[[0,3]])}));return function(t,n){return e.apply(this,arguments)}}(),Ce=function(){var e=c(a().m(function e(){var t;return a().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,u({loading:ge,request:oe(),data:Array});case 1:t=e.v,_e.list=t;case 2:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),Ae=function(){var e=c(a().m(function e(){var t,n,r,o;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.n=1,we.value.validate();case 1:return e.p=1,n={},he.value.forEach(function(e){n[e.exts]=e.limit_status}),r={site_ids:JSON.stringify(_e.sites),exts:JSON.stringify(n)},e.n=2,te(r);case 2:o=e.v,be.value=!1,Z({title:"批量同步到其他站点",resultData:null===(t=o.data)||void 0===t?void 0:t.map(function(e){return{name:e.name,status:"同步成功"===e.msg,msg:e.msg}}),resultTitle:"批量同步到其他站点操作",showMult:!1}),e.n=4;break;case 3:e.p=3,e.v;case 4:return e.a(2)}},e,null,[[1,3]])}));return function(){return e.apply(this,arguments)}}(),De=function(){var e=c(a().m(function e(t){return a().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,r({title:"删除受保护的文件类型【"+t.exts+"】",content:"删除受保护的文件类型后,文件名以该后缀结尾的文件将失去保护,是否继续操作?",icon:"warning"});case 1:return e.n=2,u({loading:"正在删除受保护的文件类型,请稍后...",request:ne({path_id:me.value.pid,path:me.value.path,exts:t.exts}),message:!0});case 2:e.v.status&&Ee();case 3:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),Fe=function(){var e=c(a().m(function e(t){var n,r,u,i;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,r={path_id:me.value.pid,exts:t.exts,row:10,p:1,pid:me.value.pid},e.n=1,re(r);case 1:u=e.v,i=u.data,null!==(n=i.data)&&void 0!==n&&n.length?$({title:"受保护的文件类型【".concat(t.exts,"】日志"),row:t,data:i,params:o(o({},r),{},{total:l(i.page)})}):ie.error("暂无日志"),e.n=3;break;case 2:e.p=2,e.v;case 3:return e.a(2)}},e,null,[[0,2]])}));return function(t){return e.apply(this,arguments)}}(),Ie=function(e){de.value="",se.value=e,qe.value[1].label="file"===e?"文件类型":"文件全路径 或 相对路径",Ee()},qe=q([K(),{prop:"exts",label:"文件路径"},{prop:"limit_status",label:"状态",render:function(e,t){var n=1===e.limit_status;return w(G,{size:"small",modelValue:n,"onUpdate:modelValue":function(e){return n=e},onChange:function(t){return Te(e,t)}},null)}},L([{title:"日志",onClick:Fe},{title:"删除",onClick:De}])]),Ge=[{label:"开启受保护文件类型",value:"open",event:Pe},{label:"关闭受保护文件类型",value:"close",event:Pe},{label:"同步到其他站点",value:"sync",event:(h=c(a().m(function e(t,n,r,o,u){return a().w(function(e){for(;;)switch(e.n){case 0:he.value=r.value,_e.sites=[],be.value=!0,Ce(),J(function(){return be.value},function(e){e||u()});case 1:return e.a(2)}},e)})),function(e,t,n,r,o){return h.apply(this,arguments)})},{label:"删除受保护文件类型",value:"delete",event:Pe}];return O(function(){Ee(!0)}),le({init:function(){Ee(!0)}}),function(r,u){var a,l=i,c=s,m=R,y=H,h=f,b=p,g=M,x=d,O=U,q=z,G=B,J=N,K=v,L=k("bt-loading");return S((E(),V("div",null,[null!==(a=P(me))&&void 0!==a&&a.path?C("",!0):(E(),T(ue,{key:0,compData:o(o({},e.compData),{},{init:Ee})},null,8,["compData"])),w(l,{ref:"tamperRef",type:"",modelValue:P(se),"onUpdate:modelValue":u[0]||(u[0]=function(e){return A(se)?se.value=e:null}),options:P(Oe),onChange:Ie},null,8,["modelValue","options"]),w(g,null,{"header-left":D(function(){return[F("div",n,[w(c,{modelValue:P(de),"onUpdate:modelValue":u[1]||(u[1]=function(e){return A(de)?de.value=e:null}),width:"30rem",placeholder:"文件类型"},null,8,["modelValue"]),w(m,{type:"primary",onClick:Ve},{default:D(function(){return t(u[4]||(u[4]=[_("添加",-1)]))}),_:1})])]}),"header-right":D(function(){return[w(y,{onRefresh:Ee})]}),content:D(function(){return[S(w(h,{ref_key:"protectTableRef",ref:fe,column:P(qe),"max-height":360,data:P(ye)},null,8,["column","data"]),[[L,P(ve)]])]}),"footer-left":D(function(){return[w(b,{"table-ref":P(fe),options:P(Ge)},null,8,["table-ref","options"])]}),"footer-right":D(function(){return t(u[5]||(u[5]=[]))}),_:1}),w(x,{class:"ml-2rem mt-2rem tamper-help-info","list-style":"disc",options:P(ke)},null,8,["options"]),w(K,{title:"批量同步到其他站点",modelValue:P(be),"onUpdate:modelValue":u[3]||(u[3]=function(e){return A(be)?be.value=e:null}),area:50,"show-footer":"",onConfirm:Ae},{default:D(function(){return[F("div",ae,[S((E(),T(J,{ref_key:"applyFormRef",ref:we,model:P(_e),rules:P(je),disabled:P(xe)},{default:D(function(){return[w(G,{label:"同步站点",prop:"sites"},{default:D(function(){return[w(q,{modelValue:P(_e).sites,"onUpdate:modelValue":u[2]||(u[2]=function(e){return P(_e).sites=e}),multiple:"","collapse-tags":"",class:"w-30rem",placeholder:"请选择站点"},{default:D(function(){return[(E(!0),V(j,null,I(P(_e).list,function(e){return E(),V(j,null,[e.id!==P(ce).id?(E(),T(O,{key:e.id,label:e.rname,value:e.id},null,8,["label","value"])):C("",!0)],64)}),256))]}),_:1},8,["modelValue"])]}),_:1})]}),_:1},8,["model","rules","disabled"])),[[L,P(ge)]]),w(x,{"list-style":"disc",class:"mt-2rem ml-2rem",options:Se})])]}),_:1},8,["modelValue"])])),[[L,P(pe)],[L,"正在获取站点防篡改信息,请稍侯","title"]])}}});e("default",y(le,[["__scopeId","data-v-c00984a8"]]))}}})}();