mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
1 line
3.3 KiB
JavaScript
1 line
3.3 KiB
JavaScript
(()=>{return(i,t)=>{const e=`<div class=category-view :class="{'new-activity-loading': newActivity.loading,'new-post-loading': newPost.loading,'rank-loading': rank.loading}"><slideshow-cards class=new-activity :cards=newActivity.videos :error=newActivity.error title=有新动态></slideshow-cards><slideshow-cards class=new-post :cards=newPost.videos :error=newPost.errors title=最新发布></slideshow-cards><div class=rank></div><div class="new-activity loading"></div><div class="new-post loading"></div><div class="rank loading"></div></div>`;t.applyStyleFromText(`.category-view{display:grid;grid-template:"new-activity rank" 1fr "new-post rank" 1fr/3fr 1fr;grid-gap:24px;gap:24px;--loading-from:#d4d4d4;--loading-to:#ddd}.category-view,.category-view *,.category-view ::after,.category-view ::before{transition:.2s ease-out}@keyframes normal-category-loading{from{background-color:var(--loading-from)}to{background-color:var(--loading-to)}}body.dark .category-view{--loading-from:#333;--loading-to:#262626}.category-view .loading{opacity:0;pointer-events:none;border-radius:16px;animation:.64s ease-in-out infinite alternate normal-category-loading;position:absolute}.category-view .loading.new-activity{height:30vh}.category-view .new-activity{grid-area:new-activity}.category-view.new-activity-loading .new-activity.loading{position:static;opacity:1;pointer-events:initial}.category-view.new-activity-loading .new-activity:not(.loading){opacity:0;pointer-events:none}.category-view .new-post{grid-area:new-post}.category-view.new-post-loading .new-post.loading{position:static;opacity:1;pointer-events:initial}.category-view.new-post-loading .new-post:not(.loading){opacity:0;pointer-events:none}.category-view .rank{grid-area:rank}.category-view.rank-loading .rank.loading{position:static;opacity:1;pointer-events:initial}.category-view.rank-loading .rank:not(.loading){opacity:0;pointer-events:none}`,"simple-home-normal-category-style");return{export:Object.assign({template:e},{components:{SlideshowCards:()=>t.importAsync("slideshow-cards.vue")},props:{rid:{type:Number,required:true}},data(){return{newActivity:{error:false,loading:true,videos:[]},newPost:{error:false,loading:true,videos:[]},rank:{error:false,loading:true,videos:[]}}},methods:{async loadSlideshowCards(i,e){try{const a=await Ajax.getJson(e);if(a.code!==0){this[i].error=true}const{getWatchlaterList:o}=await t.importAsync("watchlater-api");const n=getUID();const r=n?await o():[];const s=_.get(a,"data.archives",[]);const d=s.map(i=>{return{id:i.aid,aid:i.aid,coverUrl:i.pic,title:i.title,upName:i.owner.name,upFaceUrl:i.owner.face,upID:i.owner.mid,playCount:i.stat.view,danmakuCount:i.stat.danmaku,like:i.stat.like,coins:i.stat.coin,description:i.desc,watchlater:n?r.includes(i.aid):null}});this[i].videos=d}catch(i){logError(i)}finally{this[i].loading=false}},async loadNewActivity(){await this.loadSlideshowCards("newActivity",`https://api.bilibili.com/x/web-interface/dynamic/region?ps=10&rid=${this.rid}`)},async loadNewPost(){await this.loadSlideshowCards("newPost",`https://api.bilibili.com/x/web-interface/newlist?ps=10&rid=${this.rid}`)},async loadRank(){},updateVideos(){this.loadNewActivity();this.loadNewPost();this.loadRank()}},watch:{rid(i){if(i>0){this.updateVideos()}else{console.warn(`rid=${i}`)}}},mounted(){console.log(this.rid);this.updateVideos()}})}}})(); |