HEX
Server: nginx/1.28.3
System: Linux ip-172-31-12-242 6.17.0-1007-aws #7~24.04.1-Ubuntu SMP Thu Jan 22 21:04:49 UTC 2026 x86_64
User: root (0)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/panel/BTPanel/static/js/index-legacy476.js
!function(){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},n(t)}function t(n){return function(n){if(Array.isArray(n))return e(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,t){if(n){if("string"==typeof n)return e(n,t);var r={}.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(n,t):void 0}}(n)||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 e(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,r=Array(t);e<t;e++)r[e]=n[e];return r}function r(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable})),e.push.apply(e,r)}return e}function a(n){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?r(Object(e),!0).forEach(function(t){o(n,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):r(Object(e)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))})}return n}function o(t,e,r){return(e=function(t){var e=function(t,e){if("object"!=n(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var a=r.call(t,e||"default");if("object"!=n(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==n(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function u(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var n,t,e="function"==typeof Symbol?Symbol:{},r=e.iterator||"@@iterator",a=e.toStringTag||"@@toStringTag";function o(e,r,a,o){var u=r&&r.prototype instanceof l?r:l,s=Object.create(u.prototype);return i(s,"_invoke",function(e,r,a){var o,u,i,l=0,s=a||[],f=!1,p={p:0,n:0,v:n,a:v,f:v.bind(n,4),d:function(t,e){return o=t,u=0,i=n,p.n=e,c}};function v(e,r){for(u=e,i=r,t=0;!f&&l&&!a&&t<s.length;t++){var a,o=s[t],v=p.p,d=o[2];e>3?(a=d===r)&&(i=o[(u=o[4])?5:(u=3,3)],o[4]=o[5]=n):o[0]<=v&&((a=e<2&&v<o[1])?(u=0,p.v=r,p.n=o[1]):v<d&&(a=e<3||o[0]>r||r>d)&&(o[4]=e,o[5]=r,p.n=d,u=0))}if(a||e>1)return c;throw f=!0,r}return function(a,s,d){if(l>1)throw TypeError("Generator is already running");for(f&&1===s&&v(s,d),u=s,i=d;(t=u<2?n:i)||!f;){o||(u?u<3?(u>1&&(p.n=-1),v(u,i)):p.n=i:p.v=i);try{if(l=2,o){if(u||(a="next"),t=o[a]){if(!(t=t.call(o,i)))throw TypeError("iterator result is not an object");if(!t.done)return t;i=t.value,u<2&&(u=0)}else 1===u&&(t=o.return)&&t.call(o),u<2&&(i=TypeError("The iterator does not provide a '"+a+"' method"),u=1);o=n}else if((t=(f=p.n<0)?i:e.call(r,p))!==c)break}catch(t){o=n,u=1,i=t}finally{l=1}}return{value:t,done:f}}}(e,a,o),!0),s}var c={};function l(){}function s(){}function f(){}t=Object.getPrototypeOf;var p=[][r]?t(t([][r]())):(i(t={},r,function(){return this}),t),v=f.prototype=l.prototype=Object.create(p);function d(n){return Object.setPrototypeOf?Object.setPrototypeOf(n,f):(n.__proto__=f,i(n,a,"GeneratorFunction")),n.prototype=Object.create(v),n}return s.prototype=f,i(v,"constructor",f),i(f,"constructor",s),s.displayName="GeneratorFunction",i(f,a,"GeneratorFunction"),i(v),i(v,a,"Generator"),i(v,r,function(){return this}),i(v,"toString",function(){return"[object Generator]"}),(u=function(){return{w:o,m:d}})()}function i(n,t,e,r){var a=Object.defineProperty;try{a({},"",{})}catch(n){a=0}i=function(n,t,e,r){function o(t,e){i(n,t,function(n){return this._invoke(t,e,n)})}t?a?a(n,t,{value:e,enumerable:!r,configurable:!r,writable:!r}):n[t]=e:(o("next",0),o("throw",1),o("return",2))},i(n,t,e,r)}function c(n,t,e,r,a,o,u){try{var i=n[o](u),c=i.value}catch(n){return void e(n)}i.done?t(c):Promise.resolve(c).then(r,a)}function l(n){return function(){var t=this,e=arguments;return new Promise(function(r,a){var o=n.apply(t,e);function u(n){c(o,r,a,u,i,"next",n)}function i(n){c(o,r,a,u,i,"throw",n)}u(void 0)})}}System.register(["./index-legacy118.js?v=1777008528","./base-lib-legacy.js?v=1777008528","./utils-lib-legacy.js?v=1777008528","./index-legacy3.js?v=1777008528","./site-legacy.js?v=1777008528","./form-item-legacy.js?v=1777008528","./useController-legacy13.js?v=1777008528","./index-legacy119.js?v=1777008528","./__commonjsHelpers__-legacy.js?v=1777008528","./index-legacy116.js?v=1777008528","./useStore-legacy2.js?v=1777008528"],function(n,e){"use strict";var r,o,i,c,s,f,p,v,d,y,m,h,b,g,w,_,j,O,C,k,P,x,S,E,T,q,A,F,G,W,B,D,I,V,H,M,N;return{setters:[function(n){r=n._},function(n){o=n.r,i=n.V,c=n.g,s=n.e,f=n.ak,p=n.x,v=n.c,d=n.a8,y=n.j,m=n.k,h=n.v,b=n.p,g=n.z,w=n.aW,_=n.F},function(n){j=n.X,O=n.e,C=n.k,k=n.da,P=n.M,x=n.w,S=n.cQ,E=n.cT},function(n){T=n.w,q=n.aI},function(n){A=n.createPythonEnvironment,F=n.addPythonEnvironment,G=n.getPythonEnvironment,W=n.deletePythonEnvironment},function(n){B=n.F,D=n.g,I=n.c,V=n.e,H=n.d},function(n){M=n.p},function(n){N=n._},null,null,null],execute:function(){o("");var e=o(!1),U=i([]),z=o(null),Q=function(){var n=l(u().m(function n(){var t,e,r;return u().w(function(n){for(;;)switch(n.p=n.n){case 0:return n.p=0,n.n=1,C({request:G({sort_not_use:0})});case 1:if((t=n.v).status){n.n=2;break}return P.error(t.msg),U.value=[],n.a(2,{data:[],total:0});case 2:if(!t.data.now_env){n.n=5;break}z.value=t.data.now_env,e=0;case 3:if(!(e<t.data.env_list.length)){n.n=5;break}if(t.data.env_list[e].bin_path!==t.data.now_env.bin_path){n.n=4;break}return t.data.env_list[e].isCurrent=!0,U.value=t.data.env_list,n.a(2,{data:t.data.env_list,total:t.data.env_list.length});case 4:e++,n.n=3;break;case 5:return U.value=t.data.env_list,n.a(2,{data:t.data.env_list,total:t.data.env_list.length});case 6:return n.p=6,r=n.v,console.error(r),n.a(2,{data:[],total:0})}},n,null,[[0,6]])}));return function(){return n.apply(this,arguments)}}(),X=function(){var n=l(u().m(function n(t,r){return u().w(function(n){for(;;)switch(n.n){case 0:return n.n=1,x({title:"确定删除环境【".concat(r,"】吗?"),content:"删除后无法恢复,请谨慎操作",onConfirm:function(){var n=l(u().m(function n(){return u().w(function(n){for(;;)switch(n.n){case 0:return n.n=1,C({request:W({path_data:t}),loading:"正在删除,请稍后...",success:function(n){var t;n.status&&n.data.data[0].status?(P.success("删除成功"),e.value=!0):P.error((null===(t=n.data.data)||void 0===t||null===(t=t[0])||void 0===t?void 0:t.msg)||n.msg)}});case 1:return n.a(2)}},n)}));return function(){return n.apply(this,arguments)}}()});case 1:return n.a(2)}},n)}));return function(t,e){return n.apply(this,arguments)}}(),$=function(){var n,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"apply",e=o(null),r=o(null);return a(a({},k({request:(n=l(u().m(function n(){var e;return u().w(function(n){for(;;)if(0===n.n)return e=U.value.filter(function(n){return"apply"===t?(n.isCurrent&&(r.value=n),n.can_set_default):n.can_create}),n.a(2,{data:e,total:e.length})},n)})),function(){return n.apply(this,arguments)}),columns:[{label:" ",prop:"select",width:50,render:function(n){return s(f,{value:n.bin_path,modelValue:e.value,"onUpdate:modelValue":function(n){return e.value=n}},null)}},{label:"名称",prop:"name",render:function(n){return s("div",{class:"truncate",title:"".concat(n.name).concat(n.isCurrent&&"apply"===t?"【当前使用】":"")},[n.name,n.isCurrent&&"apply"===t?s("span",{class:"font-bold text-default"},[p("【当前使用】")]):""])}},{label:"类型",prop:"type",width:100,render:function(n){if(n.bin_path.includes("/www/server/panel/pyenv"))return"宝塔面板环境";switch(n.type){case"venv":return"虚拟环境";case"system":return n.from_panel?"面板安装":"系统级环境";case"conda":return"Conda环境";default:return"未知"}}},{label:"Python版本",prop:"version",width:100}]})),{},{getCurrentSelect:function(){return U.value.find(function(n){return n.bin_path===e.value})},handleCurrentChange:function(n){e.value=n.bin_path},currentApply:r})},J=function(){var n=l(u().m(function n(t){var e,r,a,o,i,f,p;return u().w(function(n){for(;;)switch(n.n){case 0:e=$("create"),r=e.BtTable,a=e.getCurrentSelect,o=e.handleCurrentChange,i=j({data:function(){return{venv_name:"",python_bin:"",ps:""}},options:function(n){return c(function(){return[B("名称","venv_name",{attrs:{class:"!w-[24rem]",placeholder:"虚拟环境名称"},rules:[{required:!0,message:"虚拟环境名称不可为空",trigger:["blur","change"]}]}),D("环境来源",function(){return s("div",{class:"w-[90%]"},[s(r,{"highlight-current-row":!0,maxHeight:400,onCurrentChange:o},null)])},"python_bin",{attrs:{class:"!w-[52rem]"},rules:[{required:!0,trigger:"blur",validator:function(t,e,r){var o=a();o?(n.value.python_bin=o.bin_path,r()):r(new Error("请选择需要创建虚拟环境的环境来源"))}}]}),B("备注","ps",{attrs:{class:"!w-[24rem]",placeholder:"备注"},rules:[{required:!1,message:"备注不可为空",trigger:["blur","change"]}]})]})},submit:function(){var n=l(u().m(function n(t,e){return u().w(function(n){for(;;)switch(n.n){case 0:return n.n=1,e();case 1:return n.n=2,K(t.value);case 2:return n.a(2,n.v)}},n)}));return function(t,e){return n.apply(this,arguments)}}()}),f=i.BtForm,p=i.submit,O({title:"创建虚拟环境",area:65,btn:"创建",component:function(){return s("div",{class:"p-[1.6rem]"},[s(f,null,null)])},onConfirm:function(){var n=l(u().m(function n(){var t;return u().w(function(n){for(;;)switch(n.p=n.n){case 0:return n.p=0,n.n=1,p();case 1:if(!n.v){n.n=2;break}return n.a(2,!0);case 2:return n.a(2,!1);case 3:return n.p=3,t=n.v,console.error(t),n.a(2,!1)}},n,null,[[0,3]])}));return function(){return n.apply(this,arguments)}}()});case 1:return n.a(2)}},n)}));return function(t){return n.apply(this,arguments)}}(),K=function(){var n=l(u().m(function n(t){return u().w(function(n){for(;;)switch(n.n){case 0:return n.n=1,C({request:A({venv_name:t.venv_name,python_bin:t.python_bin,ps:t.ps}),message:!0,loading:"正在创建,请稍后..."});case 1:if(!n.v.status){n.n=2;break}return e.value=!0,n.a(2,!0);case 2:return n.a(2,!1)}},n)}));return function(t){return n.apply(this,arguments)}}(),L=function(){var n,t,r={venv:"添加虚拟环境需要指定到虚拟环境目录",conda:"添加Conda环境需要指定到Conda可执行文件",system:"添加系统级环境需要指定到Python解释器文件"},a=j({data:function(){return{add_type:"venv",path:""}},options:function(n){return c(function(){return[I("环境类型","add_type",[{label:"虚拟环境",value:"venv"},{label:"系统级环境",value:"system"}]),V("环境位置","path",{attrs:{class:"!w-[42rem]",placeholder:r[n.value.add_type]},rules:[{required:!0,message:"环境位置不可为空",trigger:["blur","change"]}]},function(){var t="dir";switch(n.value.add_type){case"system":case"conda":t="file";break;case"venv":t="dir"}!function(n){T({type:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"dir",path:n.value.path,change:function(t){n.value.path=t}})}(n,t)}),H(" ",[{content:r[n.value.add_type]}])]})},submit:(n=l(u().m(function n(t,r){return u().w(function(n){for(;;)switch(n.n){case 0:return n.n=1,r();case 1:return n.n=2,C({loading:"正在添加,请稍后...",request:F(t.value),message:!0,success:function(){e.value=!0}});case 2:return n.a(2,n.v)}},n)})),function(t,e){return n.apply(this,arguments)})}),o=a.BtForm,i=a.submit;O({area:65,title:"添加已存在的Python环境",btn:"添加",component:function(){return s("div",{class:"p-[1.6rem]"},[s(o,null,null)])},onConfirm:(t=l(u().m(function n(){return u().w(function(n){for(;;)switch(n.n){case 0:return n.n=1,i();case 1:if(!n.v.status){n.n=2;break}return n.a(2,!0);case 2:return n.a(2,!1)}},n)})),function(){return t.apply(this,arguments)})})},R={class:"p-2rem"};n("default",v({__name:"index",setup:function(n){var a=S({request:Q,empty:function(){return s("div",{class:"text-secondary text-base"},[p("暂无数据,"),s("span",{class:"bt-link",onClick:function(){return M("py",u)}},[p("点击安装Python")])])},columns:[{label:"名称",prop:"name",render:function(n){return s("div",{class:"truncate flex items-center gap-2",title:"".concat(n.name).concat(n.isCurrent?"【命令行使用】":"")},[s("span",{class:"truncate"},[n.name]),s("span",{class:"shrink-0 px-2 py-1 bg-light text-gray-600 rounded"},[function(t){if(n.bin_path.includes("/www/server/panel/pyenv"))return"宝塔面板环境";switch(t){case"venv":return"虚拟环境";case"system":return n.from_panel?"面板安装":"系统级环境";case"conda":return"Conda环境";default:return"未知"}}(n.type)])])}},{label:"Python版本",prop:"version",width:130},{label:"解释器位置",prop:"bin_path",width:80,render:function(n){return s("span",{class:"flex"},[s("i",{title:"跳转解释器目录",class:"text-[var(--el-color-warning-light-3)] cursor-pointer svgtofont-folder-open !text-large",onClick:function(){return q({path:n.bin_path})}},null)])}},{label:"使用项目",prop:"project_name",render:function(n){var t="--";return n.project_name&&n.project_name.length>0&&(t=n.project_name.join("、")),s(w,{effect:"dark",content:t,"popper-class":"w-[35rem]","show-after":500,placement:"top-start",disabled:!n._isOverflow},{default:function(){return[s("div",{class:"max-w-[30rem] truncate",ref:function(t){t&&(n._isOverflow=t.scrollWidth>t.clientWidth)}},[t])]}})}},{label:"备注",prop:"ps",render:function(n){return s(w,{effect:"dark",content:"".concat(n.ps).concat("venv"===n.type?"【来自".concat(n.system_data.name,"】"):""),"popper-class":"w-[35rem]","show-after":500,placement:"top-start",disabled:!n._isPsOverflow},{default:function(){return[s("div",{class:"max-w-[30rem] truncate",ref:function(t){t&&(n._isPsOverflow=t.scrollWidth>t.clientWidth)}},["".concat(n.ps).concat("venv"===n.type?"【来自".concat(n.system_data.name,"】"):"")])]}})}},{label:"操作",align:"right",width:150,render:function(n){var t=[];return n.isCurrent&&t.push(s("span",{class:"shrink-0 text-secondary"},[p("当前命令行使用")])),n.can_remove&&t.push(s("span",{class:"cursor-pointer bt-link",onClick:function(){return X(n.bin_path,n.name)}},[p("删除")])),s("div",{class:"flex items-center"},[t.map(function(n,e){return t[e+1]?s(_,null,[n,s(N,null,null)]):n})])}}],extension:[E(e)]}),o=a.BtTable,u=a.refresh;return d(function(){U.value=[]}),function(n,e){var a=g,u=r;return y(),m("div",R,[s(u,null,{"header-left":h(function(){return[s(a,{type:"primary",onClick:b(J)},{default:h(function(){return t(e[1]||(e[1]=[p("创建虚拟环境",-1)]))}),_:1},8,["onClick"]),s(a,{class:"ml-[2rem]",type:"default",onClick:b(L)},{default:h(function(){return t(e[2]||(e[2]=[p("添加",-1)]))}),_:1},8,["onClick"]),s(a,{class:"ml-[2rem]",type:"default",onClick:e[0]||(e[0]=function(n){return b(M)("py")})},{default:h(function(){return t(e[3]||(e[3]=[p("版本管理",-1)]))}),_:1})]}),content:h(function(){return[s(b(o),{"max-height":400})]}),_:1})])}}}))}}})}();