// ==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___);
/***/ })
/******/ ]);