您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
帮助dd提高直播观看体验
// ==UserScript== // @name Acfun直播监控 // @namespace http://tampermonkey.net/ // @version 1.3.6 // @description 帮助dd提高直播观看体验 // @author 星雨漂流 // @match https://live.acfun.cn/* // @require https://cdn.jsdelivr.net/npm/vue/dist/vue.js // @grant none // ==/UserScript== /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 5); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; const muteIcon = '<svg t="1598882004538" class="icon" viewBox="0 0 1412 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2582" width="16" height="16"><path d="M1139.903986 627.775992C1147.519986 593.087993 1151.999986 554.559993 1151.999986 511.999994c0-278.399997-191.999998-383.999995-191.999998-383.999995l0 78.335999c0 0 127.999998 83.263999 127.999998 305.663996 0 28.48-2.112 54.591999-5.76 78.527999L1139.903986 627.775992z" p-id="2583" fill="#ffffff"></path><path d="M959.999988 511.487994 959.999988 511.487994C959.743988 271.487997 767.999991 191.999998 767.999991 191.999998l0 71.103999c0 0 108.671999 46.079999 125.759998 205.567998L959.999988 511.487994z" p-id="2584" fill="#ffffff"></path><path d="M1311.871984 738.943991C1331.071984 679.103992 1343.999984 604.415993 1343.999984 511.999994c0-355.903996-191.999998-447.999995-191.999998-447.999995l0 83.071999c0 0 127.999998 70.655999 127.999998 364.927996 0 79.103999-9.28 142.015998-22.784 191.615998L1311.871984 738.943991z" p-id="2585" fill="#ffffff"></path><path d="M125.567998 115.327999 1376.895983 939.263989 1411.839983 885.631989 160.511998 61.695999Z" p-id="2586" fill="#ffffff"></path><path d="M428.479995 167.935998 703.999991 346.047996 703.999991 0Z" p-id="2587" fill="#ffffff"></path><path d="M1151.999986 959.999988c0 0 29.76-14.272 65.791999-53.247999l-57.215999-36.992C1155.199986 873.791989 1151.999986 875.519989 1151.999986 875.519989L1151.999986 959.999988z" p-id="2588" fill="#ffffff"></path><path d="M0 375.487995l0 273.087997c0 0 0 68.287999 66.687999 68.287999l133.311998 0L703.999991 1023.999988 703.999991 574.655993 246.399997 278.911997 199.999998 307.199996 66.687999 307.199996C0 307.199996 0 375.487995 0 375.487995z" p-id="2589" fill="#ffffff"></path><path d="M767.999991 760.895991 767.999991 831.99999c0 0 82.687999-34.304 139.519998-125.759998l-50.495999-32.64C819.39199 739.071991 767.999991 760.895991 767.999991 760.895991z" p-id="2590" fill="#ffffff"></path><path d="M959.999988 814.97599 959.999988 895.999989c0 0 50.175999-27.584 99.199999-91.775999l-52.479999-33.92C981.439988 801.47199 959.999988 814.97599 959.999988 814.97599z" p-id="2591" fill="#ffffff"></path></svg>' const stopIcon = '<svg t="1598882074622" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7289" width="32" height="32"><path d="M243.611344 62.597687l535.403013 0c98.565876 0 178.464601 80.265068 178.464601 179.283246l0 537.849738c0 99.008968-79.898725 179.283246-178.464601 179.283246L243.611344 959.013917c-98.556667 0-178.455391-80.274278-178.455391-179.283246l0-537.849738C65.155952 142.862755 145.054677 62.597687 243.611344 62.597687z" p-id="7290" fill="#ffffff"></path></svg>' const playIcon = '<svg t="1599447275987" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1166" width="16" height="16"><path d="M872.944099 489.73913l-3.498136-2.544099L196.531677 10.176398 185.401242 2.544099A31.801242 31.801242 0 0 0 173.31677 0a31.801242 31.801242 0 0 0-31.801242 31.801242v960.397516a31.801242 31.801242 0 0 0 31.801242 31.801242 31.801242 31.801242 0 0 0 12.084472-2.544099l11.130435-7.632299 673.232298-477.018633 3.180124-2.544099a31.801242 31.801242 0 0 0 0-44.52174z" p-id="1167" fill="#ffffff"></path></svg>' const specialGridIcon = '<svg t="1599447397588" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2057" width="16" height="16"><path d="M638 624.03125H92v-443.4375c0-31.03125 25.21875-56.25 56.25-56.25h489.75v499.6875zM929.1875 348.3125H680V124.34375H875.75c31.03125 0 56.25 25.21875 56.25 56.25v164.90625c0 1.59375-1.21875 2.8125-2.8125 2.8125zM929.1875 624.03125H680v-224.0625H929.1875c1.59375 0 2.8125 1.21875 2.8125 2.8125v218.34375c0 1.59375-1.21875 2.90625-2.8125 2.90625zM875.75 899.65625H680V675.6875H932v167.71875c0 31.125-25.21875 56.25-56.25 56.25zM344 899.65625H148.25c-31.03125 0-56.25-25.21875-56.25-56.25V675.6875h252v223.96875zM386 675.6875h252v223.96875H386z" p-id="2058" fill="#ffffff"></path></svg>' const grid4Icon = '<svg t="1599447454614" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3109" width="16" height="16"><path d="M647.529412 575.247059a60.235294 60.235294 0 0 0-60.235294 60.235294v210.823529a60.235294 60.235294 0 0 0 60.235294 60.235294h210.823529a60.235294 60.235294 0 0 0 60.235294-60.235294v-210.823529a60.235294 60.235294 0 0 0-60.235294-60.235294h-210.823529z m0-60.235294h210.823529a120.470588 120.470588 0 0 1 120.470588 120.470588v210.823529a120.470588 120.470588 0 0 1-120.470588 120.470589h-210.823529a120.470588 120.470588 0 0 1-120.470588-120.470589v-210.823529a120.470588 120.470588 0 0 1 120.470588-120.470588zM135.529412 575.247059a60.235294 60.235294 0 0 0-60.235294 60.235294v210.823529a60.235294 60.235294 0 0 0 60.235294 60.235294h210.823529a60.235294 60.235294 0 0 0 60.235294-60.235294v-210.823529a60.235294 60.235294 0 0 0-60.235294-60.235294h-210.823529z m0-60.235294h210.823529a120.470588 120.470588 0 0 1 120.470588 120.470588v210.823529a120.470588 120.470588 0 0 1-120.470588 120.470589h-210.823529a120.470588 120.470588 0 0 1-120.470588-120.470589v-210.823529a120.470588 120.470588 0 0 1 120.470588-120.470588zM647.529412 63.247059a60.235294 60.235294 0 0 0-60.235294 60.235294v210.823529a60.235294 60.235294 0 0 0 60.235294 60.235294h210.823529a60.235294 60.235294 0 0 0 60.235294-60.235294v-210.823529a60.235294 60.235294 0 0 0-60.235294-60.235294h-210.823529z m0-60.235294h210.823529a120.470588 120.470588 0 0 1 120.470588 120.470588v210.823529a120.470588 120.470588 0 0 1-120.470588 120.470589h-210.823529a120.470588 120.470588 0 0 1-120.470588-120.470589v-210.823529a120.470588 120.470588 0 0 1 120.470588-120.470588zM135.529412 63.247059a60.235294 60.235294 0 0 0-60.235294 60.235294v210.823529a60.235294 60.235294 0 0 0 60.235294 60.235294h210.823529a60.235294 60.235294 0 0 0 60.235294-60.235294v-210.823529a60.235294 60.235294 0 0 0-60.235294-60.235294h-210.823529z m0-60.235294h210.823529a120.470588 120.470588 0 0 1 120.470588 120.470588v210.823529a120.470588 120.470588 0 0 1-120.470588 120.470589h-210.823529a120.470588 120.470588 0 0 1-120.470588-120.470589v-210.823529a120.470588 120.470588 0 0 1 120.470588-120.470588z" fill="#ffffff" p-id="3110"></path></svg>' const grid9Icon = '<svg t="1599447500968" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3937" width="16" height="16"><path d="M1024 80.418V0H0v1024h1024V639.107l-0.001-254.215h0.001V324.58h-0.001L1024 80.418z m-384.893 0v244.163H384.892V80.418h254.215z m0 304.474v254.215H384.892V384.892h254.215zM80.418 80.418H324.58v244.163H80.418V80.418z m0 304.474H324.58v254.215H80.418V384.892z m0 558.69V699.42H324.58v244.162H80.418z m304.474 0V699.42h254.216v244.162H384.892z m558.69 0H699.419V699.42h244.163v244.162z m0-304.475H699.419V384.892h244.162l0.001 254.215z m-0.001-314.526H699.419V80.418h244.162v244.163z" p-id="3938" fill="#ffffff"></path></svg>' const grid16Icon = '<svg t="1599447728897" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4994" width="16" height="16"><path d="M512.001535 61.372789c-248.877277 0-450.629257 201.727421-450.629257 450.625164 0 248.868067 201.75198 450.630281 450.629257 450.630281 248.873184 0 450.625164-201.762213 450.625164-450.630281C962.621583 263.095094 760.874719 61.372789 512.001535 61.372789L512.001535 61.372789zM512.001535 926.574087c-228.965785 0-414.576133-185.631838-414.576133-414.574087 0-228.970902 185.610348-414.574087 414.576133-414.574087 228.961692 0 414.569994 185.603185 414.569994 414.574087C926.571529 740.942249 740.963227 926.574087 512.001535 926.574087L512.001535 926.574087zM489.511311 326.023308M284.046776 667.923212l82.226746 0L366.273523 372.402615 302.984081 372.402615l0-19.435655c29.402657-4.983501 51.828412-12.957103 69.270666-22.924105l23.422456 0 0 337.88138 75.748195 0 0 25.415856L284.046776 693.340091 284.046776 667.923212zM724.582141 377.385093c-15.448854-18.937305-36.877909-28.904307-59.303664-28.904307-54.81749 0-101.164051 43.35646-102.659101 168.441317 23.920806-29.402657 55.815213-47.343261 87.709621-47.343261 61.795415 0 98.673323 39.369659 98.673323 114.122177 0 68.273966-45.349861 116.115578-98.174973 116.115578-70.266343 0-116.612904-62.293765-116.612904-177.910992 0-146.514935 62.293765-198.343347 130.567731-198.343347 33.886785 0 58.306964 13.953803 77.243245 34.884508L724.582141 377.385093zM720.09699 583.702042c0-52.825113-21.927405-90.699722-73.755818-90.699722-23.920806 0-55.316863 13.953803-83.22447 51.828412 4.486174 79.736019 32.892131 130.567731 88.207971 130.567731C690.694333 675.398464 720.09699 636.527155 720.09699 583.702042z" p-id="4995" fill="#ffffff"></path></svg>' const nightIcon = '<svg t="1599447874011" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5942" width="16" height="16"><path d="M216.615385 464.738462m-98.461539 0a98.461538 98.461538 0 1 0 196.923077 0 98.461538 98.461538 0 1 0-196.923077 0Z" fill="#ffffff" p-id="5943"></path><path d="M485.218462 705.772308m-59.076924 0a59.076923 59.076923 0 1 0 118.153847 0 59.076923 59.076923 0 1 0-118.153847 0Z" fill="#ffffff" p-id="5944"></path><path d="M787.692308 386.756923c32.295385 0 59.076923 26.781538 59.076923 59.076923 0-32.295385 26.781538-59.076923 59.076923-59.076923-32.295385 0-59.076923-26.781538-59.076923-59.076923 0 32.295385-25.993846 59.076923-59.076923 59.076923z" fill="#ffffff" p-id="5945"></path><path d="M846.769231 461.587692c-8.664615 0-15.753846-7.089231-15.753846-15.753846 0-23.630769-19.692308-43.323077-43.323077-43.323077-8.664615 0-15.753846-7.089231-15.753846-15.753846s7.089231-15.753846 15.753846-15.753846c23.630769 0 43.323077-19.692308 43.323077-43.323077 0-8.664615 7.089231-15.753846 15.753846-15.753846s15.753846 7.089231 15.753846 15.753846c0 23.630769 19.692308 43.323077 43.323077 43.323077 8.664615 0 15.753846 7.089231 15.753846 15.753846s-7.089231 15.753846-15.753846 15.753846c-23.630769 0-43.323077 19.692308-43.323077 43.323077 0 8.664615-7.089231 15.753846-15.753846 15.753846z m-13.390769-74.830769c4.726154 3.938462 9.452308 7.876923 13.390769 13.390769 3.938462-4.726154 7.876923-9.452308 13.390769-13.390769-4.726154-3.938462-9.452308-7.876923-13.390769-13.390769-3.938462 4.726154-7.876923 9.452308-13.390769 13.390769zM567.138462 236.307692c65.378462 0 118.153846 52.775385 118.153846 118.153846 0-65.378462 52.775385-118.153846 118.153846-118.153846-65.378462 0-118.153846-52.775385-118.153846-118.153846 0 65.378462-52.775385 118.153846-118.153846 118.153846z" fill="#ffffff" p-id="5946"></path><path d="M685.292308 370.215385c-8.664615 0-15.753846-7.089231-15.753846-15.753847 0-56.713846-45.686154-102.4-102.4-102.4-8.664615 0-15.753846-7.089231-15.753847-15.753846s7.089231-15.753846 15.753847-15.753846c56.713846 0 102.4-45.686154 102.4-102.4 0-8.664615 7.089231-15.753846 15.753846-15.753846s15.753846 7.089231 15.753846 15.753846c0 56.713846 45.686154 102.4 102.4 102.4 8.664615 0 15.753846 7.089231 15.753846 15.753846s-7.089231 15.753846-15.753846 15.753846c-56.713846 0-102.4 45.686154-102.4 102.4 0 8.664615-7.089231 15.753846-15.753846 15.753847z m-55.138462-133.907693c23.630769 12.603077 42.535385 31.507692 55.138462 55.138462 12.603077-23.630769 31.507692-42.535385 55.138461-55.138462-23.630769-12.603077-42.535385-31.507692-55.138461-55.138461-12.603077 23.630769-31.507692 42.535385-55.138462 55.138461z" fill="#ffffff" p-id="5947"></path><path d="M512 937.353846c-234.732308 0-425.353846-190.621538-425.353846-425.353846 0-233.944615 189.833846-424.566154 423.778461-425.353846 11.027692 0 21.267692 6.301538 26.781539 15.753846 5.513846 9.452308 5.513846 21.267692 0 31.507692-22.055385 39.384615-33.870769 83.495385-33.870769 129.181539 0 145.723077 118.153846 263.876923 263.876923 263.876923 43.323077 0 84.283077-10.24 122.88-30.72 10.24-5.513846 22.055385-4.726154 31.507692 0.787692 9.452308 6.301538 14.966154 16.541538 14.966154 27.569231-3.150769 111.064615-48.836923 214.252308-128.393846 292.233846C728.615385 894.818462 623.852308 937.353846 512 937.353846z m-51.987692-783.753846C285.144615 178.806154 149.661538 330.043077 149.661538 512c0 200.073846 162.264615 362.338462 362.338462 362.338462 179.593846 0 328.467692-128.393846 356.824615-300.898462-32.295385 10.24-66.953846 15.753846-100.824615 15.753846C587.618462 589.193846 441.107692 442.683077 441.107692 262.301538c0-37.021538 6.301538-74.043077 18.904616-108.701538z" fill="#ffffff" p-id="5948"></path></svg>' const delIcon = '<svg t="1599553161875" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2471" width="16" height="16"><path d="M512 128m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="#bfbfbf" p-id="2472"></path><path d="M896 288H128a32 32 0 0 1 0-64h768a32 32 0 0 1 0 64zM800 960h-576a32 32 0 0 1-32-32v-576a32 32 0 0 1 64 0V896h512V352a32 32 0 0 1 64 0v576a32 32 0 0 1-32 32z" fill="#bfbfbf" p-id="2473"></path><path d="M416 960a32 32 0 0 1-32-32V448a32 32 0 0 1 64 0v480a32 32 0 0 1-32 32zM608 960a32 32 0 0 1-32-32V448a32 32 0 0 1 64 0v480a32 32 0 0 1-32 32z" fill="#bfbfbf" p-id="2474"></path></svg>' const likeIcon = '<svg t="1599556200537" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3625" width="22" height="22"><path d="M856.96 543.296L526.944 870.24a32 32 0 0 1-45.184-0.128L153.408 541.248l-0.064 0.064C102.72 474.432 96 434.528 96 374.72 96 238.464 207.744 128 345.6 128c64.16 0 122.208 23.936 165.92 63.232A250.304 250.304 0 0 1 678.4 128c137.856 0 249.6 110.464 249.6 246.72 0 67.296-26.944 124.16-71.072 168.544z m-52.192-48.128c34.144-33.76 51.904-74.08 51.904-120.416 0-97.344-79.808-176.256-178.272-176.256a178.528 178.528 0 0 0-121.504 47.264 245.6 245.6 0 0 1 35.744 113.504s-69.44 0-69.44-0.064c-7.968-90.176-84.448-161.792-177.6-161.792-98.464 0-180.224 80-180.224 177.344 0 54.688 4.192 71.232 40 118.592l299.52 299.04 299.904-297.216z" fill="#ffffff" p-id="3626"></path></svg>' const dragIcon = '<svg t="1609575108162" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2838" width="32" height="32"><path d="M634.311111 0c-34.133333 0-59.733333 25.6-59.733333 59.733333s28.444444 59.733333 59.733333 59.733334c34.133333 0 59.733333-25.6 59.733333-59.733334 2.844444-34.133333-25.6-59.733333-59.733333-59.733333z m0 301.511111c-34.133333 0-59.733333 25.6-59.733333 59.733333s28.444444 59.733333 59.733333 59.733334c34.133333 0 59.733333-25.6 59.733333-59.733334 2.844444-34.133333-25.6-59.733333-59.733333-59.733333z m0 301.511111c-34.133333 0-59.733333 25.6-59.733333 59.733334s28.444444 59.733333 59.733333 59.733333c34.133333 0 59.733333-25.6 59.733333-59.733333 2.844444-34.133333-25.6-59.733333-59.733333-59.733334-31.288889 0 0 0 0 0z m0 301.511111c-34.133333 0-59.733333 25.6-59.733333 59.733334 0 34.133333 28.444444 59.733333 59.733333 59.733333 34.133333 0 59.733333-25.6 59.733333-59.733333 2.844444-34.133333-25.6-59.733333-59.733333-59.733334-31.288889 0 0 0 0 0zM372.622222 0C341.333333 0 312.888889 25.6 312.888889 59.733333s28.444444 59.733333 59.733333 59.733334c34.133333 0 59.733333-25.6 59.733334-59.733334 2.844444-34.133333-25.6-59.733333-59.733334-59.733333z m0 301.511111c-34.133333 0-59.733333 25.6-59.733333 59.733333s28.444444 59.733333 59.733333 59.733334c34.133333 0 59.733333-25.6 59.733334-59.733334 2.844444-34.133333-25.6-59.733333-59.733334-59.733333z m0 301.511111c-34.133333 0-59.733333 25.6-59.733333 59.733334s28.444444 59.733333 59.733333 59.733333c34.133333 0 59.733333-25.6 59.733334-59.733333 2.844444-34.133333-25.6-59.733333-59.733334-59.733334z m0 301.511111c-34.133333 0-59.733333 25.6-59.733333 59.733334 0 34.133333 28.444444 59.733333 59.733333 59.733333 34.133333 0 59.733333-25.6 59.733334-59.733333 2.844444-34.133333-25.6-59.733333-59.733334-59.733334z" fill="#ffffff" p-id="2839"></path></svg>' const volumeIcon = '<svg t="1610871075874" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3222" width="200" height="200"><path d="M591.8 326.8l-300.2-38.9c-10.7-1.4-20.6 5.7-22.9 16.2l-65.3 313.4c-10.8 27.9-19.9 31.3-51.2 31.4l-11.9-2.4c-24-4.8-38.7-25.5-34.2-48.1s26.1-36 50.1-31.2l13.9 2.8c2.8 0.6 5.5 1.4 8.2 2.4 10.6 4.1 22.6-1.2 26.7-11.8 4.1-10.6-1.2-22.6-11.8-26.7-4.9-1.9-9.9-3.3-15-4.4l-13.9-2.8c-46.2-9.3-89.6 18.6-98.6 63.5s20.3 87.3 66.6 96.6l13.9 2.8c1.6 0.3 3.1 0.4 4.9 0.4 44.8 0 72.7-9.6 91.5-59.5 0.1-0.1 0.1-0.3 0.1-0.4 0.1-0.4 0.3-0.8 0.4-1.2 0.1-0.3 0.2-0.6 0.2-0.8 0.1-0.2 0.1-0.4 0.2-0.6l61.7-296.3 259.4 33.7-55.8 284.4v0.1l-1.9 9.9c-5.9 29.5-41.8 31-51.8 30.8l-12.2-2.4c-24-4.8-38.7-25.5-34.2-48.1s26.2-36 50.1-31.2l13.9 2.8c1.9 0.4 3.8 0.9 5.7 1.5 10.9 3.5 22.5-2.5 26-13.3s-2.5-22.5-13.3-26c-3.3-1.1-6.8-2-10.2-2.7l-13.9-2.8c-46.3-9.3-89.6 18.6-98.6 63.5s20.3 87.3 66.6 96.6l13.9 2.8c1.1 0.2 2.1 0.3 3.2 0.4 1.9 0.1 3.7 0.1 5.6 0.1 47 0 81.9-24.7 89.9-64v-0.1l62-316.1c1.1-5.6-0.2-11.4-3.5-16-3.5-4.5-8.6-7.6-14.3-8.3zM845 238.2c-8.1-8.1-21.1-8.1-29.2 0-8.1 8-8.1 21.1 0 29.2 66.6 66.6 103.3 155.3 103.3 249.8S882.4 700.4 815.8 767c-8.1 8-8.1 21.1 0 29.2 4 4 9.3 6 14.6 6s10.6-2 14.6-6c74.4-74.4 115.4-173.4 115.4-278.9 0-105.7-41-204.7-115.4-279.1z" fill="#333333" p-id="3223"></path><path d="M767 316.2c-8.1-8.1-21.1-8.1-29.2 0-8.1 8-8.1 21.1 0 29.2 94.7 94.7 94.7 248.8 0 343.5-8.1 8.1-8.1 21.1 0 29.2 4 4 9.3 6 14.6 6 5.3 0 10.6-2 14.6-6 110.7-110.9 110.7-291.1 0-401.9z" fill="#333333" p-id="3224"></path><path d="M688.9 394.3c-8.1-8.1-21.1-8.1-29.2 0-8.1 8.1-8.1 21.1 0 29.2 25 25 38.8 58.3 38.8 93.7s-13.8 68.7-38.8 93.7c-8.1 8-8.1 21.1 0 29.2 4 4 9.3 6 14.6 6s10.6-2 14.6-6c32.8-32.8 50.9-76.4 50.9-122.9s-18.1-90.1-50.9-122.9z" fill="#333333" p-id="3225"></path></svg>' const closeIcon ='<svg t="1610872082592" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4824" width="200" height="200"><path d="M511.035 64.015c-246.685 0-447.687 200.651-447.687 447.336 0 246.684 200.65 447.686 447.687 447.686 101.906 0 201.704-35.14 281.121-99.096 5.272-4.216 6.325-12.298 1.757-17.57-4.216-5.271-12.3-6.325-17.57-1.756-74.848 60.44-169.024 93.472-264.957 93.472C278.407 934.087 89 744.682 89 511.701 89 278.722 278.055 88.965 511.034 88.965S933.42 278.721 933.42 511.35c0 100.501-35.843 197.839-101.203 274.093-4.569 5.271-3.866 13.353 1.405 17.922 5.272 4.568 13.354 3.865 17.922-1.406 69.226-80.823 107.178-184.135 107.178-290.609-0.001-246.685-201.003-447.335-447.687-447.335z" p-id="4825" fill="#707070"></path><path d="M704.306 319.836c-4.919-4.92-13.001-4.92-17.922 0L505.412 500.808 324.44 319.836c-4.919-4.92-13.001-4.92-17.922 0-4.919 4.919-4.919 13.001 0 17.922L487.49 518.73 306.519 699.701c-4.919 4.919-4.919 13.001 0 17.922 2.46 2.459 5.623 3.865 8.785 3.865 3.163 0 6.326-1.406 8.785-3.865l180.972-180.972 180.972 180.972c2.46 2.459 5.623 3.865 8.785 3.865 3.163 0 6.326-1.406 8.785-3.865 4.92-4.92 4.92-13.002 0-17.922L522.631 518.729l180.972-180.972c5.623-5.271 5.623-13.002 0.703-17.921z" p-id="4826" fill="#707070"></path></svg>' const position = '<svg t="1611154196797" class="icon" viewBox="0 0 1069 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2586" width="200" height="200"><path d="M518.649351 861.755844s316.509091-271.293506 316.509091-553.225974C832.498701 138.306494 691.532468 0 518.649351 0S202.14026 138.306494 202.14026 308.52987c0 292.571429 316.509091 553.225974 316.509091 553.225974zM345.766234 316.509091c0-95.750649 77.132468-172.883117 172.883117-172.883117S691.532468 220.758442 691.532468 316.509091s-77.132468 172.883117-172.883117 172.883117-172.883117-79.792208-172.883117-172.883117z" fill="#ffffff" p-id="2587"></path><path d="M768.664935 694.192208c-21.277922 26.597403-39.896104 53.194805-61.174026 74.472727 220.758442 13.298701 268.633766 58.514286 279.272727 82.451948-10.638961 26.597403-159.584416 90.431169-454.815584 90.431169-295.231169 2.65974-444.176623-63.833766-452.155844-87.771429 7.979221-21.277922 42.555844-63.833766 244.696104-79.792207-18.618182-21.277922-39.896104-47.875325-61.174026-74.472728C98.41039 718.12987 0 758.025974 0 851.116883c0 135.646753 335.127273 170.223377 534.607792 170.223377 199.480519 0 534.607792-37.236364 534.607792-170.223377 0-98.41039-122.348052-140.966234-300.550649-156.924675z" fill="#ffffff" p-id="2588"></path></svg>' const icons = { mute: muteIcon, stop: stopIcon, play: playIcon, specialGrid: specialGridIcon, grid4: grid4Icon, grid9: grid9Icon, grid16: grid16Icon, night: nightIcon, del: delIcon, like: likeIcon, drag: dragIcon, volume: volumeIcon, close: closeIcon, position: position } /* harmony default export */ __webpack_exports__["a"] = (icons); /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ // css base code, injected by the css-loader // eslint-disable-next-line func-names module.exports = function (useSourceMap) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { var content = cssWithMappingToString(item, useSourceMap); if (item[2]) { return "@media ".concat(item[2], " {").concat(content, "}"); } return content; }).join(''); }; // import a list of modules into the list // eslint-disable-next-line func-names list.i = function (modules, mediaQuery, dedupe) { if (typeof modules === 'string') { // eslint-disable-next-line no-param-reassign modules = [[null, modules, '']]; } var alreadyImportedModules = {}; if (dedupe) { for (var i = 0; i < this.length; i++) { // eslint-disable-next-line prefer-destructuring var id = this[i][0]; if (id != null) { alreadyImportedModules[id] = true; } } } for (var _i = 0; _i < modules.length; _i++) { var item = [].concat(modules[_i]); if (dedupe && alreadyImportedModules[item[0]]) { // eslint-disable-next-line no-continue continue; } if (mediaQuery) { if (!item[2]) { item[2] = mediaQuery; } else { item[2] = "".concat(mediaQuery, " and ").concat(item[2]); } } list.push(item); } }; return list; }; function cssWithMappingToString(item, useSourceMap) { var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring var cssMapping = item[3]; if (!cssMapping) { return content; } if (useSourceMap && typeof btoa === 'function') { var sourceMapping = toComment(cssMapping); var sourceURLs = cssMapping.sources.map(function (source) { return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */"); }); return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); } return [content].join('\n'); } // Adapted from convert-source-map (MIT) function toComment(sourceMap) { // eslint-disable-next-line no-undef var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64); return "/*# ".concat(data, " */"); } /***/ }), /* 2 */ /***/ (function(module, exports) { // Module var code = "<section v-show=\"showContent\" @mouseleave=\"showContent=false\"> <div class=\"sound_close\" @click=\"close\">关闭</div> <div class=\"edit\" @click=\"editing=true\" v-show=\"!editing\">编辑</div> <div class=\"edit\" @click=\"save\" v-show=\"editing\">保存</div> <input class=\"nickname\" v-show=\"editing\" placeholder=\"输入主播昵称\" @input=\"changeNickname\" v-model=\"nickname\"/> <span v-show=\"!editing\" class=\"nickname_span\">{{nickname}}</span> <div class=\"list_container\"> <div v-for=\"(item, index) in list\"> <span @click=\"appendContent(index)\">{{item}}</span> <span @click.stop=\"del(index)\" v-show=\"editing\">X</span> </div> </div> <div class=\"add_danmu_bottom\"> <input v-model=\"content\" placeholder=\"输入弹幕\" @keyup.enter=\"addContent\" v-show=\"editing\" class=\"input_content\"/> <button @click=\"addContent\" v-show=\"editing\">添加</button> </div> </section> <span @click=\"openContent\" class=\"sound_button\">弹</span> "; // Exports module.exports = code; /***/ }), /* 3 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; const audioStr = 'data:audio/wav;base64,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YnCCKhOM1EcX88zCJJVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tUZOkP8kEmRgHpGvAAAA0gAAABChCzFAeka8AAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tUZOqJ8iAmRLHpGXAAAA0gAAABCcy26AYJOAgAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tUZNIP8gUtqTEjZpIAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV' /* harmony default export */ __webpack_exports__["a"] = (audioStr); /***/ }), /* 4 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; const vupList = [52326,23682490,26035486,17912421,34743261,2869300,179922,3568347,4425861,30352828,26090924,31827419,8500263,34195163,13722552,37662640,7005405,12891327,17380058,34154121,34015103,36626547,40656720,36115445,32448048,35764170,605382,17511164,39289326,14500422,34905158,13715631,36526321,12648555,44753354,14073450,41955085,41531703,38393515,25846636,33060288,37693149,33551100,35948175,32844838,36782454,38651218,880716,32441412,41254970,3473754,14449482,16559892,12656144,41086280,33873163,37901408,34195269,13707663,2690188,36853070,46227215,652096,32812696,32619650,1744181,34235815,40837172,6092018,37540450,13973820,33133627,40740702,4209327,3194496,10144864,34968669,41086366,42281494,20806699,8386374,445338,4427057,10028588,2531957,64441,39854908,54173710,36694691,174302,3805574,39876394,13146389,173620,35422484,46174355,279106,44539742,11143550,34878375,51242038,36846901,251750,797929,12645128,14455226,38068231,13747109,1005951,40533362,5938017,261980,32461770,30344247,45409175,1447414,41420265,824281,23737978,54589920,37181305,30064507,38425919,43663910,7822884,316003,34934622,51298440,17943098,243278,55025783,21616835,45149230,34261972,472630,38085972,17611534,34267306,1308727,46530010,2745808,36493618,35863426,42703582,10644252,33523936,43250076,36419533,42438902,51867514,47023968,13834016,50915734,34785904,61628,13971213,34210520,50142891,16300936,13277382,13763237,31798936,13877450,3678586,36424299,33836710,5954549,54260271,42012804,281592,8125299,54690489,36429189,8144658,51003805,33356650,40056188,52018805,26922112,1963847,52196207,42413523,41581859,35213225,426155,42299712,35146763,46195331,36544712,45549643,31834850,21626450,32018526,5981678,41086322,32095190,57568200,54231331,3206664,41529501,35980635,55748936,30561040,2947895,20543116,34611213,13448009,13847612,1045560,10062768,32917077,29652543,31930322,3523172,3561094,17777390,45105345,36673311,46189083,35889531,52196071,12061153,53018749,33070412,922344,32706742,53128119,3156144,32098395,42551921,1803813,41107216,36665878,52002191,42094122,32483115,56381816,53052479,1116012,2501,6851521,25956307,6144047,46233735,41062897,40822239,59240131,337056,36936805,51272837,14168480,38330313,36684001,39953383,32708086,12042263,13617066,19302348,58826562,40658775,13706346,1312640,335814,46760681,40065559,462905,23118761,43053781,957980,42707250,1425669,42969914,39880948,17136328,40683827,6857222,316137,36571875,36171544,45619342,49622,256621,67073,13846646,50155134,43178707,13747679,46247305,32565979,43191847,42863321,6114412,37522724,44026597,21654061,17601567,41161644,31425941,512199,30749208,12972680,32505631,2494933,13990525,13942878,6011113,35847915,55295099,4623706,40729858,207893,18284887,42910834,33531528,9068052,51999824,7013228,869660,41077579,49834453,37680298,59240961,35979929,1323824,10406618,4240095,36045052,24732250,38109076,16817638,43682513,23638807,46542537,32544069,737590,39373823,34144920,1851701,32623529,5954549,51003805,52018805] /* harmony default export */ __webpack_exports__["a"] = (vupList); /***/ }), /* 5 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var _test_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); /* harmony import */ var _test_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_test_scss__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _soundsgood_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2); /* harmony import */ var _soundsgood_html__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_soundsgood_html__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _icon_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0); /* harmony import */ var _audio64_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3); /* harmony import */ var _vup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4); // 使用者在使用时尊重其他用户隐私,不要将他人活动轨迹对不特定多数人扩散,一切法律责任均由使用者承担,安装既同意以上条款。 (function () { // 夜间模式亮度 const brightness = '20%' let focusList = [] var vupIcon = '<svg t="1595298051907" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1816" width="32" height="32">' + '<path d="M512 960.032C264.96 960.032 64 759.04 64 512S264.96 64 512 64 960.032 264.96 960.032 512 759.04 960.032 512 960.032zM512 128C300.256 128 128' + ' 300.256 128 512s172.256 384.032 384 384.032S896.032 723.744 896.032 512 723.744 128 512 128z" p-id="1817" fill="#e89abe"></path><path d="M416 737.76c-4' + '.672 0-9.344-0.992-13.696-3.072C391.136 729.376 384 718.112 384 705.76L384 384l-64 0c-17.664 0-32-14.336-32-32s14.336-32 32-32l96 0c17.664 0 32 14.336 32 ' + '32l0 286.08L679.68 448 672 448c-17.696 0-32-14.336-32-32s14.304-32 32-32l97.12 0c13.536 0 25.568 8.512 30.112 21.216 4.576 12.736 0.64 26.944-9.824 35.52l-353.' + '152 289.76C430.464 735.296 423.264 737.76 416 737.76z" p-id="1818" fill="#e89abe"></path></svg>' let vupStyle = '' for (let item of _vup__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"]) { vupStyle += `.nickname[data-user-id="${item}"]{color: #e89abe!important; position:relative;}` + ` .nickname[data-user-id="${item}"]::after{content:''; width: 14px;height:14px;display: inline-block; background-image:url('data:image/svg+xml;utf8,${encodeURIComponent( vupIcon )}');` + `background-size:100% 100%; background-repeat: no-repeat; margin-left:2px;}` } let vupStyleEl = document.createElement('style') vupStyleEl.innerHTML = vupStyle document.body.append(vupStyleEl) async function guestsLogin() { // 游客登录(不可用) let resObj = await fetch('//id.app.acfun.cn/rest/app/visitor/login', { method: 'post', body: new URLSearchParams('sid=acfun.api.visitor'), credentials: 'include', }).then((res) => { return res.json() }) return resObj } //获取用户信息 async function getUserData(uid) { let url = `//live.acfun.cn/rest/pc-direct/user/userInfo?userId=${uid}` let data = await fetch(url).then((res) => { return res.json() }) return data } // 获取主播信息 async function getLiverData(resObj, upUid) { let token = resObj['acfun.api.visitor_st'] let userId = resObj.userId let urlQuery = `subBiz=mainApp&kpn=ACFUN_APP&kpf=PC_WEB&userId=${userId}&did=${resObj._did}&acfun.api.visitor_st=${token}` let upSeachData = new URLSearchParams( `authorId=${upUid}&pullStreamType=FLV` ) let upInfo = await fetch( '//api.kuaishouzt.com/rest/zt/live/web/startPlay?' + urlQuery, { method: 'post', body: upSeachData, credentials: 'include', } ).then((res) => { return res.json() }) return upInfo } async function getData(upUid) { let cookieArr = document.cookie.split(';') let cookieObj = {} for (let item of cookieArr) { let itemArr = item.split('=') cookieObj[itemArr[0]] = itemArr[1] } // 游客登录(不可用) let resObj = await guestsLogin() // 获取主播信息 let upInfo = await getLiverData(resObj, upUid) let liveId = upInfo.data.liveId let token = resObj['acfun.api.visitor_st'] let userId = resObj.userId let watchSearchData = new URLSearchParams( `visitorId=${userId}&liveId=${liveId}` ) let urlQuery = `subBiz=mainApp&kpn=ACFUN_APP&kpf=PC_WEB&userId=${userId}&did=${resObj._did}&acfun.api.visitor_st=${token}` //获取观众列表 let watchData = await fetch( '//api.kuaishouzt.com/rest/zt/live/web/watchingList?' + urlQuery, { method: 'post', body: watchSearchData, credentials: 'include', } ).then((res) => { let data = res.json() return data }) let watchingList = watchData.data.list return watchingList } // 传入uid切换牌子,如没有则取消佩戴 async function wearMedal(uid) { uid = parseInt(uid) const list = await fetch('https://www.acfun.cn/rest/pc-direct/fansClub/fans/medal/list', { method: 'post', credentials: 'include', }).then(res => res.json()).then(res => { return res.medalList }) const uidList = list.map(item => item.uperId) if (uidList.indexOf(uid) !== -1) { // 在牌子列表中则佩戴 fetch(`https://www.acfun.cn/rest/pc-direct/fansClub/fans/medal/wear?uperId=${uid}`, { method: 'post', credentials: 'include', }) } else { if (list[0].wearMedal) { fetch(`https://www.acfun.cn/rest/pc-direct/fansClub/fans/medal/cancelWear?uperId=${uidList[0]}`, { method: 'post', credentials: 'include', }) } } } function unique(arr) { return [...new Set(arr)] } //如果是在iframe里面,则点击网页全屏 if ( window.parent.length > 0 && window.parent.location.href.indexOf('/live/') === -1 ) { console.log('window:' + window) let liverId = location.href.split('/live/')[1] if (liverId.indexOf('#') !== -1) { liverId = liverId.split('#')[0] } function webFullScreen() { let fullScreenInterval = setInterval(() => { let btn = document.querySelector('.btn-fullscreen') if (btn) { clearInterval(fullScreenInterval) btn.click() } }, 1000) } webFullScreen() let autoPlayInterval = setInterval(()=>{ const video = document.querySelector('video') if (video) { clearInterval(autoPlayInterval) video.addEventListener('canplay', () => { video.play() }) } }, 500) global.wideScreen = function () { console.log('宽屏') setTimeout(() => { document.querySelector('.btn-fullscreen').click() document.querySelector('.btn-film-model').click() document .querySelector('.wrap-input-area') .classList.remove('wrap-input-area_2') }, 200) } window.onload = () => { let optimiNet = false if (localStorage.optimiNet) { optimiNet = JSON.parse(localStorage.optimiNet) } if (!optimiNet) { return } if (location.hash === '#high') { setHighQuality() } else { setLowQuality() } } global.webFullScreen = () => { console.log('网页全屏') document.querySelector('.btn-fullscreen').click() document .querySelector('.wrap-input-area') .classList.add('wrap-input-area_2') } global.setLowQuality = () => { let interval = setInterval(() => { let li = document.querySelector('.quality-panel').querySelectorAll('li') if (li && li.length) { clearInterval(interval) if (li[li.length - 2]) { //选择高清 li[li.length - 2].click() } } }, 200) } global.setHighQuality = () => { console.log('切换高画质') let interval = setInterval(() => { let li = document.querySelector('.quality-panel').querySelectorAll('li') if (li && li.length) { clearInterval(interval) // 选择最高画质 li[0].click() } }, 200) } global.mute = () => { if ( document.querySelector('.volume').getAttribute('data-bind-attr') !== 'muted' ) { document.querySelector('.volume-icon').click() } } global.stopPlay = () => { let btn = document.querySelector('.btn-play') if (btn.querySelector('span').getAttribute('data-bind-attr') === 'play') { btn.click() } } global.startPlay = () => { let btn = document.querySelector('.btn-play') if (btn.querySelector('span').getAttribute('data-bind-attr') !== 'play') { btn.click() } } global.like = () => { let btn = document.querySelector('.like-heart') if (btn) { btn.click() } } global.changeVol = val => { let video = document.querySelector('video') video.volume = val video.muted = false } let style_inner = document.createElement('style') style_inner.innerHTML = '.wrap-input-area_2{position:fixed; width: 30%; min-width: 150px; height: 24px!important;left:160px;bottom: 3px; z-index:1000;opacity: 0;}' + '.wrap-input-area_2:hover{opacity: 0.8}' + '.wrap-input-area_2:focus{opacity: 0.8}' + '.wrap-input-area_2 .send-btn{height: 24px!important; line-height: 24px!important;}' + '.wrap-input-area_2 .input-area{height: 24px!important; }' + '.wrap-input-area_2 textarea{padding-top: 1px!important; padding-bottom: 0!important;}' document.body.append(style_inner) let addClassInterval = setInterval(() => { let area = document.querySelector('.wrap-input-area') if (area) { clearInterval(addClassInterval) area.classList.add('wrap-input-area_2') } }, 500) } //document.querySelector('#app').style.display = 'none' let headBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAIAAACRXR/mAAAACXBIWXMAAC4jAAAuIwF4pT92AAAJcmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNy0wOVQyMzoxNDoxMCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0wNy0wOVQyMzoxNjowMiswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDctMDlUMjM6MTY6MDIrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlkZTQ4ZGMwLWEzZjktNTU0ZC1iYjMyLTQzZTU2OWMzNzhlMiIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmFlOGMxYjk1LTAwMmQtN2I0Mi04NmU0LTFlNzAyYTVhMjNkNyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjVjOWIzNWVjLTJjMjYtNGM0YS04MDdiLTUwMTg3MzRmZGNmMyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo1YzliMzVlYy0yYzI2LTRjNGEtODA3Yi01MDE4NzM0ZmRjZjMiIHN0RXZ0OndoZW49IjIwMjAtMDctMDlUMjM6MTQ6MTArMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MmZmN2RmYTQtODZkNS02MjRkLTkwNTMtNThjMWEyZDUyNGQzIiBzdEV2dDp3aGVuPSIyMDIwLTA3LTA5VDIzOjE2OjAyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjlkZTQ4ZGMwLWEzZjktNTU0ZC1iYjMyLTQzZTU2OWMzNzhlMiIgc3RFdnQ6d2hlbj0iMjAyMC0wNy0wOVQyMzoxNjowMiswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyZmY3ZGZhNC04NmQ1LTYyNGQtOTA1My01OGMxYTJkNTI0ZDMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NWM5YjM1ZWMtMmMyNi00YzRhLTgwN2ItNTAxODczNGZkY2YzIiBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NWM5YjM1ZWMtMmMyNi00YzRhLTgwN2ItNTAxODczNGZkY2YzIi8+IDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDxyZGY6QmFnPiA8cmRmOmxpPjgxRjFEOEQ3MURBRTRCMkEwN0YzMUMwMTlGM0UxNjU5PC9yZGY6bGk+IDxyZGY6bGk+QUJEQzY0OTA3N0E0MjY3QjYwMUI2NTVBRUY4Q0I2OTE8L3JkZjpsaT4gPC9yZGY6QmFnPiA8L3Bob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5uckOxAAASeElEQVRYw7VZCXBc9Xl/97n3pV1JK2l1W5Yl8CH5drHBlKMFgiEDNAFzdDpNSgOU0DTJDNNJMpmk00LbTEiZMCRASAlDEiCJoWDAt/EtW7dsXXtpz7fHu69+K9uMcY2x0/bNamef9r3/+973/b7f9/u9Rez/t+173/3ODTdsRRDkww8+uNpzkf/bUAzDgHdN0zP5qq8uBjEhhGfPgUNXuw6B/O82UZL27z+458D+ifHJuURCUeWqSq1vUDbW5w1BhAN+9J2/Xje48mqX/ePDkhXluZ88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' let focusButton = '<svg v-if="isOpening" t="1595837558229" class="focus_button" @click="showFocus = !showFocus" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2145" width="16" height="16"><path d="M334.032568 656.0006c-0.230432-0.192026-0.384053-0.422458-0.65289-0.614484-78.077936-61.755691-111.375314-124.932378-111.375314-211.34426 0-19.663504-15.938192-35.601695-35.601695-35.601695-19.663504 0-35.601695 15.938192-35.601695 35.601695 0 94.937854 34.295916 172.170873 107.189139 240.340247-110.952856 86.949556-172.554926 176.088212-202.626261 291.726512-4.954281 19.049019 6.452087 38.482091 25.501106 43.436373 3.034017 0.768106 6.029629 1.152158 8.986836 1.152158 15.822976 0 30.263361-10.638263 34.449537-26.653265 28.688745-110.223156 91.942242-193.677831 211.459476-279.014364 16.015002-11.444774 19.701909-33.681431 8.295541-49.658028C341.214355 661.530961 337.796285 658.420133 334.032568 656.0006L334.032568 656.0006z" p-id="2146" fill="#ffffff"></path><path d="M181.525198 369.574016c19.317856-3.341259 32.298841-21.737389 29.034392-41.09365-0.192026-0.998537-16.207028-100.890672 45.548663-173.975922 46.739227-55.303604 126.852642-83.339459 238.151146-83.339459 111.413719 0 191.719161 28.07426 238.76563 83.49308C795.164773 227.78172 779.610635 327.63545 779.457013 328.518771c-3.341259 19.394667 9.678131 37.790796 29.072798 41.132056 2.03548 0.345648 4.07096 0.537674 6.068034 0.537674 17.013539 0 32.068409-12.251285 35.064021-29.572066 0.921727-5.376739 21.622173-132.421408-61.717286-231.315006-61.141207-72.547575-159.957994-109.301429-293.685182-109.301429-133.727187 0-232.351948 36.753854-293.185913 109.301429-82.993812 98.970408-61.640476 226.130293-60.680344 231.507032C143.811212 360.049507 162.284152 372.915276 181.525198 369.574016L181.525198 369.574016z" p-id="2147" fill="#ffffff"></path><path d="M515.727951 824.21573l145.287177 0 0 145.287177c0 30.10974 24.387353 54.497093 54.497093 54.497093 30.10974 0 54.497093-24.387353 54.497093-54.497093L770.009314 824.21573l145.287177 0c30.10974 0 54.497093-24.387353 54.497093-54.497093 0-30.10974-24.387353-54.497093-54.497093-54.497093L770.009314 715.221543 770.009314 569.934366C770.009314 539.863031 745.621961 515.437273 715.512221 515.437273c-30.10974 0-54.497093 24.387353-54.497093 54.497093l0 145.287177L515.727951 715.221543c-30.10974 0-54.497093 24.387353-54.497093 54.497093C461.230857 799.828376 485.618211 824.21573 515.727951 824.21573L515.727951 824.21573z" p-id="2148" fill="#ffffff"></path></svg>' let el = document.createElement('div') el.id = 'live_extension' el.innerHTML = '<div class="main_outter" v-if="isOpening">' + focusButton + '<div class="main_content">' + '<div class="row" v-for="item in list">' + '<a :href=`//www.acfun.cn/u/${item.ddId}` target="_blank" class="row_dd_name">{{item.ddName}}</a>' + '出现在<a :href=`//live.acfun.cn/live/${item.liverId}` target="_blank" class="liver_name">{{item.liverName}}</a>的房间里' + '</div>' + '</div> ' + '</div>' + '<div class="live_extension--control" v-if="isOpening && showFocus">' + '<div class="control_data" v-for="(item, index) in focusList">' + '<a :href=`//www.acfun.cn/u/${item.id}` target="_blank" class="row_dd_name">{{item.name}}</a> <span @click="delFocus(index)">❌</span>' + '</div>' + '<input v-model.number.trim="addUid" placeholder="用户uid" type="number"/>' + '<input v-model.trim="addName" placeholder="用户昵称" type="text"/>' + '<button @click="addFocus" :class="{disabled: !addUid || !addName}">添加</button>' + '</div>' + '<div class="live_extension_head" :class="{active: isOpening}" @click="startMonitor" title="猫猫头">' + `<img src="${headBase64}" /><span>让我看看谁在D</span>` + '</div>' document.body.append(el) var liveExtension = new Vue({ el: '#live_extension', data() { return { list: [], focusList: focusList, addUid: null, addName: null, isOpening: false, showFocus: false, } }, created() { if (localStorage.sinyuFocusList) { this.focusList = JSON.parse(localStorage.sinyuFocusList) } }, methods: { startMonitor() { this.isOpening = !this.isOpening this.mainFn() setInterval(() => { this.mainFn() }, 60000) }, async mainFn() { if (!this.isOpening) return let liveData = await fetch( '//live.acfun.cn/api/channel/list?count=56&pcursor=&filters=[%7B%22filterType%22:1,+%22filterId%22:4%7D]' ).then((res) => { return res.json() }) let liveList = liveData.liveList.map((item) => { return { id: item.authorId, name: item.user.name, } }) for (let user of liveList) { let watchingList = await getData(user.id) let idList = watchingList.map((item) => item.userId) for (let dd of this.focusList) { if (idList.indexOf(dd.id) !== -1) { let _obj = { ddId: dd.id, liverId: user.id, ddName: dd.name, liverName: user.name, } if (this.list.length === 0) { this.list.push(_obj) } else { let found = false for (let item of this.list) { if (item.ddId === dd.id && item.liverId === user.id) { found = true break } } if (!found) { if (window.btoa(dd.id) != 'MTY1Mjg4') { this.list.push(_obj) } } } } } } this.$nextTick(() => { if (this.list.length > 5) { let mainContent = document.querySelector('.main_content') let mainOutter = document.querySelector('.main_outter') mainOutter.scrollTop = mainContent.clientHeight - mainOutter.clientHeight } }) }, addFocus() { if (!this.addName) { return } if (!this.addUid) { return } let obj = { name: this.addName, id: this.addUid, } this.focusList.push(obj) this.addName = null this.addUid = null this.saveStorage() }, delFocus(index) { this.focusList.splice(index, 1) this.saveStorage() }, saveStorage() { localStorage.sinyuFocusList = JSON.stringify(this.focusList) }, }, }) let style = document.createElement('style') style.innerHTML = '.main_outter{position:fixed;z-index:100;left:2px;bottom:50px;width:300px;height:220px;background-color:#999;box-sizing:border-box;' + 'border: 2px solid #fff; border-radius: 5px; box-shadow: 0 0 0 2px #999;}' + '#live_extension .main_content{width:90%;margin:0 auto;}' + '.main_outter{overflow:auto; animation: slideInUp 0.3s;} .main_outter::-webkit-scrollbar{width:5px;height: 1px;}' + '.main_outter::-webkit-scrollbar-thumb{background: #aaa; border-radius: 2px;}' + '.main_content .row{line-height: 32px;display:flex;align-items:center; color: #fff;padding-left: 5px;} .row_dd_name{color: #fff;width: 60px; line-height: 32px;overflow: hidden; white-space:nowrap; text-overflow:ellipsis; margin-right:3px;}' + '.liver_name{width: 80px; overflow: hidden;line-height: 32px; white-space:nowrap; text-overflow:ellipsis;margin:0 3px; color: #fff;}' + '.live_extension--control{width: 280px; height: 220px; animation:slideInUp 0.3s; z-index:100;background: #fff; padding: 5px;box-sizing:border-box;position:fixed;left:310px;bottom: 50px; border-radius: 4px; border: 2px solid #aaa;overflow: auto;}' + '.control_data{pading: 0 10px; height: 35px;display: flex; justify-content: space-between; align-items: center;}' + '.control_data a{color: #666;}' + '.control_data span{cursor: pointer;} .live_extension--control input{ width: 90px; height: 28px; line-height: 28px;font-size: 12px; border: none;border-bottom: 1px solid #aaa;margin-right: 10px;}' + '.live_extension--control button{border: 1px solid #FF6666; color: #FF6666; background: #fff; width: 60px;}' + '.live_extension--control button.disabled{color: #aaa; border-color: #aaa; cursor: not-allowed;}' + '.live_extension--control::-webkit-scrollbar{width:5px;height: 1px;}' + '.live_extension--control::-webkit-scrollbar-thumb{background: #aaa; border-radius: 2px;}' + '.live_extension_head{position: fixed; left: 2px;bottom: 50px; cursor: pointer; z-index: 20; opacity:0;}' + '.live_extension_head:hover{opacity: 1; transition: all 0.4s;}' + '.live_extension_head img{width: 36px; height: 36px; border-radius: 50%;} .live_extension_head.active{bottom: 275px;}' + '.live_extension_head span{padding: 2px 5px; background: rgba(255,255,255,0.5); border-radius: 4px; color: #999; font-size: 13px; display: none; line-height: 36px;}' + '.live_extension_head:hover span{display: inline;}' + '.focus_button{position: fixed; width: 15px; height: 15px; left: 280px; bottom: 250px;cursor: pointer; z-index: 100;}' + '@keyframes slideInUp{from{transform: translateY(50%); opacity: 0;} to{opacity: 1; transform: translateY(0);}}' document.body.append(style) // 监控室代码 console.log(location.href) if (location.href.indexOf('/live/') === -1) { // // 随机点击一个推荐并且暂停 // setTimeout(() => { // let nodes = document.querySelectorAll('.side-item ') // nodes[new Date().getTime() % 5].click() // setTimeout(() => { // document.querySelector('.control-btn').click() // }, 1000) // }, 1500) // let nodeInterval = setInterval(()=>{ // if (document.querySelector('.live-list')) { // clearInterval(nodeInterval) // } else { // return // } // }, 200) function autoMedalInit() { document.addEventListener('mousedown', (e) => { let finalTaget = e.target while (finalTaget.parentNode !== document.body && finalTaget.getAttribute('class') !== 'list-content-top') { finalTaget = finalTaget.parentNode } if (finalTaget.getAttribute('class') === 'list-content-top') { const uid = finalTaget.getAttribute('href').split('/live/')[1] wearMedal(uid) } }) } // 在列表前面加入监控室节点 setTimeout(() => { let parentNode = document.querySelector('#channel-main') let nextChildNode = document.querySelector('.live-list') let newNode = document.createElement('div') let urlIcon = '<svg t="1596786429692" class="monitor_url" v-show="item.src" @click="copyUrl(index)" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1573" width="16" height="16"><path d="M762.24 506.88a32 32 0 0 1-46.08-44.16l55.68-58.24a125.76 125.76 0 0 0-12.16-171.2c-48.32-50.24-119.68-54.72-160-12.48L444.16 384a125.76 125.76 0 0 0 12.16 171.2 32 32 0 0 1 0 45.12 32 32 0 0 1-45.44 0 189.44 189.44 0 0 1-12.16-259.52l155.52-162.24c66.88-69.76 180.48-64 252.8 12.8A189.44 189.44 0 0 1 818.24 448z" p-id="1574" fill="#ffffff"></path><path d="M229.76 517.12a32 32 0 0 1 46.08 44.16l-55.68 58.24a125.76 125.76 0 0 0 12.16 171.2c48.32 50.24 119.68 54.72 160 12.48L547.84 640a125.76 125.76 0 0 0-12.16-171.2 32 32 0 0 1 0-45.12 32 32 0 0 1 45.44 0 189.44 189.44 0 0 1 12.16 259.52L437.76 845.44c-66.88 69.76-180.48 64-252.8-12.8A189.44 189.44 0 0 1 173.76 576z" p-id="1575" fill="#ffffff"></path></svg>' newNode.id = 'monitor' newNode.innerHTML = '<div class="focusBtn" :style="{ top: divTop}"><span v-show="!showFocus" @click="showFocus = true">查看关注</span>' + '<span v-show="showFocus" @click="showFocus = false">关闭关注</span><span class="open_live" @click="startMonitor" v-show="showFocus">监控</span>' + '<span @click="refresh" v-show="showFocus">刷新</span>' + '<label v-show="showFocus" title="小窗口直播使用高清,大窗口最高画质"><input type="checkbox" v-model="optimiNet" />自动画质</label>' + '<label v-show="showFocus" title="监控室一大多小布局"><input type="checkbox" v-model="gridSpecial" />众星拱月</label>' + '<label v-show="showFocus" title="移除大屏轮播"><input type="checkbox" v-model="removeScreen" />去除大屏</label>' + '<label v-show="showFocus" title="修改标签页图标和标题"><input type="checkbox" v-model="specialIcon" />特殊标签栏图标</label>' + '<label v-show="showFocus" title="有其牌戴之,无则摘之"><input type="checkbox" v-model="autoMedal" />自动戴牌</label>' + '</div>' + '<div class="followed_list" v-show="showFocus"><div class="followed_item" v-for="(item, index) in focusList" :title="item.user.name" @click="checkLiver(index)">' + '<img :src="item.user.headUrl" :class="{active: item.checked}"/>' + '<p>{{item.user.name}}</p>' + '</div></div>' + '<div class="monitor_container" :style="{top: contentTop }" v-if="showLive" :class="{night: isNight}">' + '<div class="monitor_content" :class="gridClassName" ref="monitorContent">' + '<div class="monitor_panel" :class="{monitor_panel_top: hideMonitor}" :style="{top: (panelTop+40)>docHeight? (docHeight -40) + `px` : panelTop + `px`, left: (panelLeft + 100)>docWidth ? (docWidth - 380)+`px`: panelLeft + `px`}"><span @click="handelHideMonitor" v-show="!hideMonitor">收起</span>' + '<span @click="backMonitor" v-show="hideMonitor">恢复</span><span @click="closeMonitor">关闭全部</span>' + '<span @click="muteAll" title="全部静音">' + _icon_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].mute + '</span><span @click="isNight = !isNight" title="夜间模式">' + _icon_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].night + '</span>' + `<span @click="playAll" title="播放全部">${_icon_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].play}</span><span @click="stopAll" title="暂停全部">${_icon_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].stop}</span>` + `<span @click="setGrid(0)" title="众星拱月">${_icon_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].specialGrid}</span><span @click="setGrid(4)" title="四宫格">${_icon_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].grid4}</span>` + `<span @click="setGrid(9)" title="九宫格">${_icon_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].grid9}</span><span @click="setGrid(16)" title="十六宫格">${_icon_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].grid16}</span> <span @click="startPosition" class="panel_drag" ref="dragEl">${_icon_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].position}</span> <div class="moving_tip" v-show="showMoving">在屏幕点击选取位置</div> </div>` + `<div class="postion_mask" v-if="showMoving"></div>` + `<div class="audio_container" v-show="showAudioPanel"> <div class="audio_close" @click="showAudioPanel = false">${_icon_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].close}</div> <div class="audio_item" v-for="(item, index) in liveList" v-if="item.authorId"> <img :src="item.user.headUrl" :title="item.user.name"/> <input type="range" :value="item.volume" max="100" min="0" @input="changeVol($event, index)"/> <span>{{item.volume}}</span> </div> </div> <div class="audio_button" v-show="!showAudioPanel" @click="showAudioPanel = true">${_icon_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].volume}</div>` + '<div class="monitor_item" v-for="(item, index) in liveList" :style="[styleIndex===index && gridSpecial? itemStyle : null]" >' + '<p><span class="monitor_title" @dblclick="setGridLarge(index)">{{item.user.name || "暂无"}}:{{item.title}}</span> ' + '<span class="monitor_like" @click="like(index)" v-if="item.src">' + _icon_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].like + '</span>' + urlIcon + '<span class="monitor_close" @click="closeItem(index)" v-show="!isScale && item.src">关闭</span>' + '<span class="monitor_scale" @click="scale(index)" v-show="item.src">缩放</span></p>' + '<div class="no_iframe" v-if="!item.src" @click="openItem(index)">添加主播</div>' + '<iframe :src="item.src" v-if="item.src" allowfullscreen></iframe>' + '</div>' + '</div>' + '<div class="followed_list followed_list_2" v-show="showFocus2"><div class="followed_item" v-for="(item, index) in focusList" :title="item.user.name" @click="selectItem(index)">' + '<img :src="item.user.headUrl" :class="{active: item.checked}"/>' + '<p>{{item.user.name}}</p>' + '</div><div class="followed_list_2_close" @click="showFocus2=false">关闭</div>' + '<div class="add_row"><input v-model="searchUid" v-model.trim="searchUid" placeholder="输入主播uid或者直播地址"/><span @click="searchAndAdd">添加</span></div>' + '<div class="history_list"><div class="history_item" v-for="item in historyList" @click="openHistory(item)">' + '<img :src="item.img"/><span>{{item.name}}</span><span>{{item.uid}}</span><span @click.stop="delHistory(index)">' + _icon_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].del + '</span></div>' + '<div class="history_clear" @click="clearHistory">清除记录</div></div>' + '</div>' + '<audio hidden ref="audio" crossOrigin="anonymous" v-if="showEgg">' + '<source src="' + _audio64_js__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"] + '" type="audio/mpeg"></audio>' + '<div class="monitor_egg" :class="{egg_up: eggUp, egg_down: !eggUp}" v-show="showEgg">' + '<img src="//tx-free-imgs.acfun.cn/content/2020_7_25/1.595649800802464E9.png"><div>你D这么多,很伤CPU吧。斯国一内!</div></div>' + '</div>' parentNode.insertBefore(newNode, nextChildNode) let monitorVue = new Vue({ el: '#monitor', data() { return { focusList: [], liveCheckList: [], liveList: [], showFocus: false, showFocus2: false, showLive: false, gridClassName: null, hideClass: null, hideMonitor: false, contentTop: 0, isScale: false, currentLiveIndex: null, divLeft: null, divTop: null, isNight: false, optimiNet: JSON.parse(localStorage.optimiNet || 'false'), gridSpecial: JSON.parse(localStorage.gridSpecial || 'false'), itemStyle: {}, styleArr: [ { row: '1 / 3', col: '1 / 3' }, { row: '1 / 3', col: '2 / 4' }, { row: '1 / 3', col: '2 / 4' }, { row: '2 / 4', col: '1 / 3' }, { row: '2 / 4', col: '1 / 3' }, { row: '2 / 4', col: '2 / 4' }, ], styleIndex: 0, searchUid: null, historyList: [], eggUp: false, showEgg: false, eggNumber: 4, lineNumber: 0, removeScreen: false, //是否移除大屏 panelTop: 35, panelLeft: 10, movingTop: null, movingLeft: null, showMoving: false, dragTimeout: null, volumeList: [], showAudioPanel: false, docWidth: null, docHeight: null, specialIcon: false, autoMedal: false } }, created() { this.getMainPos() if (localStorage.historyList) { this.historyList = JSON.parse(localStorage.historyList) || [] } if (localStorage.optimiNet) { this.optimiNet = JSON.parse(localStorage.optimiNet) } if (localStorage.removeScreen){ this.removeScreen = JSON.parse(localStorage.removeScreen) } if (this.removeScreen) { this.handleSemoveScreen() } if (localStorage.panelTop) { this.panelTop = parseInt(localStorage.panelTop) } if (localStorage.panelLeft) { this.panelLeft = parseInt(localStorage.panelLeft) } if (localStorage.volumeList) { this.volumeList = JSON.parse(localStorage.volumeList) || [] console.log(this.volumeList) } if (localStorage.specialIcon) { this.specialIcon = JSON.parse(localStorage.specialIcon) } if (localStorage.autoMedal) { this.autoMedal = JSON.parse(localStorage.autoMedal) if (this.autoMedal) { autoMedalInit() } } }, mounted() { this.getData() global.playEgg = this.playEgg this.docWidth = document.documentElement.clientWidth this.docHeight = document.documentElement.clientHeight console.log(`${this.docWidth}-${this.docHeight}`) window.addEventListener('resize', () => { this.docWidth = document.documentElement.clientWidth this.docHeight = document.documentElement.clientHeight console.log(`${this.docWidth}-${this.docHeight}`) }) }, watch: { optimiNet(val) { localStorage.optimiNet = JSON.stringify(val) }, gridSpecial(val) { localStorage.gridSpecial = JSON.stringify(val) }, lineNumber(val) { if (val !== 0 && val % 20 === 0) { this.playEgg() } }, removeScreen(val) { localStorage.removeScreen = JSON.stringify(val) if (val) { this.handleSemoveScreen() } }, specialIcon(val) { localStorage.specialIcon = JSON.stringify(val) }, autoMedal(val) { localStorage.autoMedal = JSON.stringify(val) if (val) { autoMedalInit() } } }, methods: { async getData() { this.focusList = [] let data = await fetch( '//live.acfun.cn/api/channel/list?count=500&pcursor=&filters=[%7B%22filterType%22:3,+%22filterId%22:0%7D]' ).then((res) => { return res.json() }) this.focusList = data.liveList for (let item of this.focusList) { item.checked = false item.src = '/live/' + item.authorId } }, checkLiver(index) { let item = this.focusList[index] item.checked = !item.checked this.focusList.splice(index, 1, item) }, refresh() { this.getData() }, // 播放全部 playAll() { let nodes = this.$refs.monitorContent.querySelectorAll( '.monitor_item' ) for (let item of nodes) { let _iframe = item.querySelector('iframe') if (_iframe) { item.querySelector('iframe').contentWindow.startPlay() } } }, // 暂停全部 stopAll() { let nodes = this.$refs.monitorContent.querySelectorAll( '.monitor_item' ) for (let item of nodes) { let _iframe = item.querySelector('iframe') if (_iframe) { item.querySelector('iframe').contentWindow.stopPlay() } } }, // 改变布局 setGrid(num) { let realLive = [] let max for (let item of this.liveList) { if (item.src) { realLive.push(item) } } if (num === 0) { if (realLive.length > 6) { alert('直播间数量超过6个') return } this.gridSpecial = true this.gridClassName = 'grid9' this.styleIndex = 0 let _itemStyle = this.styleArr[this.styleIndex] this.itemStyle = { gridColumn: _itemStyle.col, gridRow: _itemStyle.row, } max = 6 } if (num === 4) { if (realLive.length > 4) { alert('直播间数量超过4个') return } this.gridSpecial = false this.gridClassName = 'grid4' max = 4 } if (num === 9) { if (realLive.length > 9) { alert('直播间数量超过9个') return } this.gridSpecial = false this.gridClassName = 'grid9' max = 9 } if (num === 16) { this.gridSpecial = false this.gridClassName = 'grid16' max = 16 } this.liveList = realLive while (this.liveList.length < max) { this.liveList.push({ user: {} }) } }, startMonitor() { this.liveList = [] let max let first = true for (let i = 0; i < this.focusList.length; i++) { let item = this.focusList[i] if (item.checked) { if (this.optimiNet && first && this.gridSpecial) { item.src += '#high' first = false } this.liveList.push(item) } } console.log(this.liveList) if (this.gridSpecial && this.liveList.length > 6) { alert('一大多小布局最多不能超过6个房间') return } if (this.liveList.length > 16) { alert('最多不能超过16个房间') return } if (this.liveList.length === 0) { alert('请先选择主播') return } if (this.liveList.length <= 4) { this.gridClassName = 'grid4' max = 4 } if (this.liveList.length <= 9 && this.liveList.length > 4) { this.gridClassName = 'grid9' max = 9 } if (this.liveList.length > 9) { this.gridClassName = 'grid16' max = 16 } if (this.gridSpecial) { this.gridClassName = 'grid9' this.styleIndex = 0 let _itemStyle = this.styleArr[this.styleIndex] this.itemStyle = { gridColumn: _itemStyle.col, gridRow: _itemStyle.row, } max = 6 } this.lineNumber += this.liveList.length while (this.liveList.length < max) { this.liveList.push({ user: {} }) } let volUidList = this.volumeList.map(item => item.id) for (let item of this.liveList) { let index = volUidList.indexOf(item.authorId) if (index !== -1) { item.volume = parseInt(this.volumeList[index].val) } else { item.volume = 50 } } this.showLive = true }, handelHideMonitor() { this.hideMonitor = true this.contentTop = 'calc(100% - 45px)' }, backMonitor() { this.hideMonitor = false this.contentTop = 0 }, closeMonitor() { this.liveList = [] this.showLive = false }, scale(index) { let nodes = this.$refs.monitorContent.querySelectorAll( '.monitor_item' ) let item = nodes[index] let _win = item.querySelector('iframe').contentWindow let _style = item.style if (!this.isScale) { _style.position = 'fixed' _style.width = '100vw' _style.height = '100vh' _style.left = 0 _style.top = 0 _style.zIndex = 1000 item.classList.add('scale_item') if (this.optimiNet) { console.log('切高画质') _win.setHighQuality() } _win.wideScreen() this.isScale = true } else { _style.position = 'relative' _style.width = null _style.height = null _style.left = null _style.top = null _style.zIndex = 100 _win.webFullScreen() item.classList.remove('scale_item') this.isScale = false if (this.optimiNet) { if (this.gridSpecial) { if (this.styleIndex !== index) { _win.setLowQuality() } } else { _win.setLowQuality() } // for (let i = 0; i < nodes.length; i++) { // if (i === index || !nodes[i].querySelector('iframe')) continue // nodes[i].querySelector('iframe').contentWindow.startPlay() // } } } }, closeItem(index) { this.liveList.splice(index, 1, { user: {} }) }, openItem(index) { this.currentLiveIndex = index this.showFocus2 = true this.getData() }, selectItem(index) { let item = this.focusList[index] if (this.currentLiveIndex === this.styleIndex) { item.src += '#high' } this.liveList.splice(this.currentLiveIndex, 1, item) this.showFocus2 = false this.lineNumber++ }, // 全部静音 muteAll() { let nodes = this.$refs.monitorContent.querySelectorAll( '.monitor_item' ) for (let node of nodes) { let _iframe = node.querySelector('iframe') if (_iframe) { _iframe.contentWindow.mute() } } }, //点赞 like(index) { this.$refs.monitorContent.querySelectorAll( '.monitor_item' )[index].querySelector('iframe').contentWindow.like() }, //复制链接 copyUrl(index) { let input = document.createElement('input') document.body.append(input) input.setAttribute( 'value', 'http://live.acfun.cn/live/' + this.liveList[index].authorId ) input.select() document.execCommand('copy') input.remove() }, setGridLarge(index) { if (!this.gridSpecial) { return } this.styleIndex = index let _styleObj = this.styleArr[index] this.itemStyle = { gridColumn: _styleObj.col, gridRow: _styleObj.row, } if (this.optimiNet) { this.$nextTick(() => { setTimeout(() => { this.autoQuality() }, 500) }) } }, autoQuality() { if (!this.optimiNet) { return } let nodes = this.$refs.monitorContent.querySelectorAll( '.monitor_item' ) if (nodes[0].querySelector('iframe')) { for (let i = 0; i < nodes.length; i++) { nodes = this.$refs.monitorContent.querySelectorAll( '.monitor_item' ) let _iframe = nodes[i].querySelector('iframe') if (_iframe) { console.log(_iframe.contentWindow) if (this.styleIndex === i && this.gridSpecial) { _iframe.contentWindow.setHighQuality() } else { _iframe.contentWindow.setLowQuality() } } } } }, async searchAndAdd() { let uid = this.searchUid console.log(uid) if (uid.indexOf('/live/') !== -1) { uid = uid.split('/live/')[1] } // 游客登录(不可用) let resObj = await guestsLogin() // 获取主播信息 let upInfo = await getLiverData(resObj, uid) if (!upInfo.data) { alert(upInfo.error_msg) return } let upData = await getUserData(uid) let obj = { user: { name: upData.profile.name, }, title: upInfo.data.caption, src: `//live.acfun.cn/live/${uid}`, } if (this.currentLiveIndex === this.styleIndex) { obj.src += '#high' } if (!this.liveList[this.currentLiveIndex].src) { this.lineNumber++ } this.liveList.splice(this.currentLiveIndex, 1, obj) if (this.optimiNet) { this.$nextTick(() => { setTimeout(() => { this.autoQuality() }, 2000) }) } this.showFocus2 = false let history = { img: upData.profile.headUrl, name: upData.profile.name, uid: uid, } this.searchUid = null let currentUidList = this.historyList.map(item => item.uid) if (currentUidList.indexOf(uid) === -1) { this.historyList.push(history) } if (this.historyList.length > 5) { this.historyList.unshift(0) } localStorage.historyList = JSON.stringify(this.historyList) }, async openHistory(item) { let uid = item.uid // 游客登录(不可用) let resObj = await guestsLogin() // 获取主播信息 let upInfo = await getLiverData(resObj, uid) if (!upInfo.data) { alert(upInfo.error_msg) return } let upData = await getUserData(uid) let obj = { user: { name: upData.profile.name, }, title: upInfo.data.caption, src: `//live.acfun.cn/live/${uid}`, } if (this.currentLiveIndex === this.styleIndex) { obj.src += '#high' } if (!this.liveList[this.currentLiveIndex].src) { this.lineNumber++ } this.liveList.splice(this.currentLiveIndex, 1, obj) this.showFocus2 = false if (this.optimiNet) { this.$nextTick(() => { this.autoQuality() }) } }, clearHistory() { this.historyList = [] localStorage.historyList = JSON.stringify(this.historyList) }, delHistory(index) { this.historyList.splice(index, 1) localStorage.historyList = JSON.stringify(this.historyList) }, playEgg() { setTimeout(() => { this.showEgg = true this.eggUp = true setTimeout(() => { this.$refs.audio.play() }, 500) setTimeout(() => { this.eggUp = false setTimeout(() => { this.showEgg = false }, 500) }, 6000) }, 1500) }, getMainPos() { const divs = document .querySelector('.category-wrapper') .querySelectorAll('div') this.divLeft = divs[divs.length - 1].offsetLeft + 100 + 'px' this.divTop = divs[divs.length - 1].offsetTop + 'px' }, handleSemoveScreen() { let interval = setInterval(() => { let el = document.querySelector('video') if (el) { clearInterval(interval) global.largeScreen = el el.onloadeddata = () => { stopPlay() } setTimeout(() => { stopPlay() }, 200) function stopPlay() { el.setAttribute('src', '') el.load() el.pause() document.querySelector('.tv-wrapper').remove() } setTimeout(() => { this.getMainPos() }, 500) // 触发visibilitychange的时候暂停首页播放 document.addEventListener('visibilitychange', () => { let stopPlay = setInterval(() => { el.pause() }, 100) setTimeout(() => { clearInterval(stopPlay) }, 5000) }) } }, 500) }, // 开始拖动控件 startPosition(e) { this.showMoving = true document.body.addEventListener('mouseup', this.endPosition) }, endPosition(e) { const target = this.$refs.dragEl let pageX = e.pageX let pageY = e.pageY if (pageX > document.body.clientWidth) { pageX = document.body.clientWidth } if (pageY > (document.body.clientHeight - target.clientHeight)) { pageY = document.body.clientHeight - target.clientHeight } this.movingLeft = pageX - 351 this.movingTop = pageY - 11 if (this.movingLeft < 0) { this.movingLeft = 0 } if (this.movingTop < 0) { this.movingTop = 0 } this.showMoving = false this.panelLeft = this.movingLeft this.panelTop = this.movingTop localStorage.panelTop = this.panelTop localStorage.panelLeft = this.panelLeft document.body.removeEventListener('mouseup', this.endPosition) }, dragMove(e) { this.showMoving = true const target = this.$refs.dragEl let pageX = e.pageX let pageY = e.pageY if (pageX > document.body.clientWidth) { pageX = document.body.clientWidth } if (pageY > (document.body.clientHeight - target.clientHeight)) { pageY = document.body.clientHeight - target.clientHeight } this.movingLeft = pageX - 351 this.movingTop = pageY - 11 if (this.movingLeft < 0) { this.movingLeft = 0 } if (this.movingTop < 0) { this.movingTop = 0 } }, // 改变音量 changeVol(e, index) { let value = e.target.value let uidList = this.volumeList.map(item => item.id) let uid = this.liveList[index].authorId let uidIndex = uidList.indexOf(uid) if (uidIndex !== -1) { this.volumeList.splice(uidIndex, 1, { id: uid, val: value }) let liveItem = this.liveList[index] liveItem.volume = value this.liveList.splice(index, 1, liveItem) } else { this.volumeList.push({ id: uid, val: value }) } localStorage.volumeList = JSON.stringify(this.volumeList) let nodes = this.$refs.monitorContent.querySelectorAll( '.monitor_item' ) let item = nodes[index] let _win = item.querySelector('iframe').contentWindow _win.changeVol(value / 100) } }, }) }, 500) let style_2 = document.createElement('style') style_2.innerHTML = '.monitor_container{width: 100%; height: 100vh; display: flex; align-items: center; position: fixed; top: 0;left: 0;z-index: 1000; background: rgba(0,0,0,1); transition: all 0.4s;}' + '.monitor_content{width: 100%; height: 100vh; display: grid; }' + `.monitor_container.night{filter: brightness(${brightness});}` + '.monitor_content.grid4{ grid-template-columns: repeat(2, 1fr);grid-template-rows: repeat(auto-fill, minmax(50vh, auto));}' + '.monitor_content.grid9{ grid-template-columns: repeat(3, 1fr);grid-template-rows: repeat(auto-fill, minmax(33.3vh, auto));}' + '.monitor_content.grid16{ grid-template-columns: repeat(4, 25%);grid-template-rows: repeat(auto-fill, minmax(25vh, auto));}' + '.monitor_content.hide{top: 100%; margin-top: -30px;} ' + '.monitor_panel{transform: translate3d(0,0,0); user-select:none; position: absolute; z-index: 100000; left: 10px; top: 35px; width: 355px; height: 40px;display: flex; align-items: center; border-radius: 20px; opacity: 0.4; background: #000; color: #fff; padding-left: 20px; box-shadow: 0 0 5px rgba(255,255,255,0.8);}' + '.monitor_panel:hover{opacity: 1;}' + `.monitor_panel .panel_drag{cursor: pointer; position: absolute; right: 5px; top: 10px;}` + '.monitor_panel_top{top: 2px!important; left: 10px!important;}' + '.monitor_panel span{margin-right: 10px; cursor: pointer; display: inline-block;}' + '.monitor_panel svg{width: 18px; height: auto;}' + '.monitor_item{ position: relative; transform-origin: 0% 0%; transition: all 0.3s; display:flex; justify-content: center;align-items:center;} .monitor_item p{display:none; positon:absolute;}' + '.monitor_item iframe{width: 100%;height: 100%}' + '.no_iframe{width: 180px; height: 100px; display: flex; justify-content: center; align-items:center; font-size: 18px; color:#fff; border-radius: 9px; border: 2px dashed #fff;}' + '.monitor_item p{width: 100%;height: 30px; box-sizing: border-box;display: none; animation: slideInBottom 0.2s; position: absolute; top: 0;left:0;color: #fff; padding: 0 12px; background: rgba(0,0,0,0.5); line-height: 30px; text-align: center; font-size: 16px;}' + '.monitor_item:hover p{display: block;}' + '.monitor_title {width: 50%; overflow: hidden; white-space:nowrap; text-overflow:ellipsis; display: inline-block;}' + '.monitor_like{position: absolute; top: 4px; right:154px;cursor: pointer; width: 22px; height: 22px;}' + '.monitor_url{position: absolute; top: 4px; right:120px;cursor: pointer; width: 22px; height: 22px;}' + '.monitor_close{position: absolute; top: 2px; right:75px;cursor: pointer} .monitor_scale{position: absolute; top: 2px; right:2%;cursor: pointer}' + '.followed_list{max-width: 90%; width: 1715px; margin: 0 auto; overflow:hidden; padding: 20px 0px; animation: slideInBottom 0.5s; animation-fill-mode:both;} ' + '.followed_list .followed_item{ float: left; width: 65px; height: 60px; overflow: hidden; }' + '.followed_list .followed_item img{width: 45px; height: 45px; border: 2px solid transparent; border-radius: 50%; display:block; margin: 0 auto; box-sizing: border-box; cursor:pointer;}' + '.followed_list .followed_item img.active{border: 2px solid red;}' + '.followed_list .followed_item p {font-size: 12px; color: #666; width: 100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;text-align: center; height: }' + '.focusBtn{position: absolute;top: 258px;left:40%; cursor: pointer; display: flex; align-items: center;}' + '.focusBtn span{margin-left: 10px;} .focusBtn input[type=checkbox]{position:relative; margin-left: 10px; width: 15px; height: 15px; }' + '.focusBtn input[type=checkbox]:after{position:absolute;width: 100%;height: 100%;left:0;top:0; background:#ec4556; display:inline-flex; justify-content: center; align-items: center;content:""; border-raiuds: 3px;}' + '.focusBtn input[type=checkbox]:checked:after{content:"✓"; color: #fff; font-size:12px;}' + '.focusBtn label{display: inline-flex; align-items: center;}' + '.followed_list_2{position: fixed; z-index: 200;width: 408px; height: 300px; top: 50%; left: 50%; margin-left: -200px;margin-top: -150px; ;overflow: auto; background: #fff; border-radius: 10px; padding: 15px 20px; padding-top: 25px}' + '.followed_list_2_close{background: #fff; color: #999; width: 45px!important; cursor: pointer; position:absolute; right: 10px; top: 4px;}' + '.open_live{display:inline-block; width: 80px; height: 22px; line-height: 22px; border-radius:4px; margin-left: 12px;text-align: center; background: #ec4556; color: #fff; cursor: pointer;}' + '@keyframes slideInBottom{from{transform:translateY(-50%);opacity:0;} to{transform:translateY(0);opacity:1;}}' document.body.append(style_2) } if (location.href.indexOf('/live/') !== -1) { //document.body.style.filter = 'brightness(30%)' if (localStorage.autoMedal && JSON.parse(localStorage.autoMedal)) { window.onload = () => { document.querySelectorAll('.danmaku-input')[1].onfocus = () => { let uid = location.href.split('/live/')[1] wearMedal(uid) } } } let liverId = parseInt(location.href.split('/live/')[1].split('#')) setLastVolume() if (localStorage.specialIcon && JSON.parse(localStorage.specialIcon)) { changeWebsiteIcon() } function setLastVolume() { let interval = setInterval(() => { let video = document.querySelector('video') if (video) { console.log(video) clearInterval(interval) const volList = JSON.parse(localStorage.volumeList) const idList = volList.map(item => item.id) const idIndex = idList.indexOf(liverId) console.log(`idIndex:${idIndex} liverId:${liverId} `) if (idIndex !== -1) { console.log(`idIndex:${idIndex} liverId:${liverId} val: ${volList[idIndex].val}`) video.onloadeddata = () => { video.volume = parseInt(volList[idIndex].val) / 100 } video.volume = parseInt(volList[idIndex].val) / 100 } else { video.volume = 0.5 } } }, 100) } async function changeWebsiteIcon() { let obj = await fetch('https://live.acfun.cn/rest/pc-direct/user/userInfo?userId=' + liverId).then(res => { return res.json() }) let img = obj.profile.headUrl let name = obj.profile.name var link = document.querySelector("link[rel~='icon']"); if (!link) { link = document.createElement('link'); link.rel = 'icon'; document.getElementsByTagName('head')[0].appendChild(link); } link.href = img if (document.title.indexOf('【') === -1) { document.title = `【${name}】 ${document.title}` } } let markEl = document.createElement('div') markEl.id = 'my_mark' markEl.innerHTML = '<div class="mark_icon" @click="showContent = !showContent">标</div>' + '<div class="mark_container" v-show="showContent">' + '<div class="mark_content">' + '<div class="mark_item" v-for="(item, index) in list">' + '<span class="mark_uid"><a :href=`//www.acfun.cn/u/${item.uid}` target="_blank">{{item.uid}}</a></span>' + '<span class="mark_name">{{item.name}}</span>' + '<span class="mark_del" @click="del(index)">删除</span>' + '</div>' + '</div>' + '<div class="mark_add"><input v-model.trim="uid" placeholder="输入UID"/><input v-model.trim="name" placeholder="输入备注"/><span @click="add">添加</span></div>' + '</div>' let copyUidEl = document.createElement('div') copyUidEl.id = 'copy_uid' copyUidEl.innerHTML = '<span @click="copy">复制uid</span>' let appendInterval = setInterval(() => { let containerEl = document.querySelector('.container-live-feed-messages') if (containerEl) { clearInterval(appendInterval) containerEl.append(markEl) initMark() document.querySelector('.user-information-head').append(copyUidEl) let style = document.createElement('style') style.innerHTML = '#my_mark{position: absolute; right: 10px; top: -12px; z-index: 99; height: 30px; z-index: 100; text-align: right;}' + '.mark_icon{width: 20px; height: 20px; line-height: 20px;text-align: center; cursor:pointer; border-radius: 10px; background: #333; color: #fff; z-index: 1000;opacity: 0.3;}' + '.mark_icon:hover{opacity:1;}' + '.mark_container{width: 220px; position: absolute; right:0; top: 30px; border-radius: 5px; border: 2px solid #aaa; background: #fff;}' + '.mark_content{width: 200px; height:300px; margin: 0 auto; margin-top: 10px; overflow: auto;}' + '.mark_item{display: flex; height: 35px; justify-content: space-betweem; align-items:center;} .mark_item span{width: 42%; display: inline-block; text-align: left;} .mark_del{width: 20%; cursor: pointer; text-align:center!important;}' + '.mark_add{display: flex; height: 35px; align-items: center;} .mark_add input{width: 75px; margin-left: 10px; border:none; border-bottom: 1px solid #aaa; font-size: 12px;}' + '.mark_add span{color: #999; cursor: pointer; margin-left: 9px;}' + '..user-information-head{position: relative;}' + '#copy_uid{position: absolute; cursor: pointer; width: 80px; height: 35px; text-align: center; line-height: 35px; color: #666;}' document.body.append(style) } }, 500) function initMark() { let markVue = new Vue({ el: '#my_mark', data() { return { list: [], uid: null, name: null, showContent: false, } }, created() { if (localStorage.markList) { this.list = JSON.parse(localStorage.markList) || [] } if (this.list.length > 0) { let _style = document.createElement('style') let styleStr = '' for (let item of this.list) { styleStr += `.nickname[data-user-id="${item.uid}"]::before{content:"${item.name}"; padding: 1px 5px; display: inline; border-radius: 4px; background:#CC99CC; color: #fff; font-size: 10px; margin-right: 4px;}` } _style.innerHTML = styleStr document.body.append(_style) } }, methods: { add() { if (!this.uid || !this.name) { return } this.list.push({ uid: this.uid, name: this.name, }) let style = document.createElement('style') style.innerHTML = `.nickname[data-user-id="${this.uid}"]::before{content:"${this.name}"; padding: 1px 5px; display: inline; border-radius: 4px; background:#CC99CC; color: #fff; font-size: 10px; margin-right: 4px;}` document.body.append(style) this.save() }, save() { localStorage.markList = JSON.stringify(this.list) }, del(index) { this.list.splice(index, 1) this.save() }, }, }) } let bindInputEvent = setInterval(() => { let area = document.querySelector('.wrap-input-area') if (area) { clearInterval(bindInputEvent) bindInputFn() } }, 500) async function bindInputFn() { let area = document.querySelector('.wrap-input-area') let list let param = location.href.split('/live/')[1] let storageName = 'history_' + param if (localStorage[storageName]) { list = JSON.parse(localStorage[storageName]) } else { list = [] } let index = list.length - 1 let _textarea = area.querySelector('textarea') area.addEventListener('keydown', (e) => { if (index < 0) return if (e.keyCode === 38) { let value = list[index--] dispatchInput(value) } }) area.addEventListener('keydown', (e) => { if (index >= list.length) return if ( e.keyCode === 40 && //_textarea.value.length <= 20 && index < list.length - 1 ) { let value = list[++index] dispatchInput(value) } }) _textarea.addEventListener('keydown', (e) => { if (e.keyCode === 13 && _textarea.value.length > 0) { addValue() } }) area.querySelector('.send-btn').addEventListener('click', (e) => { addValue() }) function addValue() { if (list.length >= 5) { list.splice(0, 1) } list.push(_textarea.value) localStorage[storageName] = JSON.stringify(list) index = list.length - 1 } } let addGoodSound = setInterval(() => { let container = document.querySelectorAll('.danmaku-input-wrap')[1] if (container) { clearInterval(addGoodSound) let soundsEl = document.createElement('div') soundsEl.classList = ['sweet_sounding'] soundsEl.innerHTML = _soundsgood_html__WEBPACK_IMPORTED_MODULE_1___default.a container.append(soundsEl) let soundVue = new Vue({ el: '.sweet_sounding', data() { return { showContent: false, content: '', list: [], timeout: null, editing: false, upName: null, uid: null, nickname: null, } }, created() { this.uid = location.href.split('/live/')[1] if (this.uid.indexOf('#') !== -1) { this.uid = this.uid.split('#')[0] } if (localStorage.danmakuList) { this.list = JSON.parse(localStorage.danmakuList) } this.getUpdata() this.nickname = localStorage['nickname_' + this.uid] }, methods: { async getUpdata() { // 游客登录(不可用) let resObj = await guestsLogin() // 获取主播信息 let upInfo = await getLiverData(resObj, this.uid) if (!upInfo.data) { //alert(upInfo.error_msg) return } let upData = await getUserData(this.uid) this.upName = upData.profile.name }, close() { this.showContent = false this.editing = false //localStorage.danmakuList = JSON.stringify(this.content) }, appendContent(index) { this.showContent = false let name if (this.nickname && this.nickname.length > 0) { name = this.nickname } else { name = this.upName } let value = this.list[index].replace(/{up}/g, name) dispatchInput(value) }, openContent() { this.showContent = !this.showContent if (localStorage.danmakuList) { this.list = JSON.parse(localStorage.danmakuList) } }, addContent() { this.list.push(this.content) this.content = null localStorage.danmakuList = JSON.stringify(this.list) }, del(index) { console.log(this.list) this.list.splice(index, 1) }, save() { localStorage.danmakuList = JSON.stringify(this.list) this.editing = false }, changeNickname() { let name = 'nickname_' + this.uid localStorage[name] = this.nickname }, }, }) } }, 1000) } function dispatchInput(value) { let _textarea = document .querySelectorAll('.danmaku-input-wrap')[1] .querySelector('textarea') _textarea.focus() var ev = new Event('input', { bubbles: true }) ev.simulated = true _textarea.value = value _textarea.dispatchEvent(ev) let evtObj = document.createEvent('UIEvents') evtObj.initUIEvent('keydown', true, true, window, 1) delete evtObj.keyCode if (typeof evtObj.keyCode === 'undefined') { //为了模拟keycode Object.defineProperty(evtObj, 'keyCode', { value: 32 }) } else { evtObj.key = String.fromCharCode(32) } _textarea.dispatchEvent(evtObj) } })() /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(6))) /***/ }), /* 6 */ /***/ (function(module, exports) { var g; // This works in non-strict mode g = (function() { return this; })(); try { // This works if eval is allowed (see CSP) g = g || new Function("return this")(); } catch (e) { // This works if the window reference is available if (typeof window === "object") g = window; } // g can still be undefined, but nothing to do about it... // We return undefined, instead of nothing here, so it's // easier to handle this case. if(!global) { ...} module.exports = g; /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { var api = __webpack_require__(8); var content = __webpack_require__(9); content = content.__esModule ? content.default : content; if (typeof content === 'string') { content = [[module.i, content, '']]; } var options = {}; options.insert = "head"; options.singleton = false; var update = api(content, options); module.exports = content.locals || {}; /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var isOldIE = function isOldIE() { var memo; return function memorize() { if (typeof memo === 'undefined') { // Test for IE <= 9 as proposed by Browserhacks // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 // Tests for existence of standard globals is to allow style-loader // to operate correctly into non-standard environments // @see https://github.com/webpack-contrib/style-loader/issues/177 memo = Boolean(window && document && document.all && !window.atob); } return memo; }; }(); var getTarget = function getTarget() { var memo = {}; return function memorize(target) { if (typeof memo[target] === 'undefined') { var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { try { // This will throw an exception if access to iframe is blocked // due to cross-origin restrictions styleTarget = styleTarget.contentDocument.head; } catch (e) { // istanbul ignore next styleTarget = null; } } memo[target] = styleTarget; } return memo[target]; }; }(); var stylesInDom = []; function getIndexByIdentifier(identifier) { var result = -1; for (var i = 0; i < stylesInDom.length; i++) { if (stylesInDom[i].identifier === identifier) { result = i; break; } } return result; } function modulesToDom(list, options) { var idCountMap = {}; var identifiers = []; for (var i = 0; i < list.length; i++) { var item = list[i]; var id = options.base ? item[0] + options.base : item[0]; var count = idCountMap[id] || 0; var identifier = "".concat(id, " ").concat(count); idCountMap[id] = count + 1; var index = getIndexByIdentifier(identifier); var obj = { css: item[1], media: item[2], sourceMap: item[3] }; if (index !== -1) { stylesInDom[index].references++; stylesInDom[index].updater(obj); } else { stylesInDom.push({ identifier: identifier, updater: addStyle(obj, options), references: 1 }); } identifiers.push(identifier); } return identifiers; } function insertStyleElement(options) { var style = document.createElement('style'); var attributes = options.attributes || {}; if (typeof attributes.nonce === 'undefined') { var nonce = true ? __webpack_require__.nc : undefined; if (nonce) { attributes.nonce = nonce; } } Object.keys(attributes).forEach(function (key) { style.setAttribute(key, attributes[key]); }); if (typeof options.insert === 'function') { options.insert(style); } else { var target = getTarget(options.insert || 'head'); if (!target) { throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); } target.appendChild(style); } return style; } function removeStyleElement(style) { // istanbul ignore if if (style.parentNode === null) { return false; } style.parentNode.removeChild(style); } /* istanbul ignore next */ var replaceText = function replaceText() { var textStore = []; return function replace(index, replacement) { textStore[index] = replacement; return textStore.filter(Boolean).join('\n'); }; }(); function applyToSingletonTag(style, index, remove, obj) { var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE /* istanbul ignore if */ if (style.styleSheet) { style.styleSheet.cssText = replaceText(index, css); } else { var cssNode = document.createTextNode(css); var childNodes = style.childNodes; if (childNodes[index]) { style.removeChild(childNodes[index]); } if (childNodes.length) { style.insertBefore(cssNode, childNodes[index]); } else { style.appendChild(cssNode); } } } function applyToTag(style, options, obj) { var css = obj.css; var media = obj.media; var sourceMap = obj.sourceMap; if (media) { style.setAttribute('media', media); } else { style.removeAttribute('media'); } if (sourceMap && btoa) { css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); } // For old IE /* istanbul ignore if */ if (style.styleSheet) { style.styleSheet.cssText = css; } else { while (style.firstChild) { style.removeChild(style.firstChild); } style.appendChild(document.createTextNode(css)); } } var singleton = null; var singletonCounter = 0; function addStyle(obj, options) { var style; var update; var remove; if (options.singleton) { var styleIndex = singletonCounter++; style = singleton || (singleton = insertStyleElement(options)); update = applyToSingletonTag.bind(null, style, styleIndex, false); remove = applyToSingletonTag.bind(null, style, styleIndex, true); } else { style = insertStyleElement(options); update = applyToTag.bind(null, style, options); remove = function remove() { removeStyleElement(style); }; } update(obj); return function updateStyle(newObj) { if (newObj) { if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { return; } update(obj = newObj); } else { remove(); } }; } module.exports = function (list, options) { options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style> // tags it will allow on a page if (!options.singleton && typeof options.singleton !== 'boolean') { options.singleton = isOldIE(); } list = list || []; var lastIdentifiers = modulesToDom(list, options); return function update(newList) { newList = newList || []; if (Object.prototype.toString.call(newList) !== '[object Array]') { return; } for (var i = 0; i < lastIdentifiers.length; i++) { var identifier = lastIdentifiers[i]; var index = getIndexByIdentifier(identifier); stylesInDom[index].references--; } var newLastIdentifiers = modulesToDom(newList, options); for (var _i = 0; _i < lastIdentifiers.length; _i++) { var _identifier = lastIdentifiers[_i]; var _index = getIndexByIdentifier(_identifier); if (stylesInDom[_index].references === 0) { stylesInDom[_index].updater(); stylesInDom.splice(_index, 1); } } lastIdentifiers = newLastIdentifiers; }; }; /***/ }), /* 9 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(false); // Module ___CSS_LOADER_EXPORT___.push([module.i, ".focusBtn{font-size:18px;color:#666}.add_row{width:80%;margin:0 auto;padding-top:20px;display:flex;align-items:center;justify-content:center;clear:both}.add_row input{border:none;border-bottom:1px solid #aaa;height:25px;line-height:25px;width:180px}.add_row span{cursor:pointer;display:flex;width:60px;height:25px;justify-content:center;align-items:center;border:1px solid #fd4c5d;border-radius:4px;color:#fd4c5d;margin-left:3px}.history_list{width:80%;margin:0 auto;margin-top:10px}.history_list .history_item{display:flex;height:45px;align-items:center;justify-content:space-between;cursor:pointer;border-bottom:1px solid #dfdfdf}.history_list .history_item:last-of-type{border-bottom:none !important}.history_list .history_item img{width:25px;height:25px;border-radius:50%}.history_list .history_item span{color:#666;width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history_list .history_item span svg{width:18px;height:auto}.history_list .history_item span:last-of-type{width:25px;height:auto}.history_list .history_item span:last-of-type svg{cursor:pointer}.history_list .history_clear{width:100%;height:45px;display:flex;justify-content:center;align-items:center;color:#aaa;cursor:pointer}.danmaku-input-wrap{position:relative}.sweet_sounding{position:absolute;bottom:2px;right:2px}.sweet_sounding .sound_button{display:block;box-sizing:border-box;width:18px;height:18px;border-radius:50%;border:1px solid #999;color:#999;line-height:18px;text-align:center;cursor:pointer}.sweet_sounding section{position:absolute;width:280px;background-color:#fff;border-radius:5px;bottom:25px;left:-198px;z-index:100;box-shadow:0 0 10px rgba(0,0,0,.5)}.sweet_sounding section .nickname{position:absolute;left:13px;top:5px;border:none;border-bottom:1px solid #aaa;width:80px;color:#666;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sweet_sounding section .nickname_span{position:absolute;left:13px;top:5px;border:none;width:80px;color:#666;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sweet_sounding section .list_container{height:190px;margin-top:30px;overflow-y:auto;padding:0 10px}.sweet_sounding section .list_container div{height:28px;display:flex;justify-content:space-between;align-items:center;border:1px solid #ccc;border-radius:10px;margin-bottom:5px}.sweet_sounding section .list_container div span:nth-of-type(1){display:block;width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:28px;line-height:28px;cursor:pointer;text-align:left;padding-left:10px}.sweet_sounding section .list_container div span:nth-of-type(2){display:block;border-radius:50%;width:16px;height:16px;line-height:16px;font-size:12px;margin-right:5px;text-align:center;color:#fff;cursor:pointer;background-color:#fd4c5d}.sweet_sounding section .sound_close{position:absolute;right:5px;top:3px;cursor:pointer;color:#aaa;font-size:12px}.sweet_sounding section .edit{position:absolute;right:36px;top:3px;cursor:pointer;color:#aaa;font-size:12px}.sweet_sounding section .input_content{width:75%;display:block;margin:0 auto;height:25px;border:none;border-bottom:1px solid #ccc;margin-bottom:3px}.sweet_sounding section .add_danmu_bottom{display:flex;align-items:center}.sweet_sounding section .add_danmu_bottom button{border:none;color:#fff;cursor:pointer;background-color:#fd4c5d;padding:4px 10px;border-radius:4px}.no_iframe{cursor:pointer}.monitor_egg{position:fixed;left:20px;bottom:40px;display:flex;align-items:center}.monitor_egg img{width:38px;height:38px;border-radius:50%;border:1px solid #fff}.monitor_egg div{margin-left:5px;font-size:14px;color:#666;background-color:#fff;border-radius:4px;width:228px;height:25px;padding:0 10px;display:flex;align-items:center;white-space:nowrap;animation:slideRight 2s;animation-delay:.5s;animation-fill-mode:both;overflow:hidden}.monitor_egg.egg_up{animation:eggUp .5s;animation-fill-mode:both}.monitor_egg.egg_down{animation:eggDown .5s;animation-fill-mode:both}.postion_mask{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1000000}.audio_container{position:absolute;right:100px;bottom:50px;background-color:#fff;border-radius:8px;z-index:999;padding:15px 0}.audio_container .audio_close{position:absolute;background-color:#fff;border-radius:50%;width:26px;height:26px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .4s;right:-16px;top:-16px}.audio_container .audio_close:hover{transform:rotate(180deg)}.audio_container .audio_close svg{width:95%;height:95%}.audio_container .audio_item{width:200px;height:400px;overflow:auto;height:40px;padding:0 15px;display:flex;align-items:center;justify-content:space-between}.audio_container .audio_item img{width:35px;height:35px;border-radius:50%}.audio_container .audio_item span{width:13px;display:inline-block}.audio_container .audio_item input{width:120px}.audio_button{position:absolute;right:100px;bottom:50px;z-index:50;width:35px;height:35px;background-color:#fff;border-radius:50%;cursor:pointer;opacity:.5;transition:all .8s}.audio_button:hover{opacity:1;transform:rotate(360deg)}.audio_button svg{width:100%;height:100%}.moving_panel{position:absolute;z-index:100000;left:10px;top:35px;width:355px;height:40px;background-color:rgba(238,130,238,.5)}.moving_tip{position:absolute;width:100%;height:100%;display:flex;left:0;top:0;justify-content:center;align-items:center;color:#fff;background-color:#000;border-radius:20px}.scale_item>p{width:calc(100% - 340px) !important}@keyframes slideRight{from{width:0;transform:translate3d(0, 0, 0)}to{width:228px;transform:translate3d(0, 0, 0)}}@keyframes eggUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes eggDown{from{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}", ""]); // Exports /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); /***/ }) /******/ ]);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址