(()=>{return(i,t)=>{if(isIframe()){return}const e=["/www.bilibili.com","/t.bilibili.com"];if(!e.some(i=>document.URL.includes(i))){return}let s={};class l{constructor(){this.html=``;this.popupHtml=``;this.flex=`0 0 auto`;this.disabled=false;this.requestedPopup=false;this.onPopup=null;this.href=null;this.notifyCount=0;this.touch=i.touchNavBar}get name(){return this.html}}class n extends l{constructor(){super();this.flex="1 0 auto";this.disabled=true}get name(){return"空白"}}class a extends l{constructor(){super();this.href=`https://www.bilibili.com/`;this.html=``;this.touch=false}get name(){return"Logo"}}class o extends l{constructor(i,t){super();this.html=i;this.href=t;this.touch=false}}class c extends l{constructor(){super();this.href="https://member.bilibili.com/v2#/upload/video/frame";this.html=`\n \n \n \n
投稿
`;this.popupHtml=`\n \n `}get name(){return"投稿"}}class r extends l{constructor(){super();this.html=`主站`;this.requestedPopup=true;this.popupHtml=`\n \n `;this.getOnlineInfo().then(i=>{new Vue({el:"#custom-navbar-home-popup",data:{info:Object.entries(i)}})})}async getOnlineInfo(){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/online");if(parseInt(i.code)!==0){throw new Error(`[自定义顶栏] 分区投稿信息获取失败: ${i.message}`)}const t=i.data.region_count;await SpinQuery.select("#custom-navbar-home-popup");return{"动画":{count:t[1],link:`https://www.bilibili.com/v/douga/`,subRegions:{"MAD·AMV":`https://www.bilibili.com/v/douga/mad/`,"MMD·3D":`https://www.bilibili.com/v/douga/mmd/`,"短片·手书·配音":`https://www.bilibili.com/v/douga/voice/`,"综合":`https://www.bilibili.com/v/douga/other/`}},"番剧":{count:t[13],link:`https://www.bilibili.com/anime/`,subRegions:{"连载动画":`https://www.bilibili.com/v/anime/serial/`,"完结动画":`https://www.bilibili.com/v/anime/finish/`,"资讯":`https://www.bilibili.com/v/anime/information/`,"官方延伸":`https://www.bilibili.com/v/anime/offical/`,"新番时间表":`https://www.bilibili.com/anime/timeline/`}},"国创":{count:t[167],link:`https://www.bilibili.com/guochuang/`,subRegions:{"国产动画":`https://www.bilibili.com/v/guochuang/chinese/`,"国产原创相关":`https://www.bilibili.com/v/guochuang/original/`,"布袋戏":`https://www.bilibili.com/v/guochuang/puppetry/`,"资讯":`https://www.bilibili.com/v/guochuang/information/`,"新番时间表":`https://www.bilibili.com/guochuang/timeline/`,"国产动画索引":`https://www.bilibili.com/guochuang/index/`}},"音乐":{count:t[3],link:`https://www.bilibili.com/v/music/`,subRegions:{"原创音乐":"https://www.bilibili.com/v/music/original/","翻唱":"https://www.bilibili.com/v/music/cover/","VOCALOID·UTAU":"https://www.bilibili.com/v/music/vocaloid/","电音":"https://www.bilibili.com/v/music/electronic/","演奏":"https://www.bilibili.com/v/music/perform/",MV:"https://www.bilibili.com/v/music/mv/","音乐现场":"https://www.bilibili.com/v/music/live/","音乐综合":"https://www.bilibili.com/v/music/other/","音频":"https://www.bilibili.com/audio/home?musicType=music"}},"舞蹈":{count:t[129],link:`https://www.bilibili.com/v/dance/`,subRegions:{"宅舞":"https://www.bilibili.com/v/dance/otaku/","三次元舞蹈":"https://www.bilibili.com/v/dance/three_d/","舞蹈教程":"https://www.bilibili.com/v/dance/demo/"}},"游戏":{count:t[4],link:`https://www.bilibili.com/v/game/`,subRegions:{"单机游戏":"https://www.bilibili.com/v/game/stand_alone/","电子竞技":"https://www.bilibili.com/v/game/esports/","手机游戏":"https://www.bilibili.com/v/game/mobile/","网络游戏":"https://www.bilibili.com/v/game/online/","桌游棋牌":"https://www.bilibili.com/v/game/board/",GMV:"https://www.bilibili.com/v/game/gmv/","音游":"https://www.bilibili.com/v/game/music/",Mugen:"https://www.bilibili.com/v/game/mugen/","游戏赛事":"https://www.bilibili.com/v/game/match/"}},"科技":{count:t[36],link:`https://www.bilibili.com/v/technology/`,subRegions:{"趣味科普人文":"https://www.bilibili.com/v/technology/fun/","野生技术协会":"https://www.bilibili.com/v/technology/wild/","演讲·公开课":"https://www.bilibili.com/v/technology/speech_course/","星海":"https://www.bilibili.com/v/technology/military/","机械":"https://www.bilibili.com/v/technology/mechanical/","汽车":"https://www.bilibili.com/v/technology/automobile/"}},"数码":{count:t[188],link:`https://www.bilibili.com/v/digital/`,subRegions:{"手机平板":"https://www.bilibili.com/v/digital/mobile/","电脑装机":"https://www.bilibili.com/v/digital/pc/","摄影摄像":"https://www.bilibili.com/v/digital/photography/","影音智能":"https://www.bilibili.com/v/digital/intelligence_av/"}},"生活":{count:t[160],link:`https://www.bilibili.com/v/life/`,subRegions:{"搞笑":"https://www.bilibili.com/v/life/funny/","日常":"https://www.bilibili.com/v/life/daily/","美食圈":"https://www.bilibili.com/v/life/food/","动物圈":"https://www.bilibili.com/v/life/animal/","手工":"https://www.bilibili.com/v/life/handmake/","绘画":"https://www.bilibili.com/v/life/painting/","运动":"https://www.bilibili.com/v/life/sports/","其他":"https://www.bilibili.com/v/life/other/"}},"鬼畜":{count:t[119],link:`https://www.bilibili.com/v/kichiku/`,subRegions:{"鬼畜调教":"https://www.bilibili.com/v/kichiku/guide/","音MAD":"https://www.bilibili.com/v/kichiku/mad/","人力VOCALOID":"https://www.bilibili.com/v/kichiku/manual_vocaloid/","教程演示":"https://www.bilibili.com/v/kichiku/course/"}},"时尚":{count:t[155],link:`https://www.bilibili.com/v/fashion/`,subRegions:{"美妆":"https://www.bilibili.com/v/fashion/makeup/","服饰":"https://www.bilibili.com/v/fashion/clothing/","健身":"https://www.bilibili.com/v/fashion/aerobics/","T台":"https://www.bilibili.com/v/fashion/catwalk/","风尚标":"https://www.bilibili.com/v/fashion/trends/"}},"广告":{count:t[165],link:`https://www.bilibili.com/v/ad/ad/`},"娱乐":{count:t[5],link:`https://www.bilibili.com/v/ent/`,subRegions:{"综艺":"https://www.bilibili.com/v/ent/variety/","明星":"https://www.bilibili.com/v/ent/star/","Korea相关":"https://www.bilibili.com/v/ent/korea/"}},"影视":{count:t[181],link:`https://www.bilibili.com/v/cinephile/`,subRegions:{"影视杂谈":"https://www.bilibili.com/v/cinephile/cinecism/","影视剪辑":"https://www.bilibili.com/v/cinephile/montage/","短片":"https://www.bilibili.com/v/cinephile/shortfilm/","预告·资讯":"https://www.bilibili.com/v/cinephile/trailer_info/","特摄":"https://www.bilibili.com/v/cinephile/tokusatsu/"}},"放映厅":{count:t[177]+t[23]+t[11],link:`https://www.bilibili.com/cinema/`,subRegions:{"纪录片":"https://www.bilibili.com/documentary/","电影":"https://www.bilibili.com/movie/","电视剧":"https://www.bilibili.com/tv/"}},"专栏":{count:``,link:`https://www.bilibili.com/read/home`},"直播":{count:``,link:`https://live.bilibili.com`,subRegions:{"全部直播":"https://live.bilibili.com/all?visit_id=5icxsa0kmts0","游戏直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=2&areaId=0&visit_id=5icxsa0kmts0#/2/0","手游直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=3&areaId=0&visit_id=5icxsa0kmts0#/3/0","娱乐直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=1&areaId=0&visit_id=5icxsa0kmts0#/1/0","电台直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=5&areaId=0&visit_id=5icxsa0kmts0#/5/0","绘画直播":"https://live.bilibili.com/p/eden/area-tags?parentAreaId=4&areaId=0&visit_id=5icxsa0kmts0#/4/0"}},"小黑屋":{count:``,link:`https://www.bilibili.com/blackroom/`},"话题":{count:``,link:`https://www.bilibili.com/blackboard/topic_list.html`},"活动":{count:``,link:`https://www.bilibili.com/blackboard/x/act_list`}}}}class b extends l{constructor(){super();this.href="https://space.bilibili.com";this.html=`\n
\n
\n
\n
\n `;this.popupHtml=`\n
\n
\n {{uname}}\n
\n LV{{level_info.current_level}}\n {{userType}}\n
\n
\n
\n {{level_info.current_exp}} / {{level_info.next_exp}}\n
\n \n \n \n \n
\n
\n \n \n
\n
\n `;this.requestedPopup=true;this.init()}async init(){const i=await SpinQuery.select(".user-info-panel");new Vue({el:i,data:{...s},computed:{userType(){if(!this.isLogin){return"未登录"}if(this.level_info.current_level===0){return"注册会员"}if(this.vipStatus===1){if(this.vipType===1){return this.vip_theme_type?"小会员":"大会员"}else if(this.vipType===2){return this.vip_theme_type?"年度小会员":"年度大会员"}}return"正式会员"},levelProgressStyle(){const i=(this.level_info.next_exp-this.level_info.current_exp)/(this.level_info.next_exp-this.level_info.current_min);return{transform:`scaleX(${i})`}}}});const t=await SpinQuery.select(".user-face");if(s.isLogin){const i=await SpinQuery.select(".user-pendant");t.style.backgroundImage=`url('${s.face}')`;if(s.pendant.image){i.style.backgroundImage=`url('${s.pendant.image}')`}}else{t.style.backgroundImage=`url('https://static.hdslb.com/images/akari.jpg')`}}get name(){return"用户信息"}}class p extends l{constructor(){super();this.disabled=true;this.html=`\n \n `;this.init()}async init(){const t=await SpinQuery.select("#custom-navbar-search");const e=t.querySelector("input[name='keyword']");t.addEventListener("submit",s=>{if(e.value===""){if(!i.hideTopSearch){t.querySelector(".recommended-target").click()}s.preventDefault();return false}return true});if(!i.hideTopSearch){const i=await Ajax.getJson("https://api.bilibili.com/x/web-interface/search/default");if(i.code===0){e.setAttribute("placeholder",i.data.show_name);if(i.data.name.startsWith("av")){t.querySelector(".recommended-target").setAttribute("href",`https://www.bilibili.com/${i.data.name}`)}else{t.querySelector(".recommended-target").setAttribute("href",`https://search.bilibili.com/all?keyword=${i.data.name}`)}}else{console.error("[自定义顶栏] 获取搜索推荐词失败")}}}get name(){return"搜索"}}class m extends l{constructor(i,t,{src:e,width:s,height:l,lazy:n}){super();this.html=i;this.href=t;this.popupHtml=`\n \n `;this.noPadding=true;this.requestedPopup=n?false:true;this.touch=false}}class h extends m{constructor(...t){super(...t);this.touch=i.touchNavBar;this.getNotifyCount()}getApiUrl(){return null}getCount(i){return 0}async getNotifyCount(){const i=await SpinQuery.select(`.custom-navbar li[data-name='${this.name}'] .notify-count`);const t=await Ajax.getJsonWithCredentials(this.getApiUrl());const e=this.getCount(t);if(t.code===0&&e!==0){i.innerHTML=e;this.onPopup=(()=>{i.innerHTML=""})}}}class w extends h{constructor(){super("动态","https://t.bilibili.com/",{src:`https://t.bilibili.com/pages/nav/index`,width:`380px`,height:`422px`,lazy:true})}getApiUrl(){const i=document.cookie.replace(new RegExp(`(?:(?:^|.*;\\s*)bp_t_offset_${s.mid}\\s*\\=\\s*([^;]*).*$)|^.*$`),"$1");return`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_num?rsp_type=1&uid=${s.mid}&update_num_dy_id=${i}&type_list=8,512,64`}getCount(i){return i.data.update_num}}class u extends h{constructor(){super("消息","https://message.bilibili.com/",{src:`https://message.bilibili.com/pages/nav/index`,width:`110px`,height:`210px`,lazy:false})}getApiUrl(){return"https://message.bilibili.com/api/notify/query.notify.count.do"}getCount(i){return Object.values(i.data).reduce((i,t)=>i+t,0)}}class d extends l{constructor({mainUrl:i,name:t,apiUrl:e,listName:s,listMap:l}){super();this.href=i;this.html=t;this.requestedPopup=false;this.popupHtml=`\n
    \n
  1. 加载中...
  2. \n
\n `;this.onPopup=(async()=>{if(!l){return}const n=await SpinQuery.select(`.video-list.${s}`);if(n===null){return}const a=await Ajax.getJsonWithCredentials(e);if(a.code!==0){logError(`加载${t}信息失败. 错误码: ${a.code} ${a.message}`);return}const o=l(a).join("");n.insertAdjacentHTML("beforeend",o+`\n
  • 查看更多
  • \n `);n.classList.add("loaded")})}}class v extends d{constructor(){super({name:"稍后再看",mainUrl:"https://www.bilibili.com/watchlater/#/list",apiUrl:"https://api.bilibili.com/x/v2/history/toview/web",listName:"watchlater",listMap:t=>{return t.data.list.slice(0,6).map(t=>{const e=t.pages.map(i=>i.cid);const s=t.cid===0?1:e.indexOf(t.cid)+1;const l=i.watchLaterRedirect?`https://www.bilibili.com/video/av${t.aid}?p=${s}`:`https://www.bilibili.com/watchlater/#/av${t.aid}/p${s}`;return`
  • \n ${t.title}\n
  • `})}})}}class g extends d{constructor(){super({name:"收藏",mainUrl:`https://space.bilibili.com/${s.mid}/favlist`,apiUrl:"https://api.bilibili.com/medialist/gateway/coll/resource/recent",listName:"favorites",listMap:i=>{return i.data.map(i=>{return`
  • \n ${i.title}\n
  • `})}})}}class f extends d{constructor(){super({name:"历史",mainUrl:"https://www.bilibili.com/account/history",apiUrl:"https://api.bilibili.com/x/v2/history?pn=1&ps=6",listName:"history",listMap:i=>{return i.data.map(i=>{let t=[];let e="";const s=i.page.page;const l=i.progress>=0?i.progress/i.duration:1;if(s!==1){t.push(`p=${s}`);e+=`看到第${s}话`}if(i.progress>0&&i.progress\n \n ${i.title}\n ${e}\n
    \n
    \n `})}})}}(async()=>{const e=await t.importAsync("customNavbarHtml");const l=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/web-interface/nav");s=l.data;document.body.insertAdjacentHTML("beforeend",e);const h=document.querySelector(".custom-navbar");for(const[t,e]of Object.entries(i.customNavbarSettings)){if(e===true){h.classList.add(t)}}if(i.useDarkStyle){h.classList.add("dark")}const d=[new a,new r,new o("排行","https://www.bilibili.com/ranking"),new o("画友","https://h.bilibili.com"),new o("音频","https://www.bilibili.com/audio/home/?type=10"),new m("游戏中心","https://game.bilibili.com/",{src:`https://www.bilibili.com/page-proxy/game-nav.html`,width:`680px`,height:`260px`,lazy:true}),new m("直播","https://live.bilibili.com",{src:`https://live.bilibili.com/blackboard/dropdown-menu.html`,width:`528px`,height:`266px`,lazy:true}),new o("会员购","https://show.bilibili.com/platform/home.html?msource=pc_web"),new o("漫画","https://manga.bilibili.com"),new n,new p,new b];if(s.isLogin){d.push(new u,new w,new v,new g,new f)}d.push(new c);new Vue({el:h,data:{components:d},methods:{requestPopup(i){if(!i.requestedPopup){this.$set(i,`requestedPopup`,true);i.onPopup&&i.onPopup()}}}})})()}})();