视频下载

电脑打开抖音首页www.douyin.com可以对任意抖音视频进行下载!

当前为 2024-06-24 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         视频下载
// @namespace    https://www.softrr.cn/
// @version      2.0
// @author       ahonker
// @description  电脑打开抖音首页www.douyin.com可以对任意抖音视频进行下载!
// @license      MIT
// @icon         https://www.douyin.com/p-pc-weboff.byteimg.com/tos-cn-i-9r5gewecjs/favicon.png
// @match        *://www.douyin.com/*
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.global.prod.js
// @require      data:application/javascript,%3Bwindow.Vue%3DVue%3B
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/index.full.min.js
// @resource     element-plus/dist/index.css  https://cdn.jsdelivr.net/npm/[email protected]/dist/index.css
// @connect      www.softrr.cn
// @connect      www.douyin.com
// @connect      ci.ak47.ink
// @grant        GM_addStyle
// @grant        GM_download
// @grant        GM_getResourceText
// @grant        GM_xmlhttpRequest
// @grant        unsafeWindow
https://update.greasyfork.org/scripts/485644/%F0%9F%94%A5%F0%9F%94%A5%E7%81%AB%E9%81%8D%E5%85%A8%E7%BD%91%E6%8A%96%E9%9F%B3%E8%A7%86%E9%A2%91%E4%B8%80%E9%94%AE%E6%97%A0%E6%B0%B4%E5%8D%B0%E4%B8%8B%E8%BD%BD%EF%BC%8C%E4%BC%98%E5%8C%96%E9%A1%B5%E9%9D%A2%F0%9F%94%A5%F0%9F%94%A5.user.js
// ==/UserScript==

(e=>{if(typeof GM_addStyle=="function"){GM_addStyle(e);return}const r=document.createElement("style");r.textContent=e,document.head.append(r)})(' @charset "UTF-8";:root{font-family:Inter,Avenir,Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary-rgb:64,158,255;--el-color-success-rgb:103,194,58;--el-color-warning-rgb:230,162,60;--el-color-danger-rgb:245,108,108;--el-color-error-rgb:245,108,108;--el-color-info-rgb:144,147,153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","\u5FAE\u8F6F\u96C5\u9ED1",Arial,sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier),opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px}:root{color-scheme:light;--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#ffffff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#ffffff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#ffffff;--el-box-shadow:0px 12px 32px 4px rgba(0, 0, 0, .04),0px 8px 20px rgba(0, 0, 0, .08);--el-box-shadow-light:0px 0px 12px rgba(0, 0, 0, .12);--el-box-shadow-lighter:0px 0px 6px rgba(0, 0, 0, .12);--el-box-shadow-dark:0px 16px 48px 16px rgba(0, 0, 0, .08),0px 12px 32px rgba(0, 0, 0, .12),0px 8px 16px -8px rgba(0, 0, 0, .16);--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:rgba(0, 0, 0, .8);--el-overlay-color-light:rgba(0, 0, 0, .7);--el-overlay-color-lighter:rgba(0, 0, 0, .5);--el-mask-color:rgba(255, 255, 255, .9);--el-mask-color-extra-light:rgba(255, 255, 255, .3);--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;height:1em;width:1em;line-height:1em;display:inline-flex;justify-content:center;align-items:center;position:relative;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-progress{position:relative;line-height:1;display:flex;align-items:center}.el-progress__text{font-size:14px;color:var(--el-text-color-regular);margin-left:5px;min-width:50px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{flex-grow:1;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:var(--el-border-color-lighter);overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:var(--el-color-primary);text-align:right;border-radius:100px;line-height:1;white-space:nowrap;transition:width .6s ease}.el-progress-bar__inner:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-progress-bar__inner--indeterminate{transform:translateZ(0);-webkit-animation:indeterminate 3s infinite;animation:indeterminate 3s infinite}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.1) 75%,transparent 75%,transparent);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{-webkit-animation:striped-flow 3s linear infinite;animation:striped-flow 3s linear infinite}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@-webkit-keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@-webkit-keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.modal-wrapper[data-v-c870d347]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.modal[data-v-c870d347]{background-color:#fff;padding:20px;border-radius:5px}.header[data-v-c870d347]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.header h2[data-v-c870d347]{margin:0;font-size:20px;font-weight:700}.header button[data-v-c870d347]{border:none;background-color:transparent;font-size:20px;cursor:pointer}.content[data-v-c870d347]{max-height:400px;overflow:auto;font-size:16px;display:flex;justify-content:space-between}.content .produce p[data-v-c870d347]{margin-top:15px}.content .produce .ipt[data-v-c870d347]{margin-top:15px;height:30px;border-radius:5px;padding-left:10px}.content .img[data-v-c870d347]{display:flex;align-items:center;justify-content:center}.content .img img[data-v-c870d347]{width:180px}input[data-v-c870d347]::-webkit-input-placeholder{color:#aab2bd;font-size:14px;padding-left:5px}.copy[data-v-5925a32f]{width:160px;position:fixed;right:10px;top:80px;color:#111;z-index:999;display:flex;flex-direction:column}.copy .btn[data-v-5925a32f]{width:120px;height:40px;background-color:green;color:#fff;border-radius:10%}.copy .btn[data-v-5925a32f]:hover{background-color:#87ceeb;color:#fff}.copy .progressDown[data-v-5925a32f]{margin-top:10px;max-width:120px}.demo-progress .el-progress--line[data-v-5925a32f]{margin-bottom:15px;max-width:120px} ');

(function (vue, elementPlus) {
  'use strict';

  const hasOwnProperty = Object.prototype.hasOwnProperty;
  const hasOwn = (val, key) => hasOwnProperty.call(val, key);
  const isFunction = (val) => typeof val === "function";
  const isString = (val) => typeof val === "string";
  const isObject = (val) => val !== null && typeof val === "object";
  function fromPairs(pairs) {
    var index = -1, length = pairs == null ? 0 : pairs.length, result = {};
    while (++index < length) {
      var pair = pairs[index];
      result[pair[0]] = pair[1];
    }
    return result;
  }
  const isUndefined = (val) => val === void 0;
  const isNumber = (val) => typeof val === "number";
  const isStringNumber = (val) => {
    if (!isString(val)) {
      return false;
    }
    return !Number.isNaN(Number(val));
  };
  function addUnit(value, defaultUnit = "px") {
    if (!value)
      return "";
    if (isNumber(value) || isStringNumber(value)) {
      return `${value}${defaultUnit}`;
    } else if (isString(value)) {
      return value;
    }
  }
  /*! Element Plus Icons Vue v2.3.1 */
  var check_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ vue.defineComponent({
    name: "Check",
    __name: "check",
    setup(__props) {
      return (_ctx, _cache) => (vue.openBlock(), vue.createElementBlock("svg", {
        xmlns: "http://www.w3.org/2000/svg",
        viewBox: "0 0 1024 1024"
      }, [
        vue.createElementVNode("path", {
          fill: "currentColor",
          d: "M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"
        })
      ]));
    }
  });
  var check_default = check_vue_vue_type_script_setup_true_lang_default;
  var circle_check_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ vue.defineComponent({
    name: "CircleCheck",
    __name: "circle-check",
    setup(__props) {
      return (_ctx, _cache) => (vue.openBlock(), vue.createElementBlock("svg", {
        xmlns: "http://www.w3.org/2000/svg",
        viewBox: "0 0 1024 1024"
      }, [
        vue.createElementVNode("path", {
          fill: "currentColor",
          d: "M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"
        }),
        vue.createElementVNode("path", {
          fill: "currentColor",
          d: "M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z"
        })
      ]));
    }
  });
  var circle_check_default = circle_check_vue_vue_type_script_setup_true_lang_default;
  var circle_close_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ vue.defineComponent({
    name: "CircleClose",
    __name: "circle-close",
    setup(__props) {
      return (_ctx, _cache) => (vue.openBlock(), vue.createElementBlock("svg", {
        xmlns: "http://www.w3.org/2000/svg",
        viewBox: "0 0 1024 1024"
      }, [
        vue.createElementVNode("path", {
          fill: "currentColor",
          d: "m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"
        }),
        vue.createElementVNode("path", {
          fill: "currentColor",
          d: "M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"
        })
      ]));
    }
  });
  var circle_close_default = circle_close_vue_vue_type_script_setup_true_lang_default;
  var close_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ vue.defineComponent({
    name: "Close",
    __name: "close",
    setup(__props) {
      return (_ctx, _cache) => (vue.openBlock(), vue.createElementBlock("svg", {
        xmlns: "http://www.w3.org/2000/svg",
        viewBox: "0 0 1024 1024"
      }, [
        vue.createElementVNode("path", {
          fill: "currentColor",
          d: "M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"
        })
      ]));
    }
  });
  var close_default = close_vue_vue_type_script_setup_true_lang_default;
  var warning_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ vue.defineComponent({
    name: "WarningFilled",
    __name: "warning-filled",
    setup(__props) {
      return (_ctx, _cache) => (vue.openBlock(), vue.createElementBlock("svg", {
        xmlns: "http://www.w3.org/2000/svg",
        viewBox: "0 0 1024 1024"
      }, [
        vue.createElementVNode("path", {
          fill: "currentColor",
          d: "M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"
        })
      ]));
    }
  });
  var warning_filled_default = warning_filled_vue_vue_type_script_setup_true_lang_default;
  const epPropKey = "__epPropKey";
  const definePropType = (val) => val;
  const isEpProp = (val) => isObject(val) && !!val[epPropKey];
  const buildProp = (prop, key) => {
    if (!isObject(prop) || isEpProp(prop))
      return prop;
    const { values, required, default: defaultValue, type, validator } = prop;
    const _validator = values || validator ? (val) => {
      let valid = false;
      let allowedValues = [];
      if (values) {
        allowedValues = Array.from(values);
        if (hasOwn(prop, "default")) {
          allowedValues.push(defaultValue);
        }
        valid || (valid = allowedValues.includes(val));
      }
      if (validator)
        valid || (valid = validator(val));
      if (!valid && allowedValues.length > 0) {
        const allowValuesText = [...new Set(allowedValues)].map((value) => JSON.stringify(value)).join(", ");
        vue.warn(`Invalid prop: validation failed${key ? ` for prop "${key}"` : ""}. Expected one of [${allowValuesText}], got value ${JSON.stringify(val)}.`);
      }
      return valid;
    } : void 0;
    const epProp = {
      type,
      required: !!required,
      validator: _validator,
      [epPropKey]: true
    };
    if (hasOwn(prop, "default"))
      epProp.default = defaultValue;
    return epProp;
  };
  const buildProps = (props) => fromPairs(Object.entries(props).map(([key, option]) => [
    key,
    buildProp(option, key)
  ]));
  const withInstall = (main, extra) => {
    main.install = (app) => {
      for (const comp of [main, ...Object.values(extra != null ? extra : {})]) {
        app.component(comp.name, comp);
      }
    };
    if (extra) {
      for (const [key, comp] of Object.entries(extra)) {
        main[key] = comp;
      }
    }
    return main;
  };
  const defaultNamespace = "el";
  const statePrefix = "is-";
  const _bem = (namespace, block, blockSuffix, element, modifier) => {
    let cls = `${namespace}-${block}`;
    if (blockSuffix) {
      cls += `-${blockSuffix}`;
    }
    if (element) {
      cls += `__${element}`;
    }
    if (modifier) {
      cls += `--${modifier}`;
    }
    return cls;
  };
  const namespaceContextKey = Symbol("namespaceContextKey");
  const useGetDerivedNamespace = (namespaceOverrides) => {
    const derivedNamespace = namespaceOverrides || (vue.getCurrentInstance() ? vue.inject(namespaceContextKey, vue.ref(defaultNamespace)) : vue.ref(defaultNamespace));
    const namespace = vue.computed(() => {
      return vue.unref(derivedNamespace) || defaultNamespace;
    });
    return namespace;
  };
  const useNamespace = (block, namespaceOverrides) => {
    const namespace = useGetDerivedNamespace(namespaceOverrides);
    const b = (blockSuffix = "") => _bem(namespace.value, block, blockSuffix, "", "");
    const e = (element) => element ? _bem(namespace.value, block, "", element, "") : "";
    const m = (modifier) => modifier ? _bem(namespace.value, block, "", "", modifier) : "";
    const be = (blockSuffix, element) => blockSuffix && element ? _bem(namespace.value, block, blockSuffix, element, "") : "";
    const em = (element, modifier) => element && modifier ? _bem(namespace.value, block, "", element, modifier) : "";
    const bm = (blockSuffix, modifier) => blockSuffix && modifier ? _bem(namespace.value, block, blockSuffix, "", modifier) : "";
    const bem = (blockSuffix, element, modifier) => blockSuffix && element && modifier ? _bem(namespace.value, block, blockSuffix, element, modifier) : "";
    const is = (name, ...args) => {
      const state = args.length >= 1 ? args[0] : true;
      return name && state ? `${statePrefix}${name}` : "";
    };
    const cssVar = (object) => {
      const styles = {};
      for (const key in object) {
        if (object[key]) {
          styles[`--${namespace.value}-${key}`] = object[key];
        }
      }
      return styles;
    };
    const cssVarBlock = (object) => {
      const styles = {};
      for (const key in object) {
        if (object[key]) {
          styles[`--${namespace.value}-${block}-${key}`] = object[key];
        }
      }
      return styles;
    };
    const cssVarName = (name) => `--${namespace.value}-${name}`;
    const cssVarBlockName = (name) => `--${namespace.value}-${block}-${name}`;
    return {
      namespace,
      b,
      e,
      m,
      be,
      em,
      bm,
      bem,
      is,
      cssVar,
      cssVarName,
      cssVarBlock,
      cssVarBlockName
    };
  };
  var _export_sfc$1 = (sfc, props) => {
    const target = sfc.__vccOpts || sfc;
    for (const [key, val] of props) {
      target[key] = val;
    }
    return target;
  };
  const iconProps = buildProps({
    size: {
      type: definePropType([Number, String])
    },
    color: {
      type: String
    }
  });
  const __default__$1 = vue.defineComponent({
    name: "ElIcon",
    inheritAttrs: false
  });
  const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
    ...__default__$1,
    props: iconProps,
    setup(__props) {
      const props = __props;
      const ns = useNamespace("icon");
      const style2 = vue.computed(() => {
        const { size, color } = props;
        if (!size && !color)
          return {};
        return {
          fontSize: isUndefined(size) ? void 0 : addUnit(size),
          "--color": color
        };
      });
      return (_ctx, _cache) => {
        return vue.openBlock(), vue.createElementBlock("i", vue.mergeProps({
          class: vue.unref(ns).b(),
          style: vue.unref(style2)
        }, _ctx.$attrs), [
          vue.renderSlot(_ctx.$slots, "default")
        ], 16);
      };
    }
  });
  var Icon = /* @__PURE__ */ _export_sfc$1(_sfc_main$3, [["__file", "icon.vue"]]);
  const ElIcon = withInstall(Icon);
  const progressProps = buildProps({
    type: {
      type: String,
      default: "line",
      values: ["line", "circle", "dashboard"]
    },
    percentage: {
      type: Number,
      default: 0,
      validator: (val) => val >= 0 && val <= 100
    },
    status: {
      type: String,
      default: "",
      values: ["", "success", "exception", "warning"]
    },
    indeterminate: {
      type: Boolean,
      default: false
    },
    duration: {
      type: Number,
      default: 3
    },
    strokeWidth: {
      type: Number,
      default: 6
    },
    strokeLinecap: {
      type: definePropType(String),
      default: "round"
    },
    textInside: {
      type: Boolean,
      default: false
    },
    width: {
      type: Number,
      default: 126
    },
    showText: {
      type: Boolean,
      default: true
    },
    color: {
      type: definePropType([
        String,
        Array,
        Function
      ]),
      default: ""
    },
    striped: Boolean,
    stripedFlow: Boolean,
    format: {
      type: definePropType(Function),
      default: (percentage) => `${percentage}%`
    }
  });
  const _hoisted_1$2 = ["aria-valuenow"];
  const _hoisted_2$1 = { viewBox: "0 0 100 100" };
  const _hoisted_3$1 = ["d", "stroke", "stroke-linecap", "stroke-width"];
  const _hoisted_4$1 = ["d", "stroke", "opacity", "stroke-linecap", "stroke-width"];
  const _hoisted_5$1 = { key: 0 };
  const __default__ = vue.defineComponent({
    name: "ElProgress"
  });
  const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
    ...__default__,
    props: progressProps,
    setup(__props) {
      const props = __props;
      const STATUS_COLOR_MAP = {
        success: "#13ce66",
        exception: "#ff4949",
        warning: "#e6a23c",
        default: "#20a0ff"
      };
      const ns = useNamespace("progress");
      const barStyle = vue.computed(() => ({
        width: `${props.percentage}%`,
        animationDuration: `${props.duration}s`,
        backgroundColor: getCurrentColor(props.percentage)
      }));
      const relativeStrokeWidth = vue.computed(() => (props.strokeWidth / props.width * 100).toFixed(1));
      const radius = vue.computed(() => {
        if (["circle", "dashboard"].includes(props.type)) {
          return Number.parseInt(`${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`, 10);
        }
        return 0;
      });
      const trackPath = vue.computed(() => {
        const r = radius.value;
        const isDashboard = props.type === "dashboard";
        return `
          M 50 50
          m 0 ${isDashboard ? "" : "-"}${r}
          a ${r} ${r} 0 1 1 0 ${isDashboard ? "-" : ""}${r * 2}
          a ${r} ${r} 0 1 1 0 ${isDashboard ? "" : "-"}${r * 2}
          `;
      });
      const perimeter = vue.computed(() => 2 * Math.PI * radius.value);
      const rate = vue.computed(() => props.type === "dashboard" ? 0.75 : 1);
      const strokeDashoffset = vue.computed(() => {
        const offset = -1 * perimeter.value * (1 - rate.value) / 2;
        return `${offset}px`;
      });
      const trailPathStyle = vue.computed(() => ({
        strokeDasharray: `${perimeter.value * rate.value}px, ${perimeter.value}px`,
        strokeDashoffset: strokeDashoffset.value
      }));
      const circlePathStyle = vue.computed(() => ({
        strokeDasharray: `${perimeter.value * rate.value * (props.percentage / 100)}px, ${perimeter.value}px`,
        strokeDashoffset: strokeDashoffset.value,
        transition: "stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"
      }));
      const stroke = vue.computed(() => {
        let ret;
        if (props.color) {
          ret = getCurrentColor(props.percentage);
        } else {
          ret = STATUS_COLOR_MAP[props.status] || STATUS_COLOR_MAP.default;
        }
        return ret;
      });
      const statusIcon = vue.computed(() => {
        if (props.status === "warning") {
          return warning_filled_default;
        }
        if (props.type === "line") {
          return props.status === "success" ? circle_check_default : circle_close_default;
        } else {
          return props.status === "success" ? check_default : close_default;
        }
      });
      const progressTextSize = vue.computed(() => {
        return props.type === "line" ? 12 + props.strokeWidth * 0.4 : props.width * 0.111111 + 2;
      });
      const content = vue.computed(() => props.format(props.percentage));
      function getColors(color) {
        const span = 100 / color.length;
        const seriesColors = color.map((seriesColor, index) => {
          if (isString(seriesColor)) {
            return {
              color: seriesColor,
              percentage: (index + 1) * span
            };
          }
          return seriesColor;
        });
        return seriesColors.sort((a, b) => a.percentage - b.percentage);
      }
      const getCurrentColor = (percentage) => {
        var _a;
        const { color } = props;
        if (isFunction(color)) {
          return color(percentage);
        } else if (isString(color)) {
          return color;
        } else {
          const colors = getColors(color);
          for (const color2 of colors) {
            if (color2.percentage > percentage)
              return color2.color;
          }
          return (_a = colors[colors.length - 1]) == null ? void 0 : _a.color;
        }
      };
      return (_ctx, _cache) => {
        return vue.openBlock(), vue.createElementBlock("div", {
          class: vue.normalizeClass([
            vue.unref(ns).b(),
            vue.unref(ns).m(_ctx.type),
            vue.unref(ns).is(_ctx.status),
            {
              [vue.unref(ns).m("without-text")]: !_ctx.showText,
              [vue.unref(ns).m("text-inside")]: _ctx.textInside
            }
          ]),
          role: "progressbar",
          "aria-valuenow": _ctx.percentage,
          "aria-valuemin": "0",
          "aria-valuemax": "100"
        }, [
          _ctx.type === "line" ? (vue.openBlock(), vue.createElementBlock("div", {
            key: 0,
            class: vue.normalizeClass(vue.unref(ns).b("bar"))
          }, [
            vue.createElementVNode("div", {
              class: vue.normalizeClass(vue.unref(ns).be("bar", "outer")),
              style: vue.normalizeStyle({ height: `${_ctx.strokeWidth}px` })
            }, [
              vue.createElementVNode("div", {
                class: vue.normalizeClass([
                  vue.unref(ns).be("bar", "inner"),
                  { [vue.unref(ns).bem("bar", "inner", "indeterminate")]: _ctx.indeterminate },
                  { [vue.unref(ns).bem("bar", "inner", "striped")]: _ctx.striped },
                  { [vue.unref(ns).bem("bar", "inner", "striped-flow")]: _ctx.stripedFlow }
                ]),
                style: vue.normalizeStyle(vue.unref(barStyle))
              }, [
                (_ctx.showText || _ctx.$slots.default) && _ctx.textInside ? (vue.openBlock(), vue.createElementBlock("div", {
                  key: 0,
                  class: vue.normalizeClass(vue.unref(ns).be("bar", "innerText"))
                }, [
                  vue.renderSlot(_ctx.$slots, "default", { percentage: _ctx.percentage }, () => [
                    vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(content)), 1)
                  ])
                ], 2)) : vue.createCommentVNode("v-if", true)
              ], 6)
            ], 6)
          ], 2)) : (vue.openBlock(), vue.createElementBlock("div", {
            key: 1,
            class: vue.normalizeClass(vue.unref(ns).b("circle")),
            style: vue.normalizeStyle({ height: `${_ctx.width}px`, width: `${_ctx.width}px` })
          }, [
            (vue.openBlock(), vue.createElementBlock("svg", _hoisted_2$1, [
              vue.createElementVNode("path", {
                class: vue.normalizeClass(vue.unref(ns).be("circle", "track")),
                d: vue.unref(trackPath),
                stroke: `var(${vue.unref(ns).cssVarName("fill-color-light")}, #e5e9f2)`,
                "stroke-linecap": _ctx.strokeLinecap,
                "stroke-width": vue.unref(relativeStrokeWidth),
                fill: "none",
                style: vue.normalizeStyle(vue.unref(trailPathStyle))
              }, null, 14, _hoisted_3$1),
              vue.createElementVNode("path", {
                class: vue.normalizeClass(vue.unref(ns).be("circle", "path")),
                d: vue.unref(trackPath),
                stroke: vue.unref(stroke),
                fill: "none",
                opacity: _ctx.percentage ? 1 : 0,
                "stroke-linecap": _ctx.strokeLinecap,
                "stroke-width": vue.unref(relativeStrokeWidth),
                style: vue.normalizeStyle(vue.unref(circlePathStyle))
              }, null, 14, _hoisted_4$1)
            ]))
          ], 6)),
          (_ctx.showText || _ctx.$slots.default) && !_ctx.textInside ? (vue.openBlock(), vue.createElementBlock("div", {
            key: 2,
            class: vue.normalizeClass(vue.unref(ns).e("text")),
            style: vue.normalizeStyle({ fontSize: `${vue.unref(progressTextSize)}px` })
          }, [
            vue.renderSlot(_ctx.$slots, "default", { percentage: _ctx.percentage }, () => [
              !_ctx.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$1, vue.toDisplayString(vue.unref(content)), 1)) : (vue.openBlock(), vue.createBlock(vue.unref(ElIcon), { key: 1 }, {
                default: vue.withCtx(() => [
                  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(statusIcon))))
                ]),
                _: 1
              }))
            ])
          ], 6)) : vue.createCommentVNode("v-if", true)
        ], 10, _hoisted_1$2);
      };
    }
  });
  var Progress = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["__file", "progress.vue"]]);
  const ElProgress = withInstall(Progress);
  var _GM_download = /* @__PURE__ */ (() => typeof GM_download != "undefined" ? GM_download : void 0)();
  var _GM_xmlhttpRequest = /* @__PURE__ */ (() => typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : void 0)();
  const _export_sfc = (sfc, props) => {
    const target = sfc.__vccOpts || sfc;
    for (const [key, val] of props) {
      target[key] = val;
    }
    return target;
  };
  const _withScopeId = (n) => (vue.pushScopeId("data-v-c870d347"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$1 = { class: "modal" };
  const _hoisted_2 = { class: "header" };
  const _hoisted_3 = { class: "content" };
  const _hoisted_4 = { class: "produce" };
  const _hoisted_5 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("p", null, "1、扫描右侧微信号,点击好友!", -1));
  const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("p", null, "2、通过好友后回复:抖音验证码", -1));
  const _hoisted_7 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("p", null, "3、在下方输入框输入获取的验证码后回车", -1));
  const _hoisted_8 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "img" }, [
    /* @__PURE__ */ vue.createElementVNode("img", {
      src: "data:image/jpeg;base64,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",
      alt: ""
    })
  ], -1));
  const _sfc_main$1 = {
    __name: "Model",
    props: {
      title: {
        type: String,
        required: true
      },
      code: {
        type: Number || String
      }
    },
    setup(__props, { expose: __expose }) {
      const props = __props;
      const visible = vue.ref(false);
      const openModal = () => {
        visible.value = true;
      };
      const closeModal = () => {
        visible.value = false;
      };
      __expose({
        visible,
        openModal,
        closeModal
      });
      const codeValue = vue.ref();
      const enterCode = () => {
        if (codeValue.value == props.code) {
          localStorage.setItem("code", codeValue.value);
          visible.value = false;
          alert("验证成功,请再次点击解析!");
          codeValue.value = "";
        } else {
          alert("验证码错误,请重新输入!");
          codeValue.value = "";
        }
      };
      return (_ctx, _cache) => {
        return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
          class: "modal-wrapper",
          onClick: vue.withModifiers(closeModal, ["self"])
        }, [
          vue.createElementVNode("div", _hoisted_1$1, [
            vue.createElementVNode("div", _hoisted_2, [
              vue.createElementVNode("h2", null, vue.toDisplayString(__props.title), 1),
              vue.createElementVNode("button", { onClick: closeModal }, "X")
            ]),
            vue.createElementVNode("div", _hoisted_3, [
              vue.createElementVNode("div", _hoisted_4, [
                _hoisted_5,
                _hoisted_6,
                _hoisted_7,
                vue.withDirectives(vue.createElementVNode("input", {
                  class: "ipt",
                  type: "text",
                  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => codeValue.value = $event),
                  onKeydown: vue.withKeys(enterCode, ["enter"]),
                  placeholder: "请输入验证码后按回车"
                }, null, 544), [
                  [vue.vModelText, codeValue.value]
                ])
              ]),
              _hoisted_8
            ])
          ])
        ], 512)), [
          [vue.vShow, visible.value]
        ]);
      };
    }
  };
  const Model = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-c870d347"]]);
  const getCode = () => {
    return new Promise((resolve, reject) => {
      _GM_xmlhttpRequest({
        method: "GET",
        url: `https://www.softrr.cn/crawler/getCode`,
        headers: {
          Referer: "https://www.softrr.cn/",
          "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.289 Safari/537.36"
        },
        onload: function(res) {
          resolve(JSON.parse(res.response).data[0].code);
        }
      });
    });
  };
  const _hoisted_1 = { class: "copy" };
  const _sfc_main = {
    __name: "App",
    setup(__props) {
      window.onload = () => {
        if (document.getElementsByClassName("ezAK2PYX").length > 0) {
          document.getElementsByClassName("ezAK2PYX")[0].style.display = "none";
        }
        if (document.getElementsByClassName("box-align-center").length > 0) {
          document.getElementsByClassName("box-align-center").style.display = "none";
        }
        if (document.querySelector(".xg-switch") !== null) {
          document.querySelector(".xg-switch").classList.add("xg-switch-checked");
        }
      };
      const code = vue.ref();
      const model = vue.ref("");
      vue.ref("");
      const flag = vue.ref(false);
      const percentage = vue.ref(0);
      const onDownload = async () => {
        let locaCode = localStorage.getItem("code") || "";
        code.value = await getCode();
        if (locaCode == code.value) {
          let downUrlList = document.getElementsByTagName("video");
          let downUrlReal = "";
          downUrlList.forEach((element) => {
            if (element.hasAttribute("autoplay")) {
              downUrlReal = element.children;
            }
          });
          let downUrl = downUrlReal[0].src;
          let videoTitle = document.querySelectorAll(".hVNC9qgC")[2].innerText;
          elementPlus.ElMessage({
            type: "warning",
            message: "如果进度条到99%,还没跳出下载,请稍等会,可能卡主了!"
          }), _GM_download({
            url: downUrl,
            name: videoTitle,
            //不填则自动获取文件名
            saveAs: true,
            //布尔值,显示"保存为"对话框
            onprogress: function() {
              flag.value = true;
              if (percentage.value < 100) {
                percentage.value++;
              }
            },
            onload: function() {
              flag.value = false;
              percentage.value = 100;
              percentage.value = 0;
            },
            onerror: function(error) {
              console.log(error);
            },
            ontimeout: () => {
              alert("下载超时,请稍后重试!");
            }
          });
        } else {
          model.value.openModal();
        }
      };
      const title = vue.ref("为了减少端口压力,防止滥用,采取必要的验证手段。");
      return (_ctx, _cache) => {
        const _component_el_progress = ElProgress;
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
          vue.createElementVNode("button", {
            onClick: onDownload,
            class: "btn"
          }, "抖音下载"),
          vue.createVNode(Model, {
            title: title.value,
            code: code.value,
            ref_key: "model",
            ref: model
          }, null, 8, ["title", "code"]),
          vue.withDirectives(vue.createVNode(_component_el_progress, {
            class: "progressDown",
            "text-inside": true,
            "stroke-width": 26,
            percentage: percentage.value
          }, null, 8, ["percentage"]), [
            [vue.vShow, flag.value]
          ])
        ]);
      };
    }
  };
  const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5925a32f"]]);
  const cssLoader = (e) => {
    const t = GM_getResourceText(e);
    return GM_addStyle(t), t;
  };
  cssLoader("element-plus/dist/index.css");
  vue.createApp(App).mount(
    (() => {
      const app = document.createElement("div");
      document.body.append(app);
      return app;
    })()
  );

})(Vue, ElementPlus);