feat(api): 添加多路由代理处理实现
- 新增api目录下多个接口路径代理处理文件,支持动态拼接目标URL - 根据环境变量选择不同的后端服务地址(如dev和生产环境) - 统一添加TenantId和Authorization请求头传递租户及身份信息 - 实现请求参数及搜索参数的完整转发 - 引入better-sqlite3及node内建模块支持服务端功能 - 新增专家详情页面,实现文章、成果及预约咨询功能展示 - 页面实现加载骨架屏、标签页切换及空状态提示优化体验
This commit is contained in:
1
.output/public/_nuxt/xqZUYVB0.js
Normal file
1
.output/public/_nuxt/xqZUYVB0.js
Normal file
@@ -0,0 +1 @@
|
||||
import{d as I,H as R,i as C,s as w,j as D,c as i,a as e,b as l,t as c,m as t,w as n,r as u,o as s,e as m,R as F,F as _,f as v,A as x,z as b,l as H,G as T,D as L,y as O,g as $}from"./DPwbf7XO.js";import{g as j}from"./Cqjv_SrU.js";import{g as A}from"./Dl1HJz7f.js";import"./Cv7upGT6.js";const E={class:"admin-home"},G={class:"welcome-banner"},M={class:"welcome-left"},P={class:"welcome-sub"},U={class:"welcome-right"},J={class:"stat-block-header"},K={class:"stat-block-icon"},Q={class:"stat-block-label"},W={class:"stat-block-value"},X={class:"stat-block-desc"},Y={class:"panel"},Z={class:"todo-list"},ee=["onClick"],oe={class:"todo-content"},ae={class:"todo-label"},te={key:0,class:"todo-empty"},se={class:"panel"},le={class:"quick-grid"},ne=["onClick"],ie={class:"quick-label"},ce=I({__name:"index",setup(de){R({title:"管理后台首页"});const p=C("管理员"),d=C(!1),z=w([{icon:"📝",label:"文章总数",value:0,desc:"全部文章",color:"blue"},{icon:"👥",label:"用户总数",value:0,desc:"注册用户",color:"green"},{icon:"🎓",label:"专家总数",value:0,desc:"认证专家",color:"purple"},{icon:"💼",label:"会员总数",value:0,desc:"企业/个人会员",color:"orange"}]),r=w([{label:"待审核专家",value:0,to:"/admin/experts/review",tagColor:"orange",dotColor:"dot-orange",urgent:!1},{label:"待审核会员",value:0,to:"/admin/members/review",tagColor:"cyan",dotColor:"dot-cyan",urgent:!1},{label:"待处理建言",value:0,to:"/admin/suggestions",tagColor:"blue",dotColor:"dot-blue",urgent:!1},{label:"待审核文章",value:0,to:"/admin/articles",tagColor:"red",dotColor:"dot-red",urgent:!1}]),S=[{to:"/admin/articles",icon:"📝",label:"文章管理",bg:"#fff7ed"},{to:"/admin/categories",icon:"🗂️",label:"栏目管理",bg:"#eff6ff"},{to:"/admin/experts",icon:"🎓",label:"专家管理",bg:"#faf5ff"},{to:"/admin/members",icon:"💼",label:"会员管理",bg:"#f0fdf4"},{to:"/admin/suggestions",icon:"💬",label:"建言管理",bg:"#fdf4ff"},{to:"/admin/users",icon:"👥",label:"用户管理",bg:"#f0f9ff"},{to:"/admin/announcements",icon:"📢",label:"公告管理",bg:"#fff1f2"},{to:"/admin/settings",icon:"⚙️",label:"系统设置",bg:"#f9fafb"}];async function k(){d.value=!0;try{r[0].value=0,r[1].value=0,r[2].value=0,r[3].value=0}catch{}finally{d.value=!1}}return D(async()=>{A()&&Promise.allSettled([j().then(a=>{p.value=a?.nickname?.trim()||a?.username?.trim()||"管理员"}),k()])}),(f,a)=>{const h=u("a-tag"),q=u("a-button"),N=u("a-space"),B=u("a-skeleton-input"),g=u("a-col"),y=u("a-row");return s(),i("div",E,[e("div",G,[e("div",M,[a[0]||(a[0]=e("h2",{class:"welcome-title"},"🎛️ 决策咨询网管理后台",-1)),e("p",P,"欢迎回来,"+c(t(p))+",今日数据已更新",1)]),e("div",U,[l(N,null,{default:n(()=>[l(h,{color:"red",style:{"font-size":"13px",padding:"4px 12px"}},{default:n(()=>[...a[1]||(a[1]=[m("超级管理员",-1)])]),_:1}),l(q,{size:"small",onClick:k,loading:t(d)},{icon:n(()=>[l(t(F))]),default:n(()=>[a[2]||(a[2]=m(" 刷新数据 ",-1))]),_:1},8,["loading"])]),_:1})])]),l(y,{gutter:[16,16]},{default:n(()=>[(s(!0),i(_,null,v(t(z),o=>(s(),x(g,{xs:12,sm:12,md:6,key:o.label},{default:n(()=>[e("div",{class:b(["stat-block",o.color])},[e("div",J,[e("span",K,c(o.icon),1),e("span",Q,c(o.label),1)]),e("div",W,[t(d)?(s(),x(B,{key:0,active:!0,size:"small",style:{width:"60px"}})):(s(),i(_,{key:1},[m(c(o.value),1)],64))]),e("div",X,c(o.desc),1)],2)]),_:2},1024))),128))]),_:1}),l(y,{gutter:[16,16]},{default:n(()=>[l(g,{xs:24,md:12},{default:n(()=>[e("div",Y,[a[3]||(a[3]=e("div",{class:"panel-header"},[e("span",{class:"panel-title"},"🔔 待处理事项")],-1)),e("div",Z,[(s(!0),i(_,null,v(t(r),o=>(s(),i("div",{key:o.label,class:b(["todo-item",{"todo-item-urgent":o.urgent}]),onClick:V=>("navigateTo"in f?f.navigateTo:t(T))(o.to)},[e("div",{class:b(["todo-dot",o.dotColor])},null,2),e("div",oe,[e("span",ae,c(o.label),1),l(h,{color:o.tagColor},{default:n(()=>[t(d)?(s(),i(_,{key:0},[m("...")],64)):(s(),i(_,{key:1},[m(c(o.value),1)],64))]),_:2},1032,["color"])]),l(t(L),{class:"todo-arrow"})],10,ee))),128)),!t(d)&&t(r).every(o=>o.value===0)?(s(),i("div",te," 🎉 暂无待处理事项,一切正常! ")):H("",!0)])])]),_:1}),l(g,{xs:24,md:12},{default:n(()=>[e("div",se,[a[4]||(a[4]=e("div",{class:"panel-header"},[e("span",{class:"panel-title"},"⚡ 快速入口")],-1)),e("div",le,[(s(),i(_,null,v(S,o=>e("div",{key:o.to,class:"quick-card",onClick:V=>("navigateTo"in f?f.navigateTo:t(T))(o.to)},[e("div",{class:"quick-icon",style:O({background:o.bg})},c(o.icon),5),e("div",ie,c(o.label),1)],8,ne)),64))])])]),_:1})]),_:1})])}}}),me=$(ce,[["__scopeId","data-v-26805697"]]);export{me as default};
|
||||
Reference in New Issue
Block a user