// ==UserScript== // @name B站动态首页展示所有正在直播列表 // @namespace http://tampermonkey.net/ // @version 0.2 // @description 直接在动态首页展示所有的正在直播名单,而不是默认10个 // @author tuntun // @match https://t.bilibili.com/* // @icon https://www.google.com/s2/favicons?domain=bilibili.com // @license MIT // @downloadURL none // ==/UserScript== (function () { 'use strict'; const API = { // 封装get方法 Get: async (props) => { const { url: baseUrl, params = {} } = props; let pStr = Object.keys(params).map((key) => { return `${key}=${params[key]}`; }).join('&'); let url = `${baseUrl}${pStr !== '' ? '?' : ''}${pStr}`; try { let res = await fetch(url, { credentials: "include" }); return (await res.json()).data; } catch (error) { console.error('Get Error', error); } }, // 通过关键词获取视频数据 getLiver: async (num = 0) => { try { let params = {}; if (num !== 0) { params = { size: num } } let res = await API.Get({ url: 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/w_live_users', params, }); return res; } catch (error) { console.log('getLiver', error); } }, getCard: async (mid) => { try { let res = await API.Get({ url: 'https://api.bilibili.com/x/web-interface/card', params: { mid, photo: 'true', }, }); return res; } catch (error) { console.log('getCard', error); } } } const Tool = { // 大数转万 formatBigNumber: (num) => { return num > 10000 ? `${(num / 10000).toFixed(2)}万` : num }, // 字符串转DOM s2d: (string) => { return new DOMParser().parseFromString(string, 'text/html').body .childNodes[0] }, } const getListItemTemplete = (prop) => { return `