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/create-package.js
import{by as e,J as l,j as a,a6 as s,V as t,b as o}from"./utils-lib.js?v=1777008528";import{c as n,r as i,h as d,o as r,B as p,C as m,p as u,k as _,l as c,e as f,x as b,q as h,I as V,aY as v,y,D as g,a7 as q,A as x,aO as P,Q as w,a4 as j}from"./base-lib.js?v=1777008528";import{_ as A}from"./index.vue_vue_type_script_setup_true_lang6.js?v=1777008528";import{getPhpEnvInfo as U,createPhpApp as k}from"./site.js?v=1777008528";import{f as F}from"./validator.js?v=1777008528";import{u as I}from"./useStore5.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index106.js?v=1777008528";import"./column.js?v=1777008528";const C={class:"p-2rem max-h-[60rem] overflow-y-auto"},B={class:"inline-block max-w-[48rem] truncate"},D=["onClick"],E={class:"flex items-center"},H=n({__name:"create-package",props:{compData:{default:{}}},setup(n,{expose:H}){const S=n,M=o(),{siteInfo:N}=I(),z=i(!1),G=i(),K=d({name:"",version:"",path:"",phpVersion:[],function:"",mysqlVersion:[],databaseName:"",databaseId:"",dir:"",log:"",init:!1,initFile:[],initData:""}),R=i([]),T=i([]),J=i([]),O=[{content:"如果您的应用有多个需要支持php或mysql版本,请添加"},{content:"打包时会将当前使用PHP版本的所有扩展记录,应用部署时会自动安装"},{content:"如果您有需要自动填充数据库的数据库配置文件,请到配置文件中将数据库的信息修改成如下值再进行打包<br >\n\t\t数据库名:BT_APP_PACKAGE_DB_NAME<br >\n\t\t数据库账户:BT_APP_PACKAGE_DB_USER<br >\n\t\t数据库密码:BT_APP_PACKAGE_DB_PASS",isHtml:!0}],L=d({name:[e({message:"请输入名称"})],version:[e({message:"请输入版本"})],phpVersion:[e({message:"请选择php版本",trigger:"change"})]}),Q=()=>{F({type:"file",change:e=>{e.endsWith(".php")?K.initFile.some((l=>l.file===e))?M.error("文件已存在"):K.initFile.push({file:e,body:""}):M.error("请选择.php格式的数据配置文件")}})},W=async()=>{l({loading:z,request:U({site_name:N.value.name}),success:e=>{var l;e.status&&(l=e.data,R.value=l.php.versions.map((e=>({value:e,label:"PHP-".concat(e)}))),K.phpVersion=""!==l.php.last_php_versions?l.php.last_php_versions:"00"===l.php.used?[]:[l.php.used],T.value=l.mysql.versions.map((e=>({value:e,label:"Mysql-".concat(e)}))),K.mysqlVersion=""!==l.mysql.last_mysql_versions?l.mysql.last_mysql_versions:[l.mysql.used],J.value=l.db.all.map((e=>({value:e.id,label:"".concat(e.name)}))),K.databaseId=l.mysql.last_db_id||l.db.used.id,K.databaseName=l.mysql.last_db_name||l.db.used.name,K.init=!!(l.mysql.last_db_config_files.length>0&&l.mysql.last_db_id)||!!(l.db_config_file.length>0&&l.db.used.name),K.initFile=l.mysql.last_db_config_files.length>0?l.mysql.last_db_config_files:l.db_config_file,K.function=l.last_php_functions)}})};return r((()=>W())),H({onConfirm:e=>{G.value.validate((async a=>{if(!a)return;const s=(()=>{var e;let l={site_name:N.value.name,app_name:K.name,app_version:K.version,php_versions:K.phpVersion.join(","),init_sql:K.init?1:0,success_url:K.path,db_config_files:JSON.stringify(K.initFile.map((e=>e.file)))};return K.init&&(l.db_id=K.databaseId,l.db_name=(null==(e=J.value.find((e=>e.value===K.databaseId)))?void 0:e.label)||""),""!==K.function&&(l.php_functions=K.function),K.mysqlVersion.length>0&&(l.mysql_versions=K.mysqlVersion.join(",")),""!==K.dir&&(l.exclude_dir=K.dir),""!==K.log&&(l.update_log=K.log),l})();l({loading:"正在创建,请稍后...",request:k(s),message:!0,success:l=>{l.status&&(S.compData.refreshEvent(),e())}})}))}}),(e,l)=>{const o=a,n=q,i=s,d=A,r=x,U=P,k=w,F=j,I=t,H=p("bt-loading");return m((_(),c("div",C,[f(F,{ref_key:"packFormRef",ref:G,model:u(K),rules:u(L),"label-width":"120px"},{default:b((()=>[f(n,{label:"名称",prop:"name"},{default:b((()=>[f(o,{modelValue:u(K).name,"onUpdate:modelValue":l[0]||(l[0]=e=>u(K).name=e),width:"35rem"},null,8,["modelValue"])])),_:1}),f(n,{label:"版本",prop:"version"},{default:b((()=>[f(o,{modelValue:u(K).version,"onUpdate:modelValue":l[1]||(l[1]=e=>u(K).version=e),width:"35rem",placeholder:"版本"},null,8,["modelValue"])])),_:1}),f(n,{label:"PHP",prop:"phpVersion"},{default:b((()=>[f(i,{modelValue:u(K).phpVersion,"onUpdate:modelValue":l[2]||(l[2]=e=>u(K).phpVersion=e),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",clearable:"",class:"w-[35rem]",placeholder:"请选择PHP版本",options:u(R)},null,8,["modelValue","options"])])),_:1}),f(n,{label:"需要解禁的函数"},{default:b((()=>[f(o,{modelValue:u(K).function,"onUpdate:modelValue":l[3]||(l[3]=e=>u(K).function=e),type:"textarea",width:"35rem",resize:"none",rows:2,placeholder:"多个请用 , 逗号隔开"},null,8,["modelValue"])])),_:1}),f(n,{label:"部署成功后访问的URL",prop:"path"},{default:b((()=>[f(o,{modelValue:u(K).path,"onUpdate:modelValue":l[4]||(l[4]=e=>u(K).path=e),width:"35rem",placeholder:"例如:/index.php"},null,8,["modelValue"])])),_:1}),f(n,{label:"Mysql",prop:"mysqlVersion"},{default:b((()=>[f(i,{modelValue:u(K).mysqlVersion,"onUpdate:modelValue":l[5]||(l[5]=e=>u(K).mysqlVersion=e),multiple:"",clearable:"",class:"w-[35rem]",placeholder:"请选择Mysql版本",options:u(T)},null,8,["modelValue","options"])])),_:1}),f(n,{label:"数据库配置文件"},{default:b((()=>[h("div",null,[(_(!0),c(V,null,v(u(K).initFile,(e=>(_(),c("div",{key:e.file,class:"flex items-center"},[h("div",B,[f(d,{text:e.file},null,8,["text"])]),h("span",{class:"ml-[1rem] text-danger cursor-pointer",onClick:l=>(e=>{K.initFile=K.initFile.filter((l=>l.file!==e))})(e.file)},"删除",8,D)])))),128)),h("div",E,[f(r,{onClick:Q},{default:b((()=>l[10]||(l[10]=[y("添加配置文件")]))),_:1}),f(U,{class:"item",effect:"dark",content:"如果自动识别有误,请从服务器选择.php格式的数据配置文件,部署时会自动填充新的数据库账号信息",placement:"top"},{default:b((()=>l[11]||(l[11]=[h("span",{class:"svgtofont-el-warning-filled text-warning text-[1.6rem] ml-[1rem]"},null,-1)]))),_:1})])])])),_:1}),f(n,{label:" "},{default:b((()=>[f(k,{modelValue:u(K).init,"onUpdate:modelValue":l[6]||(l[6]=e=>u(K).init=e)},{default:b((()=>l[12]||(l[12]=[y("将当前网站关联的数据库当作初始化数据")]))),_:1},8,["modelValue"])])),_:1}),m(f(n,{label:"关联数据库",prop:"databaseId"},{default:b((()=>[f(i,{modelValue:u(K).databaseId,"onUpdate:modelValue":l[7]||(l[7]=e=>u(K).databaseId=e),class:"w-[35rem]",placeholder:"请选择关联数据库",options:u(J)},null,8,["modelValue","options"])])),_:1},512),[[g,u(K).init]]),f(n,{label:"需要排除的目录"},{default:b((()=>[f(o,{modelValue:u(K).dir,"onUpdate:modelValue":l[8]||(l[8]=e=>u(K).dir=e),type:"textarea",width:"35rem",resize:"none",rows:2,placeholder:"一行一个,只支持绝对路径"},null,8,["modelValue"])])),_:1}),f(n,{label:"更新日志"},{default:b((()=>[f(o,{modelValue:u(K).log,"onUpdate:modelValue":l[9]||(l[9]=e=>u(K).log=e),type:"textarea",width:"35rem",resize:"none",rows:2},null,8,["modelValue"])])),_:1})])),_:1},8,["model","rules"]),f(I,{options:O,class:"pl-[5rem]"})])),[[H,u(z)]])}}});export{H as default};