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/index281.js
import{_ as z}from"./index118.js?v=1777008528";import{w as x,k as v,X as j,e as J,d3 as K,K as Q,cO as W,cP as Z,f as ee}from"./utils-lib.js?v=1777008528";import{c as te,r as u,H as ae,o as se,aH as ne,I as oe,j as P,k as le,e as s,v as p,p as r,Q as F,x as d,C as re,y as ie,J as G,q as C,K as ue,G as pe,b8 as de,al as ce,aj as me,z as fe,ad as ve,ab as ye}from"./base-lib.js?v=1777008528";import{g as _e}from"./form-item.js?v=1777008528";import{a0 as k}from"./index3.js?v=1777008528";import{getPyVersion as ge,getVersionList as xe,setGoEnvironment as be,installPyVersionNew as De,installVersion as Ve,uninstallVersion as Ce,setGoProxy as ke}from"./site.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index119.js?v=1777008528";import"./index116.js?v=1777008528";const Ee={class:"p-[20px]"},we={class:"bg-default p-[12px] h-[36rem] text-white overflow-auto logMsg"},he=["innerHTML"],Be={class:"p-2rem"},Ue=te({__name:"index",props:{compData:{default:{}}},setup(q){const o=q,b=u(""),R=ee(),D=u(!1),E=u("正在请求安装..."),w=u([]),h=u(""),B=u(!1),$=[{label:"版本号",width:200,render:t=>s("div",null,[t.version.replace(o.compData.type,""),d(" "),t.type==="stable"&&o.compData.type==="go"?"(正式版)":""])},{label:"安装状态",render:t=>(typeof t.installed=="string"&&(t.installed=t.installed==="1"),s("div",null,[t.is_install===!0?s("span",{class:"text-tertiary"},[d("安装中")]):t.installed?s("span",{class:"text-primary"},[d("已安装")]):s("span",{class:"text-danger"},[d("未安装")])]))},{label:"操作",align:"right",render:t=>(t.version.replace(o.compData.type,""),s("div",null,[G(s("div",{class:"inline-block"},[t.installed&&t.version!==b.value&&o.compData.type==="go"?s("span",{class:"cursor-pointer bt-link",onClick:()=>{U(t.version)}},[d("应用至命令行")]):o.compData.type==="go"&&t.installed?s("span",{class:"shrink-0 text-secondary"},[d("正在使用")]):null,s(pe,{direction:"vertical"},null)]),[[ue,o.compData.type==="go"]]),t.installed?s("span",{class:"cursor-pointer text-danger",onClick:()=>{X(t.version)}},[d("卸载")]):t.is_install===!0||t.installing===!0?s("span",{class:"cursor-pointer text-tertiary",onClick:()=>{k()}},[d("安装中...")]):s("span",{class:"cursor-pointer bt-link",onClick:()=>{O(t.version)}},[d("安装")])]))}],V=u([]),y=u(!1);u("");const L=u([]),_=u(o.compData.type==="py"?"常用版本":"所有版本"),i=ae({version:"",extended:"",status:!1}),M=u([{content:"填写时请勿添加换行符等特殊符号,这可能会导致参数不生效"},{content:"多个参数时以空格隔开"},{content:'"--prefix"参数已被使用'},{content:"验证参数是否生效,可查看安装日志并搜索对应名称"}]),m=async t=>{var l;let e="all";_.value==="常用版本"&&(e="streamline");try{let a;if(o.compData.type==="py"){t===!0&&await x({title:"提示",width:"35rem",icon:"warning-filled",content:"将从镜像源获取版本列表,是否继续?"});let n={force:t===!0?"true":"false"};y.value=!0,a=await ge(n),V.value=a.data.sdk[e],b.value=((l=a.data.command_path.find(f=>f.python_path===a.data.used))==null?void 0:l.version)||""}else t===!0&&await x({title:"提示",width:"35rem",icon:"warning-filled",content:"将从镜像源获取版本列表,是否继续?"}),y.value=!0,a=await xe(o.compData.type,t===!0?"true":"false"),L.value=a.data,h.value=a.data.goproxy.now||"",w.value=a.data.goproxy.list.map(n=>({label:"".concat(n.name,"(").concat(n.proxy,")"),value:n.proxy})),a.data.sdk[e].sort((n,f)=>f.installed-n.installed),b.value=a.data.used,V.value=a.data.sdk[e],B.value=a.data.installed&&a.data.installed.length>0}catch(a){}finally{y.value=!1}},U=async t=>{var l;(await v({loading:"正在设置默认版本,请稍后...",request:be({name:t}),message:!0})).status&&m(),o.compData&&typeof((l=o.compData)==null?void 0:l.refresh)=="function"&&o.compData.refresh()},O=async t=>{var a;if(o.compData.type==="py"){if(!i.status)i.version=t,i.status=!0;else{const n={data:JSON.stringify({version:i.version,extended:i.extended})};await v({request:De(n),message:!0}),i.status=!1,k(),o.compData&&typeof((a=o.compData)==null?void 0:a.refresh)=="function"&&o.compData.refresh(),m()}return}await x({title:"安装",content:"是否安装[".concat(t,"]版本?"),icon:"warning-filled"}),(await v({loading:"正在安装,请稍后...",request:Ve({version:t}),message:!0})).status&&k()},X=async t=>{var l,a;await x({title:"卸载sdk",content:"卸载[".concat(t,"]版本后,相关项目将无法启动,是否继续?"),icon:"warning-filled"});const e=await v({loading:"正在卸载,请稍后...",request:Ce({version:t},o.compData.type)});(e.status||Array.isArray(e.data)&&e.data[0].status)&&m(),Array.isArray(e.data)&&!e.data[0].status&&R.error((a=(l=e.data)==null?void 0:l[0])==null?void 0:a.msg)},A=async()=>{const t=(a,n)=>{n(w.value)},{BtForm:e,submit:l}=j({data:{proxy:h.value},options:a=>u([_e("GOPROXY源",()=>s(de,{modelValue:a.value.proxy,"onUpdate:modelValue":n=>a.value.proxy=n,placeholder:"请输入或选择GOPROXY源","value-key":"label","fetch-suggestions":t,onSelect:n=>{a.value.proxy=n.value}},{default:({item:n})=>s("div",{class:n.value===a.value.proxy?" bt-link":""},[n.label])}),"proxy",{rules:[{required:!0,message:"请输入或选择GOPROXY源"}]})]),submit:async(a,n,f)=>{await n();const g=await v({loading:"正在设置GOPROXY源,请稍后...",request:ke({proxy:a.value.proxy}),message:!0});return m(),g.status}});J({title:"切换GOPROXY源",area:65,btn:!0,component:s(e,{class:"!p-[2rem]"},null),onConfirm:l})};return se(()=>{m()}),ne(()=>{}),(t,e)=>{const l=ce,a=me,n=fe,f=K,g=Q,N=W,Y=ve,H=ye,I=Z,S=z,T=oe("bt-loading");return P(),le("div",Ee,[s(S,null,{"header-left":p(()=>[s(a,{modelValue:r(_),"onUpdate:modelValue":e[0]||(e[0]=c=>F(_)?_.value=c:null),size:"default",onChange:m},{default:p(()=>[s(l,{value:"常用版本"},{default:p(()=>[...e[7]||(e[7]=[d("常用版本",-1)])]),_:1}),s(l,{value:"所有版本"},{default:p(()=>[...e[8]||(e[8]=[d("所有版本",-1)])]),_:1})]),_:1},8,["modelValue"])]),"header-right":p(()=>[o.compData.type==="go"?(P(),re(n,{key:0,type:"default",onClick:A,disabled:!r(B)},{default:p(()=>[...e[9]||(e[9]=[d(" 切换GOPROXY源 ",-1)])]),_:1},8,["disabled"])):ie("",!0),s(n,{type:"default",onClick:e[1]||(e[1]=c=>m(!0))},{default:p(()=>[...e[10]||(e[10]=[d(" 更新版本列表 ",-1)])]),_:1})]),content:p(()=>[G(s(f,{height:"400",column:$,data:r(V)},null,8,["data"]),[[T,r(y)]])]),popup:p(()=>[s(g,{title:"安装信息",modelValue:r(D),"onUpdate:modelValue":e[2]||(e[2]=c=>F(D)?D.value=c:null),area:[50,36],onCancel:e[3]||(e[3]=()=>E.value="正在请求安装...")},{default:p(()=>[C("div",we,[C("pre",{innerHTML:r(E),class:"whitespace-pre-wrap"},null,8,he)])]),_:1},8,["modelValue"]),s(g,{title:"安装版本【".concat(r(i).version,"】"),modelValue:r(i).status,"onUpdate:modelValue":e[5]||(e[5]=c=>r(i).status=c),area:50,"show-footer":!0,onConfirm:e[6]||(e[6]=c=>O(r(i).version))},{default:p(()=>[C("div",Be,[s(H,{model:r(i)},{default:p(()=>[s(Y,{label:"自定义参数"},{default:p(()=>[s(N,{modelValue:r(i).extended,"onUpdate:modelValue":e[4]||(e[4]=c=>r(i).extended=c),name:"extended",width:"32rem",placeholder:"可为空,实例:--enable-optimizations"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),s(I,{class:"pl-4rem mt-1rem",options:r(M)},null,8,["options"])])]),_:1},8,["title","modelValue"])]),_:1})])}}});export{Ue as default};