index.Bchjj_nY.js 5.7 KB

1
  1. import{n as J,q as O,S as B,p as z,E as l,r as y,h as W}from"./index.CbDucVWP.js";import{a as $,r as _,_ as H,q as K,aj as d,c as f,o as u,S as o,J as k,M as Q,K as a,b as i,u as p,P as C,R as G,a9 as X,Q as j}from"./vue.YrNK8sx4.js";import{_ as Y}from"./_plugin-vue_export-helper.DlAUqK2U.js";const b=J.create({baseURL:"http://1.94.168.85:8086",timeout:5e4,headers:{"Content-Type":"application/json"},paramsSerializer:{serialize(s){return O.stringify(s,{allowDots:!0})}}});b.interceptors.request.use(s=>(B.get("token")&&(s.headers.Authorization=`${B.get("token")}`),s),s=>Promise.reject(s));b.interceptors.response.use(s=>{const c=s.data;return c.code&&c.code!==2e3?((c.code===401||c.code===4001)&&(B.clear(),window.location.href="/",z.alert("你已被登出,请重新登录","提示",{}).then(()=>{}).catch(()=>{})),Promise.reject(c)):s.data},s=>{var c,m,h;return s.message.indexOf("timeout")!=-1?l.error("网络超时"):s.message=="Network Error"?l.error("网络连接错误"):(m=(c=s.response)==null?void 0:c.data)!=null&&m.message?l.error(s.response.data.message):(h=s.response)!=null&&h.statusText?l.error(s.response.statusText):l.error("接口请求失败"),Promise.reject(s)});function Z(){return{getConfig:()=>b({url:"/api/system/login-background/config/",method:"get"}),setConfig:s=>b({url:"/api/system/login-background/config/",method:"post",data:s})}}const ee={class:"background-config-container"},te={class:"card-header"},se={class:"image-preview-container"},ae={class:"image-preview"},oe={class:"image-error"},ne={key:1,class:"no-image"},re=["src"],ie={key:1,class:"el-icon-plus avatar-uploader-icon"},le={class:"history-content"},ce={class:"history-image"},de={class:"thumbnail-error"},ue={key:1,class:"no-thumbnail"},me={class:"history-info"},ge={class:"history-desc"},fe={class:"history-status"},_e=$({__name:"index",setup(s){const c=_([]),m=_(""),h=_("http://1.94.168.85:8086"),E=(t,e)=>{let r=null;t.code===200||t.code===2e3||t.data?r=t.data:t.results?r=t.results:r=t,n.backgroundImage=r.url||r,m.value=r.url||r,l.success("上传成功")},M=t=>{const e=t.type.startsWith("image/"),r=t.size/1024/1024<5;return e?r?!0:(l.error("图片大小不能超过 5MB!"),!1):(l.error("只能上传图片格式的文件!"),!1)},A=Z(),I=_(!1),n=H({backgroundImage:"",description:"",enabled:!0}),w=_([]),T=async()=>{try{const t=await A.getConfig();let e=null;t.code===200||t.code===2e3?(e=t.data,console.log(e)):t.data?e=t.data:t.results?e=t.results:e=t,e&&(n.backgroundImage=e.image_url||"",n.description=e.description||"",L(),e.history&&Array.isArray(e.history)&&(w.value=e.history))}catch(t){console.error("加载配置失败:",t),l.error("加载配置失败,请稍后重试")}},L=()=>{if(n.backgroundImage){const t=n.backgroundImage.split("/"),r={name:t[t.length-1]||"background-image",url:n.backgroundImage,status:"success",response:{url:n.backgroundImage}};c.value=[r],m.value=n.backgroundImage}else c.value=[],m.value=""},P=async()=>{if(!n.backgroundImage){l.warning("请选择背景图片");return}try{await z.confirm("确定要保存当前配置吗?","确认保存",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),I.value=!0;const t={image_url:n.backgroundImage,description:n.description},e=await A.setConfig(t);e.code===200||e.code===2e3||e.success?(l.success("配置保存成功"),await T(),L()):l.error(e.message||"保存失败")}catch(t){t!=="cancel"&&(console.error("保存配置失败:",t),l.error(t.message||"保存配置失败,请稍后重试"))}finally{I.value=!1}};return K(()=>{T()}),(t,e)=>{const r=d("el-button"),v=d("el-icon"),N=d("el-image"),S=d("el-form-item"),V=d("el-upload"),q=d("el-form"),x=d("el-card"),D=d("el-tag"),F=d("el-timeline-item"),U=d("el-timeline");return u(),f("div",ee,[o(x,{class:"config-card"},{header:a(()=>[i("div",te,[e[1]||(e[1]=i("span",{class:"title"},"登录背景图片配置",-1)),o(r,{type:"primary",onClick:P,loading:I.value},{default:a(()=>e[0]||(e[0]=[C(" 保存配置 ")])),_:1},8,["loading"])])]),default:a(()=>[o(q,{model:n,"label-width":"120px",class:"config-form"},{default:a(()=>[o(S,{label:"当前背景图片"},{default:a(()=>[i("div",se,[i("div",ae,[n.backgroundImage?(u(),k(N,{key:0,src:n.backgroundImage,fit:"contain",class:"preview-image"},{error:a(()=>[i("div",oe,[o(v,null,{default:a(()=>[o(p(y))]),_:1}),e[2]||(e[2]=i("span",null,"加载失败",-1))])]),_:1},8,["src"])):(u(),f("div",ne,[o(v,{class:"no-image-icon"},{default:a(()=>[o(p(y))]),_:1}),e[3]||(e[3]=i("span",null,"未设置背景图片",-1))]))])])]),_:1}),o(S,{label:"选择图片"},{default:a(()=>[o(V,{class:"avatar-uploader",action:h.value+"/api/system/upload/",headers:{Authorization:"JWT "+p(W).get("token")},"show-file-list":!1,"on-success":E,"before-upload":M},{default:a(()=>[m.value?(u(),f("img",{key:0,src:m.value,class:"avatar"},null,8,re)):(u(),f("i",ie))]),_:1},8,["action","headers"])]),_:1})]),_:1},8,["model"])]),_:1}),w.value.length>0?(u(),k(x,{key:0,class:"history-card"},{header:a(()=>e[4]||(e[4]=[i("span",{class:"title"},"配置历史",-1)])),default:a(()=>[o(U,null,{default:a(()=>[(u(!0),f(G,null,X(w.value,(g,R)=>(u(),k(F,{key:R,timestamp:g.updateTime,placement:"top"},{default:a(()=>[o(x,{class:"history-item"},{default:a(()=>[i("div",le,[i("div",ce,[g.backgroundImage?(u(),k(N,{key:0,src:`${g.backgroundImage}`,fit:"cover",class:"history-thumbnail"},{error:a(()=>[i("div",de,[o(v,null,{default:a(()=>[o(p(y))]),_:1})])]),_:2},1032,["src"])):(u(),f("div",ue,[o(v,null,{default:a(()=>[o(p(y))]),_:1})]))]),i("div",me,[i("p",ge,j(g.description||"无描述"),1),i("p",fe,[e[5]||(e[5]=C(" 状态: ")),o(D,{type:g.enabled?"success":"info",size:"small"},{default:a(()=>[C(j(g.enabled?"启用":"禁用"),1)]),_:2},1032,["type"])])])])]),_:2},1024)]),_:2},1032,["timestamp"]))),128))]),_:1})]),_:1})):Q("",!0)])}}}),ye=Y(_e,[["__scopeId","data-v-aac9cf8c"]]);export{ye as default};