- 新增api目录下多个接口路径代理处理文件,支持动态拼接目标URL - 根据环境变量选择不同的后端服务地址(如dev和生产环境) - 统一添加TenantId和Authorization请求头传递租户及身份信息 - 实现请求参数及搜索参数的完整转发 - 引入better-sqlite3及node内建模块支持服务端功能 - 新增专家详情页面,实现文章、成果及预约咨询功能展示 - 页面实现加载骨架屏、标签页切换及空状态提示优化体验
2 lines
15 KiB
JavaScript
2 lines
15 KiB
JavaScript
import{b as o,I as oe,ag as ae,d as T,A as g,o as l,w as t,a as n,r as f,_ as G,e as i,t as m,m as d,g as q,v as $,q as se,i as S,j as J,k as le,c as y,F as w,f as P,l as O,z as U,G as z,J as re,a2 as ie,L as ue,V as de,ae as ce}from"./DPwbf7XO.js";import{g as pe}from"./Cqjv_SrU.js";import{g as fe,r as me}from"./Dl1HJz7f.js";import{M as ye,c as L,s as ke}from"./D1PxpBgp.js";import{U as be}from"./Ce_WBGpl.js";import"./Cv7upGT6.js";var ve={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM492 400h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zM340 368a40 40 0 1080 0 40 40 0 10-80 0zm0 144a40 40 0 1080 0 40 40 0 10-80 0zm0 144a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"profile",theme:"outlined"};function D(_){for(var u=1;u<arguments.length;u++){var r=arguments[u]!=null?Object(arguments[u]):{},e=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(e=e.concat(Object.getOwnPropertySymbols(r).filter(function(v){return Object.getOwnPropertyDescriptor(r,v).enumerable}))),e.forEach(function(v){ge(_,v,r[v])})}return _}function ge(_,u,r){return u in _?Object.defineProperty(_,u,{value:r,enumerable:!0,configurable:!0,writable:!0}):_[u]=r,_}var F=function(u,r){var e=D({},u,r.attrs);return o(oe,D({},e,{icon:ve}),null)};F.displayName="ProfileOutlined";F.inheritAttrs=!1;const _e=ae("/images/qrcode-mp-official.jpg"),he={class:"mx-auto max-w-screen-xl px-4 py-12"},we={class:"brand-section"},xe={class:"social-links"},$e={class:"footer-links"},Ce={class:"footer-links"},ze={class:"footer-links"},Oe={class:"footer-bottom"},Se={class:"footer-bottom-content"},Ae={class:"copyright"},je=T({__name:"SiteFooter",setup(_){const u=new Date().getFullYear();return(r,e)=>{const v=f("a-tooltip"),h=f("a-col"),c=G,k=f("a-row"),C=f("a-layout-footer");return l(),g(C,{class:"footer"},{default:t(()=>[n("div",he,[o(k,{gutter:[32,40]},{default:t(()=>[o(h,{xs:24,md:6},{default:t(()=>[n("div",we,[e[1]||(e[1]=n("div",{class:"brand-logo"},"广西决策咨询网",-1)),e[2]||(e[2]=n("p",{class:"brand-desc"}," 广西决策咨询中心官方平台,汇聚专家智慧,服务政府决策,推动广西高质量发展。 ",-1)),n("div",xe,[o(v,{title:"微信公众号"},{default:t(()=>[...e[0]||(e[0]=[n("span",{class:"social-item"},[n("svg",{class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24"},[n("path",{d:"M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 0 1 .213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 0 0 .186-.059l2.114-1.225a.866.866 0 0 1 .58-.091 10.16 10.16 0 0 0 2.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348z"})])],-1)])]),_:1})])])]),_:1}),o(h,{xs:12,sm:6,md:4},{default:t(()=>[e[7]||(e[7]=n("div",{class:"footer-title"},"快速导航",-1)),n("div",$e,[o(c,{to:"/news"},{default:t(()=>[...e[3]||(e[3]=[i("政策要闻",-1)])]),_:1}),o(c,{to:"/consultation"},{default:t(()=>[...e[4]||(e[4]=[i("决策咨询",-1)])]),_:1}),o(c,{to:"/reference"},{default:t(()=>[...e[5]||(e[5]=[i("决策参考",-1)])]),_:1}),o(c,{to:"/expert"},{default:t(()=>[...e[6]||(e[6]=[i("专家资讯",-1)])]),_:1})])]),_:1}),o(h,{xs:12,sm:6,md:4},{default:t(()=>[e[12]||(e[12]=n("div",{class:"footer-title"},"特色服务",-1)),n("div",Ce,[o(c,{to:"/think-tank"},{default:t(()=>[...e[8]||(e[8]=[i("智库观察",-1)])]),_:1}),o(c,{to:"/suggestions"},{default:t(()=>[...e[9]||(e[9]=[i("建言献策",-1)])]),_:1}),o(c,{to:"/membership"},{default:t(()=>[...e[10]||(e[10]=[i("会员服务",-1)])]),_:1}),o(c,{to:"/hanmo"},{default:t(()=>[...e[11]||(e[11]=[i("翰墨文谈",-1)])]),_:1})])]),_:1}),o(h,{xs:12,sm:6,md:4},{default:t(()=>[e[17]||(e[17]=n("div",{class:"footer-title"},"关于我们",-1)),n("div",ze,[o(c,{to:"/about"},{default:t(()=>[...e[13]||(e[13]=[i("学会简介",-1)])]),_:1}),o(c,{to:"/about/organization"},{default:t(()=>[...e[14]||(e[14]=[i("组织机构",-1)])]),_:1}),o(c,{to:"/about/charter"},{default:t(()=>[...e[15]||(e[15]=[i("学会章程",-1)])]),_:1}),o(c,{to:"/about/join"},{default:t(()=>[...e[16]||(e[16]=[i("加入我们",-1)])]),_:1})])]),_:1}),o(h,{xs:24,sm:12,md:6},{default:t(()=>[...e[18]||(e[18]=[n("div",{class:"footer-title"},"联系我们",-1),n("div",{class:"contact-info"},[n("div",{class:"contact-item"},[n("span",{class:"contact-icon"},"📍"),n("span",null,"广西·南宁·良庆区 五象大道401号五象航洋城")]),n("div",{class:"contact-item"},[n("span",{class:"contact-icon"},"📞"),n("span",null,"0771-5386339")]),n("div",{class:"contact-item"},[n("span",{class:"contact-icon"},"📧"),n("span",null,"gxjzxzx@126.com")])],-1),n("div",{class:"qrcode-section"},[n("div",{class:"qrcode-item"},[n("div",{class:"qrcode-box"},[n("img",{src:_e,alt:"微信公众号",class:"qrcode-img"})]),n("span",{class:"qrcode-label"},"关注公众号")])],-1)])]),_:1})]),_:1}),n("div",Oe,[n("div",Se,[n("div",Ae,[n("span",null,"© "+m(d(u))+" 广西决策咨询中心 版权所有",1),e[19]||(e[19]=n("a",{href:"https://beian.miit.gov.cn/",target:"_blank",rel:"nofollow noopener",class:"icp-link"},"桂ICP备13003666号-12",-1))]),e[20]||(e[20]=n("div",{class:"powered-by"},[i(" Powered by "),n("a",{href:"https://websoft.top/website",target:"_blank",class:"text-gray-200"},"云·企业官网")],-1))])])])]),_:1})}}}),Ie=Object.assign(q(je,[["__scopeId","data-v-eee4ed8d"]]),{__name:"SiteFooter"}),Ne=[{key:"home",label:"首页",to:"/"},{key:"news",label:"政策要闻",to:"/news",children:[{key:"news-central",label:"党中央国务院",to:"/news?type=central"},{key:"news-region",label:"自治区党委政府",to:"/news?type=region"},{key:"news-department",label:"其他厅委办",to:"/news?type=department"},{key:"news-latest",label:"最新发布",to:"/news?type=latest"}]},{key:"consultation",label:"决策咨询",to:"/consultation",children:[{key:"consult-city",label:"市县决策",to:"/consultation?type=city"},{key:"consult-frontier",label:"前沿观察",to:"/consultation?type=frontier"},{key:"consult-industry",label:"行业资讯",to:"/consultation?type=industry"},{key:"consult-enterprise",label:"企业动态",to:"/consultation?type=enterprise"},{key:"consult-research",label:"研究热点",to:"/consultation?type=research"},{key:"consult-academic",label:"学术活动",to:"/consultation?type=academic"},{key:"consult-other",label:"其他汇编",to:"/consultation?type=other"}]},{key:"reference",label:"决策参考",to:"/reference",children:[{key:"ref-policy",label:"政策原文",to:"/reference?type=policy"},{key:"ref-analysis",label:"深度解读",to:"/reference?type=analysis"},{key:"ref-research",label:"研究成果",to:"/reference?type=research"},{key:"ref-special",label:"专题研究",to:"/reference?type=special"},{key:"ref-asean",label:"东盟研究",to:"/reference?type=asean"},{key:"ref-data",label:"数据服务",to:"/reference?type=data",badge:"VIP"}]},{key:"expert",label:"专家资讯",to:"/expert",children:[{key:"expert-view",label:"专家视点",to:"/expert?type=view"},{key:"expert-dynamic",label:"专家动态",to:"/expert?type=dynamic"},{key:"expert-apply",label:"专家申请",to:"/expert/apply"}]},{key:"thinktank",label:"智库观察",to:"/think-tank",children:[{key:"thinktank-intro",label:"智库介绍",to:"/think-tank?type=intro"},{key:"thinktank-view",label:"智库视角",to:"/think-tank?type=view"}]},{key:"suggestions",label:"建言献策",to:"/suggestions"},{key:"membership",label:"会员服务",to:"/membership",children:[{key:"member-consult",label:"企业咨询",to:"/membership?type=consult"},{key:"member-service",label:"专项服务",to:"/membership?type=service"}]},{key:"hanmo",label:"翰墨文谈",to:"/hanmo"},{key:"about",label:"关于我们",to:"/about",children:[{key:"about-intro",label:"学会简介",to:"/about"},{key:"about-org",label:"组织机构",to:"/about/organization"},{key:"about-charter",label:"学会章程",to:"/about/charter"},{key:"about-consult",label:"咨询服务",to:"/about/consultation"},{key:"about-join",label:"加入我们",to:"/about/join"}]}],Pe={class:"nav-bar mx-auto max-w-screen-xl px-4 h-full"},Ue={class:"flex items-center gap-8 nav-left"},We=["href"],He={class:"flex items-center gap-2 flex-shrink-0 nav-right"},Le={class:"hidden md:flex items-center gap-3"},Te={class:"text-gray-100"},qe=["href"],Fe=["onClick"],Me={class:"mt-4"},Ve=T({__name:"SiteHeader",setup(_){const u=$(()=>Ne),r=se(),e=S(!1),v=$(()=>{const p=u.value.find(a=>a.to===r.path);return p?[p.to]:r.path.startsWith("/news")?["/news"]:r.path.startsWith("/consultation")?["/consultation"]:r.path.startsWith("/reference")?["/reference"]:r.path.startsWith("/expert")?["/expert"]:r.path.startsWith("/think-tank")?["/think-tank"]:r.path.startsWith("/suggestions")?["/suggestions"]:r.path.startsWith("/membership")?["/membership"]:r.path.startsWith("/hanmo")?["/hanmo"]:r.path.startsWith("/about")?["/about"]:["/"]});function h(p){const a="ml-1.5 px-1.5 py-0.5 text-xs font-medium rounded";return p==="HOT"?`${a} bg-orange-500 text-white`:p==="NEW"?`${a} bg-green-500 text-white`:`${a} bg-gray-500 text-white`}S("广西决策咨询网");const c=S(""),k=S(null),C=$(()=>!!c.value),W=$(()=>String(k.value?.nickname||k.value?.username||"已登录")),M=$(()=>!!k.value?.isAdmin),V=$(()=>{const p=k.value?.avatarUrl||k.value?.avatar||k.value?.merchantAvatar||k.value?.logo||"";if(typeof p!="string")return"";const a=p.trim();return!a||a==="null"||a==="undefined"?"":a});function A(p){e.value=!1,z(p)}async function j(){if(c.value=fe(),!c.value){k.value=null,L();return}try{k.value=await pe(),ke(k.value)}catch{L()}}function B(){me();try{localStorage.removeItem("TenantId"),localStorage.removeItem("UserId")}catch{}L(),k.value=null,c.value="",e.value=!1,z("/")}function Y(p){if(p.key==="profile")return z("/profile");if(p.key==="my-suggestions")return z("/my/suggestions");if(p.key==="admin")return z("/admin");if(p.key==="logout")return B()}return J(()=>{j(),window.addEventListener("auth-token-changed",j),window.addEventListener("storage",j)}),le(()=>{window.removeEventListener("auth-token-changed",j),window.removeEventListener("storage",j)}),(p,a)=>{const I=G,x=f("a-menu-item"),E=f("a-sub-menu"),H=f("a-menu"),N=f("a-button"),Q=f("a-avatar"),X=f("a-space"),R=f("a-menu-divider"),Z=f("a-dropdown"),K=f("a-layout-header"),ee=f("a-affix"),te=f("a-drawer");return l(),y(w,null,[o(ee,{"offset-top":0},{default:t(()=>[o(K,{class:"header"},{default:t(()=>[n("div",Pe,[n("div",Ue,[o(I,{to:"/",class:"flex items-center logo-link cursor-pointer flex-shrink-0"},{default:t(()=>[...a[7]||(a[7]=[n("div",{class:"logo-text"},"决策咨询网",-1)])]),_:1}),o(H,{mode:"horizontal",theme:"dark","selected-keys":d(v),class:"menu hidden md:flex"},{default:t(()=>[(l(!0),y(w,null,P(d(u),s=>(l(),y(w,{key:s.key},[s.children&&s.children.length?(l(),g(E,{key:s.key},{title:t(()=>[o(I,{to:s.to,class:"nav-item-wrapper"},{default:t(()=>[n("span",null,m(s.label),1),s.badge?(l(),y("span",{key:0,class:U(h(s.badge))},m(s.badge),3)):O("",!0)]),_:2},1032,["to"])]),default:t(()=>[(l(!0),y(w,null,P(s.children,b=>(l(),g(x,{key:b.key},{default:t(()=>[b.href?(l(),y("a",{key:0,href:b.href,target:"_blank",rel:"noopener",class:"nav-item-wrapper"},m(b.label),9,We)):(l(),g(I,{key:1,to:b.to},{default:t(()=>[i(m(b.label),1)]),_:2},1032,["to"]))]),_:2},1024))),128))]),_:2},1024)):(l(),g(x,{key:s.to},{default:t(()=>[o(I,{to:s.to,class:"nav-item-wrapper"},{default:t(()=>[n("span",null,m(s.label),1),s.badge?(l(),y("span",{key:0,class:U(h(s.badge))},m(s.badge),3)):O("",!0)]),_:2},1032,["to"])]),_:2},1024))],64))),128))]),_:1},8,["selected-keys"])]),n("div",He,[n("div",Le,[d(C)?(l(),g(Z,{key:1,trigger:["hover"],placement:"bottomRight"},{overlay:t(()=>[o(H,{onClick:Y},{default:t(()=>[o(x,{key:"profile"},{default:t(()=>[o(d(F),{style:{"margin-right":"8px"}}),a[9]||(a[9]=i("个人信息",-1))]),_:1}),o(x,{key:"my-suggestions"},{default:t(()=>[o(d(ye),{style:{"margin-right":"8px"}}),a[10]||(a[10]=i("我的建言",-1))]),_:1}),d(M)?(l(),y(w,{key:0},[o(R),o(x,{key:"admin"},{default:t(()=>[...a[11]||(a[11]=[i("⚙️ 后台管理",-1)])]),_:1})],64)):O("",!0),o(R),o(x,{key:"logout"},{default:t(()=>[...a[12]||(a[12]=[i(m("退出登录"),-1)])]),_:1})]),_:1})]),default:t(()=>[o(X,null,{default:t(()=>[o(Q,{src:d(V),size:32},re({_:2},[d(V)?void 0:{name:"icon",fn:t(()=>[o(d(be))]),key:"0"}]),1032,["src"]),n("span",Te,m(d(W)),1)]),_:1})]),_:1})):(l(),g(N,{key:0,type:"primary",onClick:a[0]||(a[0]=s=>("navigateTo"in p?p.navigateTo:d(z))("/login"))},{default:t(()=>[...a[8]||(a[8]=[i(m("登录"),-1)])]),_:1}))]),n("button",{class:"md:hidden flex flex-col justify-center items-center w-10 h-10 gap-1.5 rounded-lg bg-white/10 hover:bg-white/20 border border-white/20 transition-colors",onClick:a[1]||(a[1]=s=>e.value=!0)},[...a[13]||(a[13]=[n("span",{class:"block w-5 h-0.5 bg-white rounded-full"},null,-1),n("span",{class:"block w-5 h-0.5 bg-white rounded-full"},null,-1),n("span",{class:"block w-5 h-0.5 bg-white rounded-full"},null,-1)])])])])]),_:1})]),_:1}),o(te,{open:d(e),"onUpdate:open":a[6]||(a[6]=s=>ie(e)?e.value=s:null),title:"导航",placement:"right"},{default:t(()=>[o(H,{mode:"inline","selected-keys":d(v)},{default:t(()=>[(l(!0),y(w,null,P(d(u),s=>(l(),y(w,{key:s.key},[s.children&&s.children.length?(l(),g(E,{key:s.key},{title:t(()=>[i(m(s.label),1)]),default:t(()=>[(l(!0),y(w,null,P(s.children,b=>(l(),g(x,{key:b.key},{default:t(()=>[b.href?(l(),y("a",{key:0,href:b.href,target:"_blank",rel:"noopener",onClick:a[2]||(a[2]=ne=>e.value=!1)},m(b.label),9,qe)):(l(),y("span",{key:1,onClick:ne=>A(b.to)},m(b.label),9,Fe))]),_:2},1024))),128))]),_:2},1024)):(l(),g(x,{key:s.to,onClick:b=>A(s.to)},{default:t(()=>[o(I,{to:s.to,class:"nav-item-wrapper"},{default:t(()=>[n("span",null,m(s.label),1),s.badge?(l(),y("span",{key:0,class:U(h(s.badge))},m(s.badge),3)):O("",!0)]),_:2},1032,["to"])]),_:2},1032,["onClick"]))],64))),128))]),_:1},8,["selected-keys"]),n("div",Me,[d(C)?(l(),y(w,{key:1},[o(N,{block:"",type:"primary",class:"mb-2",onClick:a[4]||(a[4]=s=>A("/profile"))},{default:t(()=>[...a[15]||(a[15]=[i("个人中心",-1)])]),_:1}),d(M)?(l(),g(N,{key:0,block:"",onClick:a[5]||(a[5]=s=>A("/admin"))},{default:t(()=>[...a[16]||(a[16]=[i("⚙️ 后台管理",-1)])]),_:1})):O("",!0),o(N,{block:"",danger:"",class:"mt-2",onClick:B},{default:t(()=>[...a[17]||(a[17]=[i(m("退出登录"),-1)])]),_:1})],64)):(l(),g(N,{key:0,block:"",type:"primary",onClick:a[3]||(a[3]=s=>A("/login"))},{default:t(()=>[...a[14]||(a[14]=[i(m("登录"),-1)])]),_:1}))])]),_:1},8,["open"])],64)}}}),Be=Object.assign(q(Ve,[["__scopeId","data-v-94ae4052"]]),{__name:"SiteHeader"}),Ee={key:0,class:"layout-loading-mask"},Re=T({__name:"default",setup(_){const u=ue(),r=S(!0),e=S(!1),v=$(()=>r.value||e.value);return u.hooks.hook("page:start",()=>{e.value=!0}),u.hooks.hook("page:finish",()=>{e.value=!1}),J(async()=>{await de(),requestAnimationFrame(()=>{r.value=!1})}),(h,c)=>{const k=f("a-spin"),C=f("a-layout-content"),W=f("a-layout");return l(),y("div",{class:U(["layout-wrapper",{"layout-wrapper--loading":d(v)}])},[d(v)?(l(),y("div",Ee,[o(k,{size:"large"})])):O("",!0),o(W,{class:"min-h-screen layout-shell"},{default:t(()=>[o(Be),o(C,{class:"content"},{default:t(()=>[ce(h.$slots,"default",{},void 0,!0)]),_:3}),o(Ie)]),_:3})],2)}}}),Ze=q(Re,[["__scopeId","data-v-78e0b4a3"]]);export{Ze as default};
|