优化导航栏

This commit is contained in:
ember 2025-12-04 16:13:47 +08:00
parent e718446deb
commit 9053561f04
21 changed files with 38 additions and 30 deletions

View File

@ -1 +0,0 @@
.app-center[data-v-15fa2ebf]{padding:40px 0;padding-top:80px;background-color:#f5f7fa;min-height:100vh}.container[data-v-15fa2ebf]{max-width:1200px;margin:0 auto;padding:0 20px}.page-title[data-v-15fa2ebf]{font-size:2rem;margin-bottom:2rem;color:#333;text-align:center;font-weight:600}.app-section[data-v-15fa2ebf]{margin-bottom:3rem}.section-title[data-v-15fa2ebf]{font-size:1.5rem;margin-bottom:1.5rem;color:#333;position:relative;padding-left:15px;font-weight:500}.section-title[data-v-15fa2ebf]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:20px;background-color:#3273dc;border-radius:3px}.section-description[data-v-15fa2ebf]{font-size:.9rem;color:#666;margin-bottom:1.5rem;margin-top:-1rem;padding-left:15px;line-height:1.5}.app-grid[data-v-15fa2ebf]{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.app-card[data-v-15fa2ebf]{background-color:#fff;border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.1);padding:20px;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.app-card[data-v-15fa2ebf]:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,.08),0 6px 6px rgba(0,0,0,.12)}.app-icon[data-v-15fa2ebf]{font-size:2.5rem;margin-bottom:12px;display:flex;align-items:center;justify-content:center;width:65px;height:65px;background-color:#f0f7ff;border-radius:16px}.app-title-wrapper[data-v-15fa2ebf]{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.recommend-tag[data-v-15fa2ebf]{position:absolute;top:10px;right:10px;background-color:#f44336;color:#fff;font-size:.7rem;padding:3px 8px;border-radius:4px;display:inline-block;line-height:1.2;z-index:1;box-shadow:0 2px 4px rgba(0,0,0,.2)}.app-title[data-v-15fa2ebf]{font-size:1.1rem;font-weight:600;margin-bottom:8px;color:#333}.app-description[data-v-15fa2ebf]{font-size:.85rem;color:#666;line-height:1.4}@media(max-width:1024px){.app-grid[data-v-15fa2ebf]{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.app-grid[data-v-15fa2ebf]{grid-template-columns:repeat(2,1fr)}.page-title[data-v-15fa2ebf]{font-size:1.8rem}.section-title[data-v-15fa2ebf]{font-size:1.3rem}}@media(max-width:480px){.app-card[data-v-15fa2ebf]{padding:15px}.app-icon[data-v-15fa2ebf]{width:55px;height:55px;font-size:2.2rem}.app-title[data-v-15fa2ebf]{font-size:1rem}.app-description[data-v-15fa2ebf]{font-size:.8rem}}.official-apps-title[data-v-15fa2ebf]{color:#d32f2f}.official-apps-title[data-v-15fa2ebf]:before{background-color:#f44336}

1
dist/css/561.65b15f3d.css vendored Normal file
View File

@ -0,0 +1 @@
.app-center[data-v-277b530c]{padding:40px 0;padding-top:80px;background-color:#f5f7fa;min-height:100vh}.container[data-v-277b530c]{max-width:1200px;margin:0 auto;padding:0 20px}.page-title[data-v-277b530c]{font-size:2rem;margin-bottom:2rem;color:#333;text-align:center;font-weight:600}.app-section[data-v-277b530c]{margin-bottom:3rem}.section-title[data-v-277b530c]{font-size:1.5rem;margin-bottom:1.5rem;color:#333;position:relative;padding-left:15px;font-weight:500}.section-title[data-v-277b530c]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:20px;background-color:#3273dc;border-radius:3px}.section-description[data-v-277b530c]{font-size:.9rem;color:#666;margin-bottom:1.5rem;margin-top:-1rem;padding-left:15px;line-height:1.5}.app-grid[data-v-277b530c]{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.app-card[data-v-277b530c]{background-color:#fff;border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.1);padding:20px;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.app-card[data-v-277b530c]:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,.08),0 6px 6px rgba(0,0,0,.12)}.app-icon[data-v-277b530c]{font-size:2.5rem;margin-bottom:12px;display:flex;align-items:center;justify-content:center;width:65px;height:65px;background-color:#f0f7ff;border-radius:16px}.app-title-wrapper[data-v-277b530c]{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.recommend-tag[data-v-277b530c]{position:absolute;top:10px;right:10px;background-color:#f44336;color:#fff;font-size:.7rem;padding:3px 8px;border-radius:4px;display:inline-block;line-height:1.2;z-index:1;box-shadow:0 2px 4px rgba(0,0,0,.2)}.app-title[data-v-277b530c]{font-size:1.1rem;font-weight:600;margin-bottom:8px;color:#333}.app-description[data-v-277b530c]{font-size:.85rem;color:#666;line-height:1.4}@media(max-width:1024px){.app-grid[data-v-277b530c]{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.app-grid[data-v-277b530c]{grid-template-columns:repeat(2,1fr)}.page-title[data-v-277b530c]{font-size:1.8rem}.section-title[data-v-277b530c]{font-size:1.3rem}}@media(max-width:480px){.app-card[data-v-277b530c]{padding:15px}.app-icon[data-v-277b530c]{width:55px;height:55px;font-size:2.2rem}.app-title[data-v-277b530c]{font-size:1rem}.app-description[data-v-277b530c]{font-size:.8rem}}.official-apps-title[data-v-277b530c]{color:#d32f2f}.official-apps-title[data-v-277b530c]:before{background-color:#f44336}

File diff suppressed because one or more lines are too long

2
dist/index.html vendored
View File

@ -1 +1 @@
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>NEU小站</title><script defer="defer" src="/js/chunk-vendors.63c63273.js"></script><script defer="defer" src="/js/app.63dc9b3e.js"></script><link href="/css/chunk-vendors.c52e575a.css" rel="stylesheet"><link href="/css/app.328c1939.css" rel="stylesheet"></head><body><noscript><strong>抱歉NEU小站无法在没有 JavaScript 的情况下正常工作。请启用 JavaScript 以继续。</strong></noscript><div id="app"></div></body></html>
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>NEU小站</title><script defer="defer" src="/js/chunk-vendors.63c63273.js"></script><script defer="defer" src="/js/app.3558d68c.js"></script><link href="/css/chunk-vendors.c52e575a.css" rel="stylesheet"><link href="/css/app.910216e9.css" rel="stylesheet"></head><body><noscript><strong>抱歉NEU小站无法在没有 JavaScript 的情况下正常工作。请启用 JavaScript 以继续。</strong></noscript><div id="app"></div></body></html>

View File

@ -1,2 +1,2 @@
"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[155],{5155:function(e,t,i){i.r(t),i.d(t,{default:function(){return b}});var n=i(6768),s=i(4232);const a={class:"widget-container"},c={class:"content-container"},d={class:"info-card"},o={class:"group-title"},l={class:"widget-grid"},r={class:"widget-icon"},u={class:"widget-info"},g={class:"widget-title"},k={class:"widget-desc"};function f(e,t,i,f,v,w){const p=(0,n.g2)("NavBar"),L=(0,n.g2)("router-link");return(0,n.uX)(),(0,n.CE)("div",a,[(0,n.bF)(p),(0,n.Lk)("div",c,[t[3]||(t[3]=(0,n.Lk)("h1",{class:"page-title"},"小工具中心",-1)),(0,n.Lk)("div",d,[t[2]||(t[2]=(0,n.Lk)("i",{class:"fas fa-info-circle info-icon"},null,-1)),(0,n.Lk)("p",null,[t[1]||(t[1]=(0,n.eW)("如果您有想要使用的小工具,或想提供自己开发的小工具,欢迎")),(0,n.bF)(L,{to:"/about",style:{color:"#3273dc"}},{default:(0,n.k6)((()=>t[0]||(t[0]=[(0,n.eW)("联系网站管理员")]))),_:1})])]),((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(v.widgetGroups,(e=>((0,n.uX)(),(0,n.CE)("div",{key:e.id,class:"widget-group"},[(0,n.Lk)("h2",o,(0,s.v_)(e.name),1),(0,n.Lk)("div",l,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(e.widgets,(e=>((0,n.uX)(),(0,n.Wv)(L,{key:e.id,to:e.route,class:"widget-card"},{default:(0,n.k6)((()=>[(0,n.Lk)("div",r,[(0,n.Lk)("i",{class:(0,s.C4)(e.icon)},null,2)]),(0,n.Lk)("div",u,[(0,n.Lk)("h3",g,(0,s.v_)(e.name),1),(0,n.Lk)("p",k,(0,s.v_)(e.description),1)])])),_:2},1032,["to"])))),128))])])))),128))])])}var v=i(1305),w={name:"WidgetIndex",components:{NavBar:v.A},created(){document.title="小工具中心 - NEU小站"},data(){return{widgetGroups:[{id:1,name:"实用工具",widgets:[{id:101,name:"WebVPN 地址生成",description:"使用校园网访问任意网站",icon:"fas fa-globe",route:"/widgets/webvpn"}]}]}}},p=i(1241);const L=(0,p.A)(w,[["render",f],["__scopeId","data-v-409666c6"]]);var b=L}}]);
//# sourceMappingURL=155.ae06794a.js.map
"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[155],{5155:function(e,t,i){i.r(t),i.d(t,{default:function(){return b}});var n=i(6768),s=i(4232);const a={class:"widget-container"},c={class:"content-container"},d={class:"info-card"},o={class:"group-title"},l={class:"widget-grid"},r={class:"widget-icon"},u={class:"widget-info"},g={class:"widget-title"},k={class:"widget-desc"};function f(e,t,i,f,v,w){const p=(0,n.g2)("NavBar"),L=(0,n.g2)("router-link");return(0,n.uX)(),(0,n.CE)("div",a,[(0,n.bF)(p),(0,n.Lk)("div",c,[t[3]||(t[3]=(0,n.Lk)("h1",{class:"page-title"},"小工具中心",-1)),(0,n.Lk)("div",d,[t[2]||(t[2]=(0,n.Lk)("i",{class:"fas fa-info-circle info-icon"},null,-1)),(0,n.Lk)("p",null,[t[1]||(t[1]=(0,n.eW)("如果您有想要使用的小工具,或想提供自己开发的小工具,欢迎")),(0,n.bF)(L,{to:"/about",style:{color:"#3273dc"}},{default:(0,n.k6)((()=>t[0]||(t[0]=[(0,n.eW)("联系网站管理员")]))),_:1})])]),((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(v.widgetGroups,(e=>((0,n.uX)(),(0,n.CE)("div",{key:e.id,class:"widget-group"},[(0,n.Lk)("h2",o,(0,s.v_)(e.name),1),(0,n.Lk)("div",l,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(e.widgets,(e=>((0,n.uX)(),(0,n.Wv)(L,{key:e.id,to:e.route,class:"widget-card"},{default:(0,n.k6)((()=>[(0,n.Lk)("div",r,[(0,n.Lk)("i",{class:(0,s.C4)(e.icon)},null,2)]),(0,n.Lk)("div",u,[(0,n.Lk)("h3",g,(0,s.v_)(e.name),1),(0,n.Lk)("p",k,(0,s.v_)(e.description),1)])])),_:2},1032,["to"])))),128))])])))),128))])])}var v=i(1362),w={name:"WidgetIndex",components:{NavBar:v.A},created(){document.title="小工具中心 - NEU小站"},data(){return{widgetGroups:[{id:1,name:"实用工具",widgets:[{id:101,name:"WebVPN 地址生成",description:"使用校园网访问任意网站",icon:"fas fa-globe",route:"/widgets/webvpn"}]}]}}},p=i(1241);const L=(0,p.A)(w,[["render",f],["__scopeId","data-v-409666c6"]]);var b=L}}]);
//# sourceMappingURL=155.3cf6c485.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[550],{1550:function(a,n,t){t.r(n),t.d(n,{default:function(){return z}});t(4114);var e=t(6768),s=t(4232);const i={class:"ranking-page"},r={class:"container"},o={key:0,class:"loading-container"},l={key:1,class:"error-container"},c={key:2,class:"ranking-content"},k={key:0,class:"my-ranking-block"},u={class:"my-rank-content"},d={class:"my-rank-text"},g={class:"value-wrapper"},v={key:0,class:"value unranked"},p={key:1,class:"value ranked"},h={class:"my-rank-tip"},b={key:0,class:"my-rank-opt-out-tip"},y={class:"ranking-list"},m={class:"rank-badge"},P={key:0,class:"medal-icon"},f={key:1,class:"rank-number"},C={class:"user-info-wrapper"},L={class:"contribution-stats"},E={class:"stat-box"},X={class:"stat-value"},w={key:1,class:"pagination"},_=["disabled"],I={class:"page-info"},R=["disabled"];function A(a,n,t,A,q,x){const F=(0,e.g2)("NavBar"),N=(0,e.g2)("UserMeta");return(0,e.uX)(),(0,e.CE)("div",i,[(0,e.bF)(F),(0,e.Lk)("div",r,[n[9]||(n[9]=(0,e.Fv)('<div class="ranking-header" data-v-b24e0f26><h1 class="page-title" data-v-b24e0f26>🏆 投稿排行榜</h1><p class="page-subtitle" data-v-b24e0f26>感谢每一位为 NEU 小站贡献优质内容的创作者❤️</p><div class="ranking-notice" data-v-b24e0f26><i class="info-icon" data-v-b24e0f26></i><span data-v-b24e0f26>本榜单每小时更新一次,综合考量投稿数量、投稿质量及有效浏览量计算得出。榜单前三名用户将获得炫彩昵称特效。</span></div></div>',1)),q.loading?((0,e.uX)(),(0,e.CE)("div",o,n[4]||(n[4]=[(0,e.Lk)("div",{class:"spinner"},null,-1),(0,e.Lk)("p",null,"正在加载排行榜...",-1)]))):q.error?((0,e.uX)(),(0,e.CE)("div",l,[(0,e.Lk)("p",null,(0,s.v_)(q.error),1),(0,e.Lk)("button",{onClick:n[0]||(n[0]=a=>x.fetchRanking(q.currentPage)),class:"retry-btn"},"重试")])):((0,e.uX)(),(0,e.CE)("div",c,[null!==q.myPosition&&void 0!==q.myPosition?((0,e.uX)(),(0,e.CE)("div",k,[(0,e.Lk)("div",u,[(0,e.Lk)("div",d,[n[5]||(n[5]=(0,e.Lk)("span",{class:"label"},"我的当前排名",-1)),(0,e.Lk)("div",g,[-1===q.myPosition?((0,e.uX)(),(0,e.CE)("span",v,"未上榜")):((0,e.uX)(),(0,e.CE)("span",p,"NO."+(0,s.v_)(q.myPosition),1))])]),(0,e.Lk)("div",h,(0,s.v_)(-1===q.myPosition?"您暂未上榜哦~":"太厉害了,感谢您的贡献~"),1)]),-1!==q.myPosition?((0,e.uX)(),(0,e.CE)("div",b,[n[6]||(n[6]=(0,e.eW)(" 您可以在")),(0,e.Lk)("span",{class:"link-text",onClick:n[1]||(n[1]=n=>a.$router.push("/user-center"))},"【个人中心】"),n[7]||(n[7]=(0,e.eW)("—【我的投稿记录】处自愿选择是否加入排行榜。 "))])):(0,e.Q3)("",!0)])):(0,e.Q3)("",!0),(0,e.Lk)("div",y,[((0,e.uX)(!0),(0,e.CE)(e.FK,null,(0,e.pI)(q.rankingData,((a,t)=>((0,e.uX)(),(0,e.CE)("div",{key:a.userId,class:(0,s.C4)(["ranking-item",x.getRankClass(a.rank)])},[(0,e.Lk)("div",m,[a.rank<=3?((0,e.uX)(),(0,e.CE)("span",P,(0,s.v_)(x.getMedalIcon(a.rank)),1)):((0,e.uX)(),(0,e.CE)("span",f,(0,s.v_)(a.rank),1))]),(0,e.Lk)("div",C,[(0,e.bF)(N,{id:a.userId},null,8,["id"])]),(0,e.Lk)("div",L,[(0,e.Lk)("div",E,[n[8]||(n[8]=(0,e.Lk)("span",{class:"stat-label"},"投稿数量",-1)),(0,e.Lk)("span",X,(0,s.v_)(a.contributionCount),1)])])],2)))),128))]),q.totalPages>1?((0,e.uX)(),(0,e.CE)("div",w,[(0,e.Lk)("button",{class:"page-btn",disabled:1===q.currentPage,onClick:n[2]||(n[2]=a=>x.changePage(q.currentPage-1))}," 上一页 ",8,_),(0,e.Lk)("span",I,(0,s.v_)(q.currentPage)+" / "+(0,s.v_)(q.totalPages),1),(0,e.Lk)("button",{class:"page-btn",disabled:q.currentPage===q.totalPages,onClick:n[3]||(n[3]=a=>x.changePage(q.currentPage+1))}," 下一页 ",8,R)])):(0,e.Q3)("",!0)]))])])}var q=t(1305),x=t(3108),F=t(4373),N=t(8704),$={name:"RankingView",components:{NavBar:q.A,UserMeta:x.A},data(){return{rankingData:[],loading:!0,error:null,currentPage:1,totalPages:0,limit:20,myPosition:null}},mounted(){const a=parseInt(this.$route.query.page)||1;this.fetchRanking(a),document.title="投稿排行榜 - NEU 小站"},watch:{"$route.query.page"(a){const n=parseInt(a)||1;n!==this.currentPage&&this.fetchRanking(n)}},methods:{async fetchRanking(a){this.loading=!0,this.error=null;try{const n=N.A.get("token"),t={};n&&(t["Authorization"]=n);const e=await F.A.get("https://newfront.xn--xhq44jb2fzpc.com/ranking",{params:{page:a,limit:this.limit},headers:t}),{data:s,totalPages:i,page:r,my_position:o}=e.data;this.rankingData=s,this.totalPages=i,this.currentPage=r,this.myPosition=o,window.scrollTo({top:0,behavior:"smooth"})}catch(n){console.error("Failed to fetch ranking:",n),this.error="获取排行榜数据失败,请稍后重试"}finally{this.loading=!1}},changePage(a){a>=1&&a<=this.totalPages&&this.$router.push({query:{...this.$route.query,page:a}})},getRankClass(a){return 1===a?"rank-gold":2===a?"rank-silver":3===a?"rank-bronze":""},getMedalIcon(a){const n=["🥇","🥈","🥉"];return n[a-1]||""}}},M=t(1241);const U=(0,M.A)($,[["render",A],["__scopeId","data-v-b24e0f26"]]);var z=U}}]);
//# sourceMappingURL=550.a9bb5cee.js.map
"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[550],{1550:function(a,n,t){t.r(n),t.d(n,{default:function(){return z}});t(4114);var e=t(6768),s=t(4232);const i={class:"ranking-page"},r={class:"container"},o={key:0,class:"loading-container"},l={key:1,class:"error-container"},c={key:2,class:"ranking-content"},k={key:0,class:"my-ranking-block"},u={class:"my-rank-content"},d={class:"my-rank-text"},g={class:"value-wrapper"},v={key:0,class:"value unranked"},p={key:1,class:"value ranked"},h={class:"my-rank-tip"},b={key:0,class:"my-rank-opt-out-tip"},y={class:"ranking-list"},m={class:"rank-badge"},P={key:0,class:"medal-icon"},f={key:1,class:"rank-number"},C={class:"user-info-wrapper"},L={class:"contribution-stats"},E={class:"stat-box"},X={class:"stat-value"},w={key:1,class:"pagination"},_=["disabled"],I={class:"page-info"},R=["disabled"];function A(a,n,t,A,q,x){const F=(0,e.g2)("NavBar"),N=(0,e.g2)("UserMeta");return(0,e.uX)(),(0,e.CE)("div",i,[(0,e.bF)(F),(0,e.Lk)("div",r,[n[9]||(n[9]=(0,e.Fv)('<div class="ranking-header" data-v-b24e0f26><h1 class="page-title" data-v-b24e0f26>🏆 投稿排行榜</h1><p class="page-subtitle" data-v-b24e0f26>感谢每一位为 NEU 小站贡献优质内容的创作者❤️</p><div class="ranking-notice" data-v-b24e0f26><i class="info-icon" data-v-b24e0f26></i><span data-v-b24e0f26>本榜单每小时更新一次,综合考量投稿数量、投稿质量及有效浏览量计算得出。榜单前三名用户将获得炫彩昵称特效。</span></div></div>',1)),q.loading?((0,e.uX)(),(0,e.CE)("div",o,n[4]||(n[4]=[(0,e.Lk)("div",{class:"spinner"},null,-1),(0,e.Lk)("p",null,"正在加载排行榜...",-1)]))):q.error?((0,e.uX)(),(0,e.CE)("div",l,[(0,e.Lk)("p",null,(0,s.v_)(q.error),1),(0,e.Lk)("button",{onClick:n[0]||(n[0]=a=>x.fetchRanking(q.currentPage)),class:"retry-btn"},"重试")])):((0,e.uX)(),(0,e.CE)("div",c,[null!==q.myPosition&&void 0!==q.myPosition?((0,e.uX)(),(0,e.CE)("div",k,[(0,e.Lk)("div",u,[(0,e.Lk)("div",d,[n[5]||(n[5]=(0,e.Lk)("span",{class:"label"},"我的当前排名",-1)),(0,e.Lk)("div",g,[-1===q.myPosition?((0,e.uX)(),(0,e.CE)("span",v,"未上榜")):((0,e.uX)(),(0,e.CE)("span",p,"NO."+(0,s.v_)(q.myPosition),1))])]),(0,e.Lk)("div",h,(0,s.v_)(-1===q.myPosition?"您暂未上榜哦~":"太厉害了,感谢您的贡献~"),1)]),-1!==q.myPosition?((0,e.uX)(),(0,e.CE)("div",b,[n[6]||(n[6]=(0,e.eW)(" 您可以在")),(0,e.Lk)("span",{class:"link-text",onClick:n[1]||(n[1]=n=>a.$router.push("/user-center"))},"【个人中心】"),n[7]||(n[7]=(0,e.eW)("—【我的投稿记录】处自愿选择是否加入排行榜。 "))])):(0,e.Q3)("",!0)])):(0,e.Q3)("",!0),(0,e.Lk)("div",y,[((0,e.uX)(!0),(0,e.CE)(e.FK,null,(0,e.pI)(q.rankingData,((a,t)=>((0,e.uX)(),(0,e.CE)("div",{key:a.userId,class:(0,s.C4)(["ranking-item",x.getRankClass(a.rank)])},[(0,e.Lk)("div",m,[a.rank<=3?((0,e.uX)(),(0,e.CE)("span",P,(0,s.v_)(x.getMedalIcon(a.rank)),1)):((0,e.uX)(),(0,e.CE)("span",f,(0,s.v_)(a.rank),1))]),(0,e.Lk)("div",C,[(0,e.bF)(N,{id:a.userId},null,8,["id"])]),(0,e.Lk)("div",L,[(0,e.Lk)("div",E,[n[8]||(n[8]=(0,e.Lk)("span",{class:"stat-label"},"投稿数量",-1)),(0,e.Lk)("span",X,(0,s.v_)(a.contributionCount),1)])])],2)))),128))]),q.totalPages>1?((0,e.uX)(),(0,e.CE)("div",w,[(0,e.Lk)("button",{class:"page-btn",disabled:1===q.currentPage,onClick:n[2]||(n[2]=a=>x.changePage(q.currentPage-1))}," 上一页 ",8,_),(0,e.Lk)("span",I,(0,s.v_)(q.currentPage)+" / "+(0,s.v_)(q.totalPages),1),(0,e.Lk)("button",{class:"page-btn",disabled:q.currentPage===q.totalPages,onClick:n[3]||(n[3]=a=>x.changePage(q.currentPage+1))}," 下一页 ",8,R)])):(0,e.Q3)("",!0)]))])])}var q=t(1362),x=t(3108),F=t(4373),N=t(8704),$={name:"RankingView",components:{NavBar:q.A,UserMeta:x.A},data(){return{rankingData:[],loading:!0,error:null,currentPage:1,totalPages:0,limit:20,myPosition:null}},mounted(){const a=parseInt(this.$route.query.page)||1;this.fetchRanking(a),document.title="投稿排行榜 - NEU 小站"},watch:{"$route.query.page"(a){const n=parseInt(a)||1;n!==this.currentPage&&this.fetchRanking(n)}},methods:{async fetchRanking(a){this.loading=!0,this.error=null;try{const n=N.A.get("token"),t={};n&&(t["Authorization"]=n);const e=await F.A.get("https://newfront.xn--xhq44jb2fzpc.com/ranking",{params:{page:a,limit:this.limit},headers:t}),{data:s,totalPages:i,page:r,my_position:o}=e.data;this.rankingData=s,this.totalPages=i,this.currentPage=r,this.myPosition=o,window.scrollTo({top:0,behavior:"smooth"})}catch(n){console.error("Failed to fetch ranking:",n),this.error="获取排行榜数据失败,请稍后重试"}finally{this.loading=!1}},changePage(a){a>=1&&a<=this.totalPages&&this.$router.push({query:{...this.$route.query,page:a}})},getRankClass(a){return 1===a?"rank-gold":2===a?"rank-silver":3===a?"rank-bronze":""},getMedalIcon(a){const n=["🥇","🥈","🥉"];return n[a-1]||""}}},M=t(1241);const U=(0,M.A)($,[["render",A],["__scopeId","data-v-b24e0f26"]]);var z=U}}]);
//# sourceMappingURL=550.07384c2a.js.map

Some files were not shown because too many files have changed in this diff Show More