index.CmVjnYJm.js 8.8 KB

1234
  1. /*!
  2. Build based on gin-vue-admin
  3. Time : 1757946830000 */
  4. import{_ as e,M as a,N as t,a as r,q as s,g as d,c as n,o,b as l,e as i,C as c,f as g,w as b,h as y,a0 as x,v as u,k as m,E as f}from"./index.DlqNVRUO.js";const v={class:"font-inter"},p={class:"mb-10"},k={class:"section-content"},h={class:"bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-xl p-6 shadow-sm"},w={class:"grid grid-cols-2 gap-4 text-sm"},j={class:"flex justify-between items-center py-3"},C={class:"font-mono text-gray-900 dark:text-white font-semibold"},_={class:"flex justify-between items-center py-3"},O={class:"font-mono text-gray-900 dark:text-white font-semibold"},S={class:"mb-10"},E={class:"section-content"},R={class:"bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-xl p-6 shadow-sm"},U={class:"space-y-5"},G={class:"bg-white dark:bg-gray-700 border border-gray-200 dark:border-gray-600 rounded-lg p-5 flex items-center justify-between hover:shadow-md transition-all duration-150 ease-in-out hover:-translate-y-0.5"},L={class:"bg-white dark:bg-gray-700 border border-gray-200 dark:border-gray-600 rounded-lg p-5 flex items-center justify-between hover:shadow-md transition-all duration-150 ease-in-out hover:-translate-y-0.5"},N={class:"bg-white dark:bg-gray-700 border border-gray-200 dark:border-gray-600 rounded-lg p-5 flex items-center justify-between hover:shadow-md transition-all duration-150 ease-in-out hover:-translate-y-0.5"},V={class:"mb-10"},A={class:"section-content"},J={class:"bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-xl p-6 shadow-sm"},T={class:"flex items-start gap-5"},z={class:"w-16 h-16 bg-white dark:bg-gray-700 border border-gray-200 dark:border-gray-600 rounded-xl flex items-center justify-center flex-shrink-0 shadow-sm"},B={class:"flex-1"},F={class:"flex items-center gap-3 text-sm"},I=e(Object.assign({name:"GeneralSettings"},{__name:"index",setup(e){const I=a(),{config:q}=t(I),D=r(),H=r(""),M=r(""),P=r("");s(()=>{const e=navigator.userAgent;e.includes("Chrome")?H.value="Chrome":e.includes("Firefox")?H.value="Firefox":e.includes("Safari")?H.value="Safari":e.includes("Edge")?H.value="Edge":H.value="Unknown",M.value="".concat(screen.width,"×").concat(screen.height)});const K=()=>{P.value=""},Q=async()=>{try{await m.confirm("确定要重置所有配置吗?此操作不可撤销。","重置配置",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),I.resetConfig(),f.success("配置已重置")}catch(e){}},W=()=>{const e=JSON.stringify(q.value,null,2),a=new Blob([e],{type:"application/json"}),t=URL.createObjectURL(a),r=document.createElement("a");r.href=t,r.download="gin-vue-admin-config-".concat((new Date).toISOString().split("T")[0],".json"),document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(t),f.success("配置已导出")},X=e=>{const a=new FileReader;a.onload=e=>{try{const a=JSON.parse(e.target.result);Object.keys(a).forEach(e=>{e in q.value&&(q.value[e]=a[e])}),f.success("配置已导入")}catch(a){f.error("配置文件格式错误")}},a.readAsText(e.raw)};return(e,a)=>{const t=d("el-button"),r=d("el-upload");return o(),n("div",v,[l("div",p,[a[3]||(a[3]=l("div",{class:"flex items-center justify-center mb-6"},[l("div",{class:"h-px bg-gray-200 dark:bg-gray-700 flex-1"}),l("span",{class:"px-6 text-lg font-semibold text-gray-700 dark:text-gray-300"},"系统信息"),l("div",{class:"h-px bg-gray-200 dark:bg-gray-700 flex-1"})],-1)),l("div",k,[l("div",h,[l("div",w,[a[2]||(a[2]=i('<div class="flex justify-between items-center py-3 border-b border-gray-200 dark:border-gray-600" data-v-bc5e176b><span class="text-gray-600 dark:text-gray-400 font-medium" data-v-bc5e176b>版本</span><span class="font-mono text-gray-900 dark:text-white font-semibold" data-v-bc5e176b>v2.7.4</span></div><div class="flex justify-between items-center py-3 border-b border-gray-200 dark:border-gray-600" data-v-bc5e176b><span class="text-gray-600 dark:text-gray-400 font-medium" data-v-bc5e176b>前端框架</span><span class="font-mono text-gray-900 dark:text-white font-semibold" data-v-bc5e176b>Vue 3</span></div><div class="flex justify-between items-center py-3 border-b border-gray-200 dark:border-gray-600" data-v-bc5e176b><span class="text-gray-600 dark:text-gray-400 font-medium" data-v-bc5e176b>UI 组件库</span><span class="font-mono text-gray-900 dark:text-white font-semibold" data-v-bc5e176b>Element Plus</span></div><div class="flex justify-between items-center py-3 border-b border-gray-200 dark:border-gray-600" data-v-bc5e176b><span class="text-gray-600 dark:text-gray-400 font-medium" data-v-bc5e176b>构建工具</span><span class="font-mono text-gray-900 dark:text-white font-semibold" data-v-bc5e176b>Vite</span></div>',4)),l("div",j,[a[0]||(a[0]=l("span",{class:"text-gray-600 dark:text-gray-400 font-medium"},"浏览器",-1)),l("span",C,c(H.value),1)]),l("div",_,[a[1]||(a[1]=l("span",{class:"text-gray-600 dark:text-gray-400 font-medium"},"屏幕分辨率",-1)),l("span",O,c(M.value),1)])])])])]),l("div",S,[a[10]||(a[10]=l("div",{class:"flex items-center justify-center mb-6"},[l("div",{class:"h-px bg-gray-200 dark:bg-gray-700 flex-1"}),l("span",{class:"px-6 text-lg font-semibold text-gray-700 dark:text-gray-300"},"配置管理"),l("div",{class:"h-px bg-gray-200 dark:bg-gray-700 flex-1"})],-1)),l("div",E,[l("div",R,[l("div",U,[l("div",G,[a[5]||(a[5]=l("div",{class:"flex items-center gap-4"},[l("div",{class:"w-12 h-12 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-xl flex items-center justify-center text-red-600 dark:text-red-400 text-xl"}," 🔄 "),l("div",null,[l("h4",{class:"text-sm font-semibold text-gray-900 dark:text-white"},"重置配置"),l("p",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"将所有设置恢复为默认值")])],-1)),g(t,{type:"danger",size:"small",class:"rounded-lg font-medium transition-all duration-150 ease-in-out hover:-translate-y-0.5",onClick:Q},{default:b(()=>[...a[4]||(a[4]=[y(" 重置配置 ",-1)])]),_:1})]),l("div",L,[a[7]||(a[7]=l("div",{class:"flex items-center gap-4"},[l("div",{class:"w-12 h-12 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-xl flex items-center justify-center text-blue-600 dark:text-blue-400 text-xl"}," 📤 "),l("div",null,[l("h4",{class:"text-sm font-semibold text-gray-900 dark:text-white"},"导出配置"),l("p",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"导出当前配置为 JSON 文件")])],-1)),g(t,{type:"primary",size:"small",class:"rounded-lg font-medium transition-all duration-150 ease-in-out hover:-translate-y-0.5",style:x({backgroundColor:u(q).primaryColor,borderColor:u(q).primaryColor}),onClick:W},{default:b(()=>[...a[6]||(a[6]=[y(" 导出配置 ",-1)])]),_:1},8,["style"])]),l("div",N,[a[9]||(a[9]=l("div",{class:"flex items-center gap-4"},[l("div",{class:"w-12 h-12 bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800 rounded-xl flex items-center justify-center text-green-600 dark:text-green-400 text-xl"}," 📥 "),l("div",null,[l("h4",{class:"text-sm font-semibold text-gray-900 dark:text-white"},"导入配置"),l("p",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"从 JSON 文件导入配置")])],-1)),g(r,{ref_key:"uploadRef",ref:D,"auto-upload":!1,"show-file-list":!1,accept:".json",onChange:X},{default:b(()=>[g(t,{type:"success",size:"small",class:"rounded-lg font-medium transition-all duration-150 ease-in-out hover:-translate-y-0.5"},{default:b(()=>[...a[8]||(a[8]=[y(" 导入配置 ",-1)])]),_:1})]),_:1},512)])])])])]),l("div",V,[a[14]||(a[14]=l("div",{class:"flex items-center justify-center mb-6"},[l("div",{class:"h-px bg-gray-200 dark:bg-gray-700 flex-1"}),l("span",{class:"px-6 text-lg font-semibold text-gray-700 dark:text-gray-300"},"关于项目"),l("div",{class:"h-px bg-gray-200 dark:bg-gray-700 flex-1"})],-1)),l("div",A,[l("div",J,[l("div",T,[l("div",z,[l("img",{src:"/logo.png",alt:"Gin-Vue-Admin Logo",class:"w-10 h-10 object-contain",onError:K},null,32)]),l("div",B,[a[12]||(a[12]=l("h4",{class:"text-xl font-semibold text-gray-900 dark:text-white mb-3"},"Gin-Vue-Admin",-1)),a[13]||(a[13]=l("p",{class:"text-sm text-gray-600 dark:text-gray-400 mb-5 leading-relaxed"}," 基于 Vue3 + Gin 的全栈开发基础平台,提供完整的后台管理解决方案 ",-1)),l("div",F,[l("a",{href:"https://github.com/flipped-aurora/gin-vue-admin",target:"_blank",class:"font-medium transition-colors duration-150 hover:underline",style:x({color:u(q).primaryColor})}," GitHub 仓库 ",4),a[11]||(a[11]=l("span",{class:"text-gray-400 dark:text-gray-500"},"·",-1)),l("a",{href:"https://www.gin-vue-admin.com/",target:"_blank",class:"font-medium transition-colors duration-150 hover:underline",style:x({color:u(q).primaryColor})}," 官方文档 ",4)])])])])])])])}}}),[["__scopeId","data-v-bc5e176b"]]);export{I as default};