2 lines
8.6 KiB
JavaScript
2 lines
8.6 KiB
JavaScript
"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[690],{1538:function(e,t,a){a.d(t,{A:function(){return I}});var s=a(6768),l=a(4232);const i={class:"card-list-container"},c={key:0,class:"card-grid"},r=["onClick"],o={class:"card-content"},n={class:"card-title"},g={class:"card-tags"},d={key:0,class:"article-tag official"},h={key:1,class:"article-tag highlight"},u={key:2,class:"article-tag top"},C={class:"card-meta"},k={class:"card-section"},p={class:"card-date"},y={class:"card-tags-list"},v={key:0,class:"no-data"},f={key:1,class:"table-container"},T={class:"articles-table"},L=["onClick"],P={key:0,class:"no-data"},m={key:2,class:"loading"},b={key:3,class:"pagination"},E=["disabled"],w={class:"page-info"},X=["disabled"];function _(e,t,a,_,A,S){return(0,s.uX)(),(0,s.CE)("div",i,[1===a.mode?((0,s.uX)(),(0,s.CE)("div",c,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(A.articles,(e=>((0,s.uX)(),(0,s.CE)("div",{key:e.id,class:"card",onClick:t=>S.viewArticle(e.id)},[(0,s.Lk)("div",o,[(0,s.Lk)("h3",n,(0,l.v_)(e.title),1),(0,s.Lk)("div",g,[e.official?((0,s.uX)(),(0,s.CE)("span",d,"官方")):(0,s.Q3)("",!0),e.highlight?((0,s.uX)(),(0,s.CE)("span",h,"优质")):(0,s.Q3)("",!0),e.top?((0,s.uX)(),(0,s.CE)("span",u,"置顶")):(0,s.Q3)("",!0)]),(0,s.Lk)("div",C,[(0,s.Lk)("span",k,(0,l.v_)(e.section||"资源共享"),1),(0,s.Lk)("span",p,"更新于 "+(0,l.v_)(S.formatDate(e.updated_at)),1)]),(0,s.Lk)("div",y,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(e.tags,(e=>((0,s.uX)(),(0,s.CE)("span",{key:e.id,class:"card-tag"},(0,l.v_)(e.name),1)))),128))])])],8,r)))),128)),0!==A.articles.length||A.loading?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("div",v," 暂无符合条件的文章 "))])):((0,s.uX)(),(0,s.CE)("div",f,[(0,s.Lk)("table",T,[t[2]||(t[2]=(0,s.Lk)("thead",null,[(0,s.Lk)("tr",null,[(0,s.Lk)("th",null,"文章标题")])],-1)),(0,s.Lk)("tbody",null,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(A.articles,(e=>((0,s.uX)(),(0,s.CE)("tr",{key:e.id,onClick:t=>S.viewArticle(e.id)},[(0,s.Lk)("td",null,(0,l.v_)(e.title),1)],8,L)))),128))])]),0!==A.articles.length||A.loading?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("div",P," 暂无符合条件的文章 "))])),A.loading?((0,s.uX)(),(0,s.CE)("div",m,t[3]||(t[3]=[(0,s.Lk)("div",{class:"loading-spinner"},null,-1),(0,s.Lk)("span",null,"正在加载...",-1)]))):(0,s.Q3)("",!0),A.totalPages>1&&!A.loading?((0,s.uX)(),(0,s.CE)("div",b,[(0,s.Lk)("button",{disabled:1===A.currentPage,onClick:t[0]||(t[0]=e=>S.changePage(A.currentPage-1)),class:"pagination-btn"}," 上一页 ",8,E),(0,s.Lk)("span",w,(0,l.v_)(A.currentPage)+" / "+(0,l.v_)(A.totalPages),1),(0,s.Lk)("button",{disabled:A.currentPage===A.totalPages,onClick:t[1]||(t[1]=e=>S.changePage(A.currentPage+1)),class:"pagination-btn"}," 下一页 ",8,X)])):(0,s.Q3)("",!0)])}a(4114);var A={name:"CardList",props:{searchParams:{type:Object,default:()=>({})},mode:{type:Number,default:1},pageSize:{type:Number,default:12}},data(){return{articles:[],currentPage:1,totalPages:0,total:0,loading:!1}},watch:{searchParams:{handler(){const e=parseInt(this.$route.query.articlePage)||1;1!==e?this.$router.push({query:{...this.$route.query,articlePage:1}}):(this.currentPage=1,this.fetchArticles())},deep:!0},"$route.query.articlePage"(e){const t=parseInt(e)||1;t!==this.currentPage&&(this.currentPage=t,this.fetchArticles())}},created(){const e=parseInt(this.$route.query.articlePage)||1;this.currentPage=e},mounted(){this.fetchArticles()},methods:{async fetchArticles(){this.loading=!0;try{const e=await fetch("https://newfront.xn--xhq44jb2fzpc.com/search/general",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...this.searchParams,mode:this.mode,page:this.currentPage,pageSize:this.pageSize})});if(!e.ok)throw new Error("获取文章失败");const t=await e.json();this.articles=t.articles,this.totalPages=t.totalPages,this.total=t.total}catch(e){console.error("获取文章数据失败:",e),this.articles=[]}finally{this.loading=!1}},getSectionName(e){return 0===e?"攻略指南":"资源共享"},formatDate(e){if(!e)return"";const t=new Date(e);return t.toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit"})},changePage(e){e>=1&&e<=this.totalPages&&(this.$router.push({query:{...this.$route.query,articlePage:e}}),window.scrollTo({top:0,behavior:"smooth"}))},viewArticle(e){this.$router.push(`/article/${e}`)}}},S=a(1241);const F=(0,S.A)(A,[["render",_],["__scopeId","data-v-12ce9c3f"]]);var I=F},9690:function(e,t,a){a.r(t),a.d(t,{default:function(){return X}});var s=a(6768),l=a(4232),i=a(5130);const c={class:"resource-view"},r={class:"container"},o={class:"filters-container"},n={class:"tag-selection college-category"},g={class:"tag-header"},d={class:"tag-controls"},h={class:"tags-container"},u=["onClick"],C={key:0,class:"check-icon"},k={class:"tag-selection resource-category"},p={class:"tag-header"},y={class:"tag-controls"},v={class:"tags-container"},f=["onClick"],T={key:0,class:"check-icon"};function L(e,t,a,L,P,m){const b=(0,s.g2)("NavBar"),E=(0,s.g2)("CardList");return(0,s.uX)(),(0,s.CE)("div",c,[(0,s.bF)(b),(0,s.Lk)("div",r,[t[6]||(t[6]=(0,s.Lk)("h1",{class:"page-title"},"资源共享",-1)),t[7]||(t[7]=(0,s.Lk)("div",{class:"intro-card"},[(0,s.Lk)("p",{class:"intro-text"}," 为鼓励大家积极投稿,本站投稿者可获得东币奖励,以及专属访问密码以访问本站加密资源,感谢支持~ ")],-1)),(0,s.Lk)("div",{class:"filter-control",onClick:t[0]||(t[0]=(...e)=>m.toggleFilterPanel&&m.toggleFilterPanel(...e))},[t[3]||(t[3]=(0,s.Lk)("h2",{class:"filter-title"},"筛选",-1)),(0,s.Lk)("span",{class:(0,l.C4)(["toggle-icon",{"is-active":!P.filtersCollapsed}])},"▼",2)]),(0,s.bo)((0,s.Lk)("div",o,[(0,s.Lk)("div",n,[(0,s.Lk)("div",g,[t[4]||(t[4]=(0,s.Lk)("h2",{class:"tag-title"},"按学院筛选",-1)),(0,s.Lk)("div",d,[(0,s.Lk)("button",{class:"tag-control-btn",onClick:t[1]||(t[1]=(...e)=>m.clearCollegeTags&&m.clearCollegeTags(...e))},"清除")])]),(0,s.Lk)("div",h,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(P.collegeTags,(e=>((0,s.uX)(),(0,s.CE)("div",{key:e.id,class:(0,l.C4)(["tag-chip",{active:P.selectedCollegeTags.includes(e.id)}]),onClick:t=>m.toggleCollegeTag(e.id)},[(0,s.eW)((0,l.v_)(e.name)+" ",1),P.selectedCollegeTags.includes(e.id)?((0,s.uX)(),(0,s.CE)("span",C,"✓")):(0,s.Q3)("",!0)],10,u)))),128))])]),(0,s.Lk)("div",k,[(0,s.Lk)("div",p,[t[5]||(t[5]=(0,s.Lk)("h2",{class:"tag-title"},"按资源类别",-1)),(0,s.Lk)("div",y,[(0,s.Lk)("button",{class:"tag-control-btn",onClick:t[2]||(t[2]=(...e)=>m.clearCategoryTags&&m.clearCategoryTags(...e))},"清除")])]),(0,s.Lk)("div",v,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(P.categoryTags,(e=>((0,s.uX)(),(0,s.CE)("div",{key:e.id,class:(0,l.C4)(["tag-chip",{active:P.selectedCategoryTags.includes(e.id)}]),onClick:t=>m.toggleCategoryTag(e.id)},[(0,s.eW)((0,l.v_)(e.name)+" ",1),P.selectedCategoryTags.includes(e.id)?((0,s.uX)(),(0,s.CE)("span",T,"✓")):(0,s.Q3)("",!0)],10,f)))),128))])])],512),[[i.aG,!P.filtersCollapsed]]),(0,s.bF)(E,{searchParams:m.searchParams,mode:1,pageSize:12},null,8,["searchParams"])])])}a(4114),a(8111),a(2489);var P=a(5302),m=a(1538),b={name:"ResourceView",components:{NavBar:P.A,CardList:m.A},data(){return{filtersCollapsed:!0,selectedCollegeTags:[],selectedCategoryTags:[],collegeTags:[],categoryTags:[],loadingTags:!1,tagLoadingError:null}},created(){document.title="资源共享 - NEU小站",this.fetchSelectionTags()},computed:{searchParams(){const e={section:1},t=[...this.selectedCollegeTags,...this.selectedCategoryTags];return t.length>0&&(e.tags=t),e}},methods:{async fetchSelectionTags(){this.loadingTags=!0,this.tagLoadingError=null;try{const e="https://newfront.xn--xhq44jb2fzpc.com/search/selection-tag",t=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({area_ids:[1,2]})});if(!t.ok){const e=await t.json();throw new Error(e.message||`HTTP error! status: ${t.status}`)}const a=await t.json();this.collegeTags=a["1"]||[],this.categoryTags=a["2"]||[]}catch(e){console.error("获取筛选标签失败:",e),this.tagLoadingError="无法加载筛选标签,请稍后重试。",this.collegeTags=[],this.categoryTags=[]}finally{this.loadingTags=!1}},toggleFilterPanel(){this.filtersCollapsed=!this.filtersCollapsed},toggleCollegeTag(e){this.selectedCollegeTags.includes(e)?this.selectedCollegeTags=this.selectedCollegeTags.filter((t=>t!==e)):this.selectedCollegeTags.push(e)},toggleCategoryTag(e){this.selectedCategoryTags.includes(e)?this.selectedCategoryTags=this.selectedCategoryTags.filter((t=>t!==e)):this.selectedCategoryTags.push(e)},clearCollegeTags(){this.selectedCollegeTags=[]},clearCategoryTags(){this.selectedCategoryTags=[]}}},E=a(1241);const w=(0,E.A)(b,[["render",L],["__scopeId","data-v-6271fb15"]]);var X=w}}]);
|
|
//# sourceMappingURL=690.eb632f55.js.map
|