File: /www/server/panel/BTPanel/static/js/terminal-theme.js
import{c as z,r as I,o as N,j as _,k as h,q as t,e as c,p as i,Q as q,v as x,x as D,y as E,aD as F,ap as j,G as O,f as A,z as G,ba as M,bB as R}from"./base-lib.js?v=1777008528";import{u as H}from"./index98.js?v=1777008528";import{c as Q,z as W,A as Z,f as J,cZ as K}from"./utils-lib.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index.vue_vue_type_style_index_0_lang.js?v=1777008528";import"./add-host.vue_vue_type_script_setup_true_lang.js?v=1777008528";import"./form-item.js?v=1777008528";import"./index119.js?v=1777008528";import"./useController3.js?v=1777008528";import"./marked.esm.js?v=1777008528";import"./default.js?v=1777008528";import"./useStore.js?v=1777008528";import"./config.js?v=1777008528";import"./index3.js?v=1777008528";import"./index116.js?v=1777008528";import"./index118.js?v=1777008528";const L={class:"terminal-theme-settings"},X={class:"terminal-theme-settings__item"},Y={class:"flex items-center"},ee={class:"terminal-theme-settings__item"},te={class:"flex items-center"},se={key:0,class:"terminal-theme-settings__section"},ae={class:"terminal-theme-settings__item"},ne={class:"terminal-theme-settings__item-content relative"},oe={class:"terminal-theme-settings__bg-preview"},ie={key:0,class:"flex flex-col gap-[0.5rem] items-center justify-center h-full"},le={key:1,class:"flex items-center justify-center h-full"},re={class:"terminal-theme-settings__actions"},me={class:"terminal-theme-settings__item"},ce={class:"terminal-theme-settings__item-content"},de=z({__name:"terminal-theme",setup(ue){const d=J(),{terminalTheme:g,setTerminalTheme:b,setTerminalBg:f,getPanelTheme:y}=H(),{globalTheme:l}=Q(),v=I({}),T=(s,e)=>{const a=Date.now(),n=e.substring(e.lastIndexOf("."));return"".concat(s,"_").concat(a).concat(n)},V=s=>e=>{const a=T(s,e.name),n="/www/server/panel/BTPanel/static/temp";return v.value[s]={fileName:a,filePath:"".concat(n,"/").concat(a)},{action:"upload",f_path:n,f_name:a,f_size:String(e.size)}},k=()=>{const s=localStorage.getItem("token"),e={Authorization:s?"Bearer ".concat(s):""};return window.vite_public_request_token&&(e["x-http-token"]=window.vite_public_request_token),e},U=s=>s.type.startsWith("image/")?!0:(d.error("只能上传图片文件!"),!1),C=async()=>{l.value.terminal.url&&await f("show")},B=async s=>{const{file:e,data:a,onSuccess:n,onError:o}=s,u=(m,w=0,r="POST",$="")=>{const p=new Error(m);return p.status=w,p.method=r,p.url=$,p};try{if(!W(e,["image/"])){d.error("只能上传图片文件!"),o==null||o(u("只能上传图片文件!"));return}await Z(e,{path:"/www/server/panel/BTPanel/static/temp/",name:a.f_name,useChunked:e.size>10*1024*1024,onProgress:m=>{},onSuccess:m=>{n==null||n(m)},onError:m=>{d.error("上传失败"),o==null||o(u("上传失败"))}})}catch(m){d.error("上传失败"),o==null||o(u("上传失败"))}},S=async(s,e)=>{if(s!=null&&s.status&&v.value[e]){const{fileName:a}=v.value[e],n="/static/temp/".concat(a);l.value.terminal.url=n,await f("url"),d.success("背景图片上传成功")}},P=F(async s=>{await f("opacity",s)},300);return N(()=>{y()}),(s,e)=>{const a=j,n=O,o=A,u=G,m=M,w=R;return _(),h("div",L,[t("div",X,[t("span",Y,[e[3]||(e[3]=t("span",{class:"mr-[1rem]"},"开启彩色终端渲染(beta)",-1)),t("span",null,[c(a,{modelValue:i(g),"onUpdate:modelValue":e[0]||(e[0]=r=>q(g)?g.value=r:null),onChange:i(b)},null,8,["modelValue","onChange"])])])]),c(n),t("div",ee,[t("span",te,[e[4]||(e[4]=t("span",{class:"mr-[1rem]"},"终端背景图片",-1)),t("span",null,[c(a,{modelValue:i(l).terminal.show,"onUpdate:modelValue":e[1]||(e[1]=r=>i(l).terminal.show=r),"active-text":"显示","inactive-text":"隐藏","inline-prompt":"",onChange:C},null,8,["modelValue"])])])]),i(l).terminal.show?(_(),h("div",se,[t("div",ae,[t("div",ne,[t("div",oe,[c(o,{src:i(l).terminal.url,alt:"终端背景图片"},{error:x(()=>[i(l).terminal.url&&i(l).terminal.url.trim()?(_(),h("div",ie,[...e[5]||(e[5]=[t("div",null,"加载失败",-1),t("div",null,"请重新上传",-1)])])):(_(),h("div",le,"请上传图片"))]),_:1},8,["src"])]),e[7]||(e[7]=t("div",{class:"terminal-theme-settings__tip absolute bottom-[3.5rem] right-[5.5rem] mt-0"},"将会显示在终端背景(建议图片大小: 1920px*1080px,推荐png格式)",-1)),t("div",re,[c(m,{class:"terminal-theme-settings__uploader",action:"/files",data:V("terminal_bg_image"),headers:k(),"show-file-list":!1,"before-upload":U,"http-request":B,"on-success":r=>S(r,"terminal_bg_image")},{default:x(()=>[c(u,{size:"small"},{default:x(()=>[...e[6]||(e[6]=[D("上传图片",-1)])]),_:1})]),_:1},8,["data","headers","on-success"])])])]),t("div",me,[e[9]||(e[9]=t("div",{class:"terminal-theme-settings__item-label"},"背景图片透明度",-1)),t("div",ce,[c(w,{modelValue:i(l).terminal.opacity,"onUpdate:modelValue":e[2]||(e[2]=r=>i(l).terminal.opacity=r),min:0,max:100,step:5,"show-input":"",style:{width:"300px"},onChange:i(P)},null,8,["modelValue","onChange"]),e[8]||(e[8]=t("span",{class:"terminal-theme-settings__tip"},"(1-100,数值越小越透明)",-1))])])])):E("",!0)])}}}),Se=K(de,[["__scopeId","data-v-bd5f026c"]]);export{Se as default};