Greasy Fork

Greasy Fork is available in English.

网盘批量分享工具(支持蓝奏云,115网盘,123网盘,百度网盘,夸克网盘,阿里云盘,天翼网盘,迅雷网盘,中国移动网盘,UC网盘)

网盘文件批量分享,目前支持蓝奏云,115网盘,123网盘,百度网盘,夸克网盘,阿里云盘,天翼网盘,迅雷网盘,中国移动网盘,UC网盘~

当前为 2024-05-11 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         网盘批量分享工具(支持蓝奏云,115网盘,123网盘,百度网盘,夸克网盘,阿里云盘,天翼网盘,迅雷网盘,中国移动网盘,UC网盘)
// @namespace    dreamlove
// @version      2.5.6
// @author       superBiuBiu
// @description  网盘文件批量分享,目前支持蓝奏云,115网盘,123网盘,百度网盘,夸克网盘,阿里云盘,天翼网盘,迅雷网盘,中国移动网盘,UC网盘~
// @iconURL      https://www.google.com/s2/favicons?domain=dreamlove.top
// @supportURL   https://github.com/superBiuBiuMan/sharelink/
// @match        https://onedrive.live.com/*
// @match        https://cloud.189.cn/*
// @match        https://pan.baidu.com/disk/main*
// @match        https://115.com/*
// @match        https://www.123pan.com/*
// @match        https://pan.quark.cn/*
// @match        https://yun.139.com/*
// @match        https://pan.xunlei.com/*
// @match        https://www.aliyundrive.com/*
// @match        https://drive.uc.cn/*
// @match        https://lanzou.com/u
// @match        https://www.lanzou.com/u
// @match        https://www.lanzou.com/account.php
// @match        https://up.woozooo.com/u
// @match        https://up.woozooo.com/mydisk.php
// @match        https://pc.woozooo.com/u
// @match        https://pc.woozooo.com/mydisk.php
// @match        https://lanzou.com/*
// @match        https://www.lanzou.com/*
// @match        https://pan.lanzou.com/*
// @require      https://cdn.bootcdn.net/ajax/libs/vue/3.3.4/vue.global.prod.min.js
// @require      https://cdn.bootcdn.net/ajax/libs/vue-demi/0.14.6/index.iife.min.js
// @require      data:application/javascript,window.Vue%3DVue%3B
// @require      https://lib.baomitu.com/pinia/2.1.6/pinia.iife.prod.min.js
// @require      https://lib.baomitu.com/xlsx/0.18.5/xlsx.mini.min.js
// @require      https://unpkg.com/[email protected]/dist/tdesign.min.js
// @require      https://lib.baomitu.com/axios/1.6.0/axios.min.js
// @resource     tdesign-vue-next/es/style/index.css  https://unpkg.com/[email protected]/dist/tdesign.min.css
// @connect      webapi.115.com
// @connect      drive-pc.quark.cn
// @connect      api-pan.xunlei.com
// @connect      api.aliyundrive.com
// @connect      pc-api.uc.cn
// @grant        GM_addStyle
// @grant        GM_getResourceText
// @grant        GM_xmlhttpRequest
// @grant        unsafeWindow
// @run-at       document-body
// ==/UserScript==

(t=>{if(typeof GM_addStyle=="function"){GM_addStyle(t);return}const a=document.createElement("style");a.textContent=t,document.head.append(a)})(" @keyframes t-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.t-icon{display:inline-block;vertical-align:middle;width:1em;height:1em}.t-icon:before{font-family:unset}.t-icon-loading{animation:t-spin 1s linear infinite}.t-icon{fill:currentColor}.t-icon.t-size-s,i.t-size-s{font-size:14px}.t-icon.t-size-m,i.t-size-m{font-size:16px}.t-icon.t-size-l,i.t-size-l{font-size:18px}.tianyiCloud[data-v-ce767d83]{height:100%;display:flex;flex-direction:column}.tianyiCloud_option[data-v-ce767d83]{display:flex;align-items:center;margin:0 0 20px}.tianyiCloud_option_time[data-v-ce767d83]{margin-left:10px}.tianyiCloud_result[data-v-ce767d83]{flex:1;overflow:auto}.baiduCloud[data-v-eb86a8a4]{height:100%;display:flex;flex-direction:column}.baiduCloud_option_item[data-v-eb86a8a4]:nth-of-type(2){margin:14px 0}.baiduCloud_result[data-v-eb86a8a4]{flex:1;overflow:auto}.cloud115[data-v-b1c14897]{height:100%;display:flex;flex-direction:column}.cloud115_option[data-v-b1c14897]{display:flex;align-items:center;margin:0 0 20px}.cloud115_option_time[data-v-b1c14897]{margin-left:10px}.cloud115_result[data-v-b1c14897]{flex:1;overflow:auto}.cloud123[data-v-d65c6fd0]{height:100%;display:flex;flex-direction:column}.cloud123_option[data-v-d65c6fd0]{margin:0 0 10px}.cloud123_option_item[data-v-d65c6fd0]{display:flex;align-items:center;margin:10px 0}.cloud123_option_item_title[data-v-d65c6fd0]{display:inline-block;width:100px}.cloud123_result[data-v-d65c6fd0]{flex:1;overflow:auto}.lanzouCloud[data-v-98dce44d]{height:100%;display:flex;flex-direction:column}.lanzouCloud_option[data-v-98dce44d]{margin:0 0 10px}.lanzouCloud_option_item[data-v-98dce44d]{display:flex;align-items:center}.lanzouCloud_option_item_title[data-v-98dce44d]{display:inline-block;width:100px}.lanzouCloud_result[data-v-98dce44d]{flex:1;overflow:auto}.quarkCloud[data-v-7ddcaef9]{height:100%;display:flex;flex-direction:column}.quarkCloud_option_item[data-v-7ddcaef9]{display:flex;align-items:center}.quarkCloud_result[data-v-7ddcaef9]{flex:1;overflow:auto}.cloud139[data-v-f1489390]{height:100%;display:flex;flex-direction:column}.cloud139_option[data-v-f1489390]{margin:0 0 10px}.cloud139_option_item[data-v-f1489390]{display:flex;align-items:center}.cloud139_option_item_title[data-v-f1489390]{display:inline-block;width:100px}.cloud139_result[data-v-f1489390]{flex:1;overflow:auto}.xunCloud[data-v-3dbd7c07]{height:100%;display:flex;flex-direction:column}.xunCloud[data-v-3dbd7c07] .t-input--auto-width{min-width:120px}.xunCloud_option_item[data-v-3dbd7c07]{display:flex;align-items:center}.xunCloud_option_item_title[data-v-3dbd7c07]{min-width:70px}.xunCloud_result[data-v-3dbd7c07]{flex:1;overflow:auto}.aliCloud[data-v-3ab6544a]{height:100%;display:flex;flex-direction:column}.aliCloud_option_item[data-v-3ab6544a]{display:flex;align-items:center}.aliCloud_option_item_title[data-v-3ab6544a]{min-width:70px}.aliCloud_result[data-v-3ab6544a]{flex:1;overflow:auto}.ucCloud[data-v-95aac119]{height:100%;display:flex;flex-direction:column}.ucCloud[data-v-95aac119] .t-input--auto-width{min-width:120px}.ucCloud_option_item[data-v-95aac119]{display:flex;align-items:center}.ucCloud_option_item_title[data-v-95aac119]{min-width:70px}.ucCloud_result[data-v-95aac119]{flex:1;overflow:auto}.cloud123[data-v-3551589d]{height:100%;display:flex;flex-direction:column}.cloud123_option[data-v-3551589d]{margin:0 0 10px}.cloud123_option_item[data-v-3551589d]{display:flex;align-items:center;margin:10px 0}.cloud123_option_item_title[data-v-3551589d]{display:inline-block;width:100px}.cloud123_result[data-v-3551589d]{flex:1;overflow:auto} ");

(function (vue, pinia, XLSX, tdesignVueNext, axios) {
  'use strict';

  function _interopNamespaceDefault(e) {
    const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
    if (e) {
      for (const k in e) {
        if (k !== 'default') {
          const d = Object.getOwnPropertyDescriptor(e, k);
          Object.defineProperty(n, k, d.get ? d : {
            enumerable: true,
            get: () => e[k]
          });
        }
      }
    }
    n.default = e;
    return Object.freeze(n);
  }

  const XLSX__namespace = /*#__PURE__*/_interopNamespaceDefault(XLSX);

  const cssLoader = (e) => {
    const t = GM_getResourceText(e);
    return GM_addStyle(t), t;
  };
  cssLoader("tdesign-vue-next/es/style/index.css");
  function _defineProperty(obj, key, value) {
    if (key in obj) {
      Object.defineProperty(obj, key, {
        value,
        enumerable: true,
        configurable: true,
        writable: true
      });
    } else {
      obj[key] = value;
    }
    return obj;
  }
  function ownKeys$1(object, enumerableOnly) {
    var keys = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys.push.apply(keys, symbols);
    }
    return keys;
  }
  function _objectSpread$1(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1(Object(source), true).forEach(function(key) {
        _defineProperty(target, key, source[key]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function(key) {
        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
      });
    }
    return target;
  }
  function camel2Kebab(camelString) {
    var covertArr = ["fillOpacity", "fillRule", "clipRule"];
    if (covertArr.includes(camelString)) {
      return camelString.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
    }
    return camelString;
  }
  function renderFn(node, props) {
    var kebabAttrs = Object.keys(node.attrs).reduce((result, key) => {
      result[camel2Kebab(key)] = node.attrs[key];
      return result;
    }, {});
    return vue.h(node.tag, _objectSpread$1(_objectSpread$1({}, kebabAttrs), props), (node.children || []).map((child) => renderFn(child, {})));
  }
  var DEFAULT_CLASS_PREFIX = "t";
  var DEFAULT_LOCALE = "zh-CN";
  var ConfigContext = {
    classPrefix: DEFAULT_CLASS_PREFIX,
    locale: DEFAULT_LOCALE
  };
  const ConfigContext$1 = ConfigContext;
  function useCommonClassName() {
    var {
      classPrefix
    } = ConfigContext$1;
    return {
      SIZE: {
        default: "",
        xs: "".concat(classPrefix, "-size-xs"),
        small: "".concat(classPrefix, "-size-s"),
        medium: "".concat(classPrefix, "-size-m"),
        large: "".concat(classPrefix, "-size-l"),
        xl: "".concat(classPrefix, "-size-xl"),
        block: "".concat(classPrefix, "-size-full-width")
      },
      STATUS: {
        loading: "".concat(classPrefix, "-is-loading"),
        disabled: "".concat(classPrefix, "-is-disabled"),
        focused: "".concat(classPrefix, "-is-focused"),
        success: "".concat(classPrefix, "-is-success"),
        error: "".concat(classPrefix, "-is-error"),
        warning: "".concat(classPrefix, "-is-warning"),
        selected: "".concat(classPrefix, "-is-selected"),
        active: "".concat(classPrefix, "-is-active"),
        checked: "".concat(classPrefix, "-is-checked"),
        current: "".concat(classPrefix, "-is-current"),
        hidden: "".concat(classPrefix, "-is-hidden"),
        visible: "".concat(classPrefix, "-is-visible"),
        expanded: "".concat(classPrefix, "-is-expanded"),
        indeterminate: "".concat(classPrefix, "-is-indeterminate")
      }
    };
  }
  function useSizeProps(size) {
    var COMMON_SIZE_CLASS_NAMES = useCommonClassName().SIZE;
    var className = vue.computed(() => {
      if (size.value in COMMON_SIZE_CLASS_NAMES) {
        return COMMON_SIZE_CLASS_NAMES[size.value];
      }
      return "";
    });
    var style2 = vue.computed(() => {
      if (size.value === void 0 || size.value in COMMON_SIZE_CLASS_NAMES) {
        return {};
      }
      return {
        fontSize: size.value
      };
    });
    return {
      style: style2,
      className
    };
  }
  function ownKeys(object, enumerableOnly) {
    var keys = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys.push.apply(keys, symbols);
    }
    return keys;
  }
  function _objectSpread(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys(Object(source), true).forEach(function(key) {
        _defineProperty(target, key, source[key]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
      });
    }
    return target;
  }
  var element = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M6 4V1.5h2V4h8V1.5h2V4h4v18H2V4h4zM4 6v3h16V6H4zm16 5H4v9h16v-9z"
      }
    }]
  };
  var calendar = vue.defineComponent({
    name: "CalendarIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-calendar", className.value]);
      var finalStyle = vue.computed(() => _objectSpread(_objectSpread({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props, {
            e
          });
        }
      }));
      return () => renderFn(element, finalProps.value);
    }
  });
  const CalendarIcon = calendar;
  var CloudInfoEnum = /* @__PURE__ */ ((CloudInfoEnum2) => {
    CloudInfoEnum2[CloudInfoEnum2["cloud115"] = 0] = "cloud115";
    CloudInfoEnum2[CloudInfoEnum2["cloud123"] = 1] = "cloud123";
    CloudInfoEnum2[CloudInfoEnum2["cloudBaidu"] = 2] = "cloudBaidu";
    CloudInfoEnum2[CloudInfoEnum2["cloudLanZou"] = 3] = "cloudLanZou";
    CloudInfoEnum2[CloudInfoEnum2["cloudTianyi"] = 4] = "cloudTianyi";
    CloudInfoEnum2[CloudInfoEnum2["cloudQuark"] = 5] = "cloudQuark";
    CloudInfoEnum2[CloudInfoEnum2["cloud139"] = 6] = "cloud139";
    CloudInfoEnum2[CloudInfoEnum2["cloudXun"] = 7] = "cloudXun";
    CloudInfoEnum2[CloudInfoEnum2["cloudAli"] = 8] = "cloudAli";
    CloudInfoEnum2[CloudInfoEnum2["cloudUC"] = 9] = "cloudUC";
    CloudInfoEnum2[CloudInfoEnum2["cloudOnedrive"] = 10] = "cloudOnedrive";
    return CloudInfoEnum2;
  })(CloudInfoEnum || {});
  const ShareDOMSelect = {
    "cloud115": {
      select: "div.list-contents > ul li.selected",
      idAttribute: ["file_id", "cate_id"]
    },
    "cloudTianyi": {
      idAttribute: ["data-fileid"],
      select: "li[data-selected=true].c-file-item",
      fileNameSelect: ".file-item-name-fileName-span"
    },
    "cloudQuark": {
      idAttribute: ["data-row-key"],
      select: ".ant-table-row-selected",
      fileNameSelect: ".filename-text"
    }
  };
  const cloudUrlInfo = {
    cloud123: ["https://www.123pan.com/"],
    cloudBaidu: ["https://pan.baidu.com/disk/main"],
    cloudLanZou: [
      "https://pc.woozooo.com/",
      "https:\\/\\/..*?\\.woozooo\\.com",
      "https:\\/\\/.*?\\.lanzou.*?\\.com"
    ],
    cloudTianyi: ["https://cloud.189.cn/web/main/"],
    cloud115: ["https://115.com"],
    cloudQuark: ["https://pan.quark.cn/"],
    cloud139: ["https://yun.139.com/"],
    cloudXun: ["https://pan.xunlei.com/"],
    cloudAli: ["https://www.aliyundrive.com/"],
    cloudUC: ["https://drive.uc.cn/"],
    cloudOnedrive: ["https://onedrive.live.com/"]
  };
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
  function getDefaultExportFromCjs(x) {
    return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
  }
  var FileSaver_min = { exports: {} };
  (function(module, exports) {
    (function(a, b) {
      b();
    })(commonjsGlobal, function() {
      function b(a2, b2) {
        return "undefined" == typeof b2 ? b2 = { autoBom: false } : "object" != typeof b2 && (console.warn("Deprecated: Expected third argument to be a object"), b2 = { autoBom: !b2 }), b2.autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a2.type) ? new Blob(["\uFEFF", a2], { type: a2.type }) : a2;
      }
      function c(a2, b2, c2) {
        var d2 = new XMLHttpRequest();
        d2.open("GET", a2), d2.responseType = "blob", d2.onload = function() {
          g(d2.response, b2, c2);
        }, d2.onerror = function() {
          console.error("could not download file");
        }, d2.send();
      }
      function d(a2) {
        var b2 = new XMLHttpRequest();
        b2.open("HEAD", a2, false);
        try {
          b2.send();
        } catch (a3) {
        }
        return 200 <= b2.status && 299 >= b2.status;
      }
      function e(a2) {
        try {
          a2.dispatchEvent(new MouseEvent("click"));
        } catch (c2) {
          var b2 = document.createEvent("MouseEvents");
          b2.initMouseEvent("click", true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null), a2.dispatchEvent(b2);
        }
      }
      var f = "object" == typeof window && window.window === window ? window : "object" == typeof self && self.self === self ? self : "object" == typeof commonjsGlobal && commonjsGlobal.global === commonjsGlobal ? commonjsGlobal : void 0, a = f.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent), g = f.saveAs || ("object" != typeof window || window !== f ? function() {
      } : "download" in HTMLAnchorElement.prototype && !a ? function(b2, g2, h2) {
        var i = f.URL || f.webkitURL, j = document.createElement("a");
        g2 = g2 || b2.name || "download", j.download = g2, j.rel = "noopener", "string" == typeof b2 ? (j.href = b2, j.origin === location.origin ? e(j) : d(j.href) ? c(b2, g2, h2) : e(j, j.target = "_blank")) : (j.href = i.createObjectURL(b2), setTimeout(function() {
          i.revokeObjectURL(j.href);
        }, 4e4), setTimeout(function() {
          e(j);
        }, 0));
      } : "msSaveOrOpenBlob" in navigator ? function(f2, g2, h2) {
        if (g2 = g2 || f2.name || "download", "string" != typeof f2)
          navigator.msSaveOrOpenBlob(b(f2, h2), g2);
        else if (d(f2))
          c(f2, g2, h2);
        else {
          var i = document.createElement("a");
          i.href = f2, i.target = "_blank", setTimeout(function() {
            e(i);
          });
        }
      } : function(b2, d2, e2, g2) {
        if (g2 = g2 || open("", "_blank"), g2 && (g2.document.title = g2.document.body.innerText = "downloading..."), "string" == typeof b2)
          return c(b2, d2, e2);
        var h2 = "application/octet-stream" === b2.type, i = /constructor/i.test(f.HTMLElement) || f.safari, j = /CriOS\/[\d]+/.test(navigator.userAgent);
        if ((j || h2 && i || a) && "undefined" != typeof FileReader) {
          var k = new FileReader();
          k.onloadend = function() {
            var a2 = k.result;
            a2 = j ? a2 : a2.replace(/^data:[^;]*;/, "data:attachment/file;"), g2 ? g2.location.href = a2 : location = a2, g2 = null;
          }, k.readAsDataURL(b2);
        } else {
          var l = f.URL || f.webkitURL, m = l.createObjectURL(b2);
          g2 ? g2.location = m : location.href = m, g2 = null, setTimeout(function() {
            l.revokeObjectURL(m);
          }, 4e4);
        }
      });
      f.saveAs = g.saveAs = g, module.exports = g;
    });
  })(FileSaver_min);
  var FileSaver_minExports = FileSaver_min.exports;
  const FileSaver = /* @__PURE__ */ getDefaultExportFromCjs(FileSaver_minExports);
  function generateRandomString(numDigits = 4) {
    const numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
    const letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
    let result = "";
    for (let i = 0; i < numDigits; i++) {
      const randomIndex = Math.floor(Math.random() * (numbers.length + letters.length));
      if (randomIndex < numbers.length) {
        result += String(numbers[randomIndex]);
      } else {
        result += letters[randomIndex - numbers.length];
      }
    }
    return result;
  }
  function DownloadTxt(fileName, content) {
    const element2 = document.createElement("a");
    element2.setAttribute("href", "data:text/plain;charset=utf-8," + encodeURIComponent(content));
    element2.setAttribute("download", fileName);
    element2.style.display = "none";
    document.body.append(element2);
    element2.click();
    document.body.removeChild(element2);
  }
  function CopyValueToClipBoard(content) {
    return new Promise((resolve2, reject2) => {
      if (window.isSecureContext) {
        navigator.clipboard.writeText(content).then((res) => {
          resolve2(res);
        }).catch((err) => {
          reject2(err);
        });
      } else {
        reject2("很抱歉,暂时不支持在此网站上复制");
      }
    });
  }
  function get123CloudSecret() {
    function v(t) {
      return (v = "function" == typeof Symbol && "symbol" == typeof Symbol["iterator"] ? function(t2) {
        return typeof t2;
      } : function(t2) {
        return t2 && "function" == typeof Symbol && t2.constructor === Symbol && t2 !== Symbol["prototype"] ? "symbol" : typeof t2;
      })(t);
    }
    function A(t, e2) {
      e2 = 1 < arguments.length && void 0 !== e2 ? e2 : 10;
      for (var n2 = function() {
        for (var t2 = [], e3 = 0; e3 < 256; e3++) {
          for (var n3 = e3, r3 = 0; r3 < 8; r3++)
            n3 = 1 & n3 ? 3988292384 ^ n3 >>> 1 : n3 >>> 1;
          t2[e3] = n3;
        }
        return t2;
      }(), r2 = function(t2) {
        t2 = t2.replace(/\\r\\n/g, "\\n");
        for (var e3 = "", n3 = 0; n3 < t2.length; n3++) {
          var r3 = t2.charCodeAt(n3);
          r3 < 128 ? e3 += String.fromCharCode(r3) : e3 = 127 < r3 && r3 < 2048 ? (e3 += String.fromCharCode(r3 >> 6 | 192)) + String.fromCharCode(63 & r3 | 128) : (e3 = (e3 += String.fromCharCode(r3 >> 12 | 224)) + String.fromCharCode(r3 >> 6 & 63 | 128)) + String.fromCharCode(63 & r3 | 128);
        }
        return e3;
      }(t), a2 = -1, i2 = 0; i2 < r2.length; i2++)
        a2 = a2 >>> 8 ^ n2[255 & (a2 ^ r2.charCodeAt(i2))];
      return (a2 = (-1 ^ a2) >>> 0).toString(e2);
    }
    var a, i, o, s, l, c, u, d, f, p, h2, g;
    var e = "/a/api/share/share/create";
    var n = "web";
    var r = 3;
    function getRandom(t) {
      for (; ; )
        switch (t.prev = t.next) {
          case 0:
            for (p in a = Math.round(1e7 * Math.random()), o = Math.round(((/* @__PURE__ */ new Date()).getTime() + 60 * (/* @__PURE__ */ new Date()).getTimezoneOffset() * 1e3 + 288e5) / 1e3).toString(), sessionStorage.getItem("serverTimestamp") && (i = sessionStorage.getItem("serverTimestamp")), o = i && (m = i, 20 <= Math.abs(1e3 * o - 1e3 * m) / 1e3 / 60) ? i : o, s = atob((m = void 0, m = ["a", "d", "e", "f", "g", "h", "l", "m", "y", "i", "j", "n", "o", "p", "k", "q", "r", "s", "t", "u", "b", "c", "v", "w", "s", "z"].join(","), btoa(m))).split(","), u = function(t2, e2, n2) {
              var r2;
              n2 = 2 < arguments.length && void 0 !== n2 ? n2 : 8;
              return 0 === arguments.length ? null : (r2 = "object" === v(t2) ? t2 : (10 === "".concat(t2).length && (t2 = 1e3 * Number.parseInt(t2)), new Date(t2)), t2 += 6e4 * new Date(t2).getTimezoneOffset(), {
                y: (r2 = new Date(t2 + 36e5 * n2)).getFullYear(),
                m: r2.getMonth() + 1 < 10 ? "0".concat(String(r2.getMonth() + 1)) : r2.getMonth() + 1,
                d: r2.getDate() < 10 ? "0".concat(r2.getDate()) : r2.getDate(),
                h: r2.getHours() < 10 ? "0".concat(r2.getHours()) : r2.getHours(),
                f: r2.getMinutes() < 10 ? "0".concat(r2.getMinutes()) : r2.getMinutes()
              });
            }(o), h2 = u.y, g = u.m, l = u.d, c = u.h, u = u.f, d = [h2, g, l, c, u].join(""), f = [], d)
              f.push(s[Number(d[p])]);
            return h2 = A(f.join("")), g = A("".concat(o, "|").concat(a, "|").concat(e, "|").concat(n, "|").concat(String(r), "|").concat(h2)), t.abrupt("return", [h2, "".concat(o, "-").concat(a, "-").concat(g)]);
          case 12:
          case "end":
            return t.stop();
        }
      var m;
    }
    const object = {
      next: 0,
      prev: 0,
      arg: void 0,
      abrupt: (str, result) => {
        return result;
      }
    };
    return getRandom(object);
  }
  function getDate123Cloud(day) {
    function M(t) {
      function e(t2) {
        return ((t2 = Math.floor(Math.abs(t2))) < 10 ? "0" : "") + t2;
      }
      var n = -t.getTimezoneOffset(), r = 0 <= n ? "+" : "-";
      return "".concat(t.getFullYear(), "-").concat(e(t.getMonth() + 1), "-").concat(e(t.getDate()), "T").concat(e(t.getHours()), ":").concat(e(t.getMinutes()), ":").concat(e(t.getSeconds())).concat(r).concat(e(n / 60), ":").concat(e(n % 60));
    }
    day = day * 1;
    switch (day) {
      case 1:
        return Object(M)(/* @__PURE__ */ new Date(+/* @__PURE__ */ new Date() + 864e5));
      case 7:
        return Object(M)(/* @__PURE__ */ new Date(+/* @__PURE__ */ new Date() + 6048e5));
      case 30:
        return Object(M)(/* @__PURE__ */ new Date(+/* @__PURE__ */ new Date() + 2592e6));
      case 99:
        return Object(M)(/* @__PURE__ */ new Date("2099/12/12 08:00:00"));
    }
  }
  function bodyParse(body) {
    const result = (body == null ? void 0 : body.split("&")) ?? [];
    let obj = {};
    for (let item of result) {
      const temp = (item == null ? void 0 : item.split("=")) ?? [];
      if (temp.length > 1) {
        obj[temp[0]] = temp[1];
      }
    }
    return obj;
  }
  function findCloudProvider(url, cloudUrlInfos) {
    for (const provider in cloudUrlInfos) {
      const urls = cloudUrlInfos[provider];
      for (const cloudUrl of urls) {
        if (isMatchingUrl(url, cloudUrl)) {
          return provider;
        }
      }
    }
    return null;
  }
  function isMatchingUrl(url, pattern) {
    if (pattern.includes("*")) {
      return new RegExp(pattern, "g").test(url);
    } else {
      return url.startsWith(pattern);
    }
  }
  function observeDOMChanges(selector, callback, options = { interval: 300, observerOptions: { childList: true, subtree: true, attributes: true } }) {
    if (!selector) {
      console.error("请传入选择器");
      throw new Error("请传入选择器");
    }
    let timer;
    const startObserver = () => {
      const targetDOM = document.querySelector(selector);
      if (!targetDOM)
        return;
      clearInterval(timer);
      const observer = new MutationObserver(() => {
        console.log("执行回调");
        callback(targetDOM);
        observer.disconnect();
      });
      observer.observe(targetDOM, options.observerOptions);
    };
    timer = setInterval(startObserver, options.interval ?? 300);
  }
  function findLocalStorageKeysWithPrefix(prefix) {
    let result = {};
    for (const key in localStorage) {
      if (localStorage.hasOwnProperty(key) && key.startsWith(prefix)) {
        result = JSON.parse(localStorage[key]);
      }
    }
    return result;
  }
  function exportXlsxFile(filename, data) {
    const worksheet = XLSX__namespace.utils.json_to_sheet(data);
    const workbook = XLSX__namespace.utils.book_new();
    XLSX__namespace.utils.book_append_sheet(workbook, worksheet, "Sheet1");
    const wb_out = XLSX__namespace.write(workbook, { type: "buffer" });
    FileSaver.saveAs(new Blob([wb_out], { type: "application/octet-stream" }), filename);
  }
  const CloudInfoStore = pinia.defineStore({
    id: "cloudinfo",
    state: () => ({
      currentCloud: "",
      //当前的网盘对应索引值
      cloudName: "",
      //网盘名字
      cloudKey: ""
      //网盘key
    }),
    actions: {
      //初始化网盘信息
      initCloudInfo() {
        const url = window.location.href;
        console.log("当前网址", url);
        const cloudKey = findCloudProvider(url, cloudUrlInfo) ?? "";
        console.log("所属网盘", cloudKey);
        if (!cloudKey) {
          console.error("初始化网盘信息出错");
          throw new Error("初始化网盘信息出错");
        }
        this.cloudKey = cloudKey;
        this.currentCloud = CloudInfoEnum[cloudKey];
        switch (this.currentCloud) {
          case CloudInfoEnum.cloudLanZou:
            {
              this.cloudName = "蓝奏云";
            }
            break;
          case CloudInfoEnum.cloudTianyi:
            {
              this.cloudName = "天翼云";
            }
            break;
          case CloudInfoEnum.cloudBaidu:
            {
              this.cloudName = "百度云";
            }
            break;
          case CloudInfoEnum.cloud115:
            {
              this.cloudName = "115云";
            }
            break;
          case CloudInfoEnum.cloud123:
            {
              this.cloudName = "123云";
            }
            break;
          case CloudInfoEnum.cloudQuark:
            {
              this.cloudName = "夸克网盘";
            }
            break;
          case CloudInfoEnum.cloud139:
            {
              this.cloudName = "中国移动(139)网盘";
            }
            break;
          case CloudInfoEnum.cloudXun:
            {
              this.cloudName = "迅雷网盘";
            }
            break;
          case CloudInfoEnum.cloudAli:
            {
              this.cloudName = "阿里云盘";
            }
            break;
          case CloudInfoEnum.cloudUC:
            {
              this.cloudName = "UC网盘";
            }
            break;
          case CloudInfoEnum.cloudOnedrive:
            {
              this.cloudName = "Onedrive云盘";
            }
            break;
          default:
            this.cloudName = "未知网盘";
        }
      }
    }
  });
  const store = pinia.createPinia();
  const Pinia = (app) => {
    app.use(store);
  };
  const cloudInfoStore = CloudInfoStore(store);
  cloudInfoStore.initCloudInfo();
  var ExpireTimeEnum$8 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 2099] = "forever";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$8 || {});
  const transformExcelInfoData$9 = (data) => {
    return (data == null ? void 0 : data.map((item) => {
      let time = "";
      switch (item.expireTime) {
        case ExpireTimeEnum$8.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$8.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$8.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return {
        "文件名称": (item == null ? void 0 : item.fileName) ?? "",
        "分享链接": (item == null ? void 0 : item.url) ?? "",
        "提取码": (item == null ? void 0 : item.accessCode) ?? "",
        "有效期": time
      };
    })) ?? [];
  };
  const useTianyiCloud = () => {
    const userOptions = vue.ref({
      shareDelay: 500,
      expireTime: ExpireTimeEnum$8.forever,
      shareInfo: [],
      shareInfoUserSee: "",
      shareProgress: 0,
      selectFileInfoList: [],
      isSharing: false
    });
    const handleTransformFormat = (info) => {
      let time = "";
      switch (info.expireTime) {
        case ExpireTimeEnum$8.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$8.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$8.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return `文件名称: ${info.fileName} 分享链接:${info.url} 提取码:${info.accessCode} 分享有效时间: ${time}`;
    };
    const handleTransformShareParams = (params) => {
      return {
        noCache: Math.random(),
        fileId: params.id,
        expireTime: params.expireTime,
        shareType: "3"
        //固定值
      };
    };
    const handleBatchOperation = async () => {
      var _a, _b, _c, _d, _e;
      const selectDOM = document.querySelectorAll((_a = ShareDOMSelect["cloudTianyi"]) == null ? void 0 : _a.select);
      if (!selectDOM.length) {
        return tdesignVueNext.MessagePlugin.warning("请选择要分享的文件!");
      }
      userOptions.value.isSharing = true;
      const currentShareInfo = [];
      for (let dom of selectDOM) {
        userOptions.value.selectFileInfoList.push({
          id: dom.getAttribute((_c = (_b = ShareDOMSelect["cloudTianyi"]) == null ? void 0 : _b.idAttribute) == null ? void 0 : _c[0]) ?? "",
          fileName: ((_e = dom.querySelector((_d = ShareDOMSelect["cloudTianyi"]) == null ? void 0 : _d.fileNameSelect)) == null ? void 0 : _e.textContent) ?? "(!!$$未知名称!!$$)",
          expireTime: userOptions.value.expireTime
        });
      }
      for (let fileInfo of userOptions.value.selectFileInfoList) {
        const { data: { shareLinkList } } = await axios({
          method: "get",
          url: window.location.origin + "/api/open/share/createShareLink.action",
          params: handleTransformShareParams(fileInfo),
          headers: {
            "accept": "application/json;charset=UTF-8"
          }
        }).catch(() => ({ data: { shareLinkList: [] } }));
        let tempData = {
          ...shareLinkList[0],
          ...fileInfo
        };
        userOptions.value.shareInfo.push(tempData);
        currentShareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(currentShareInfo.length / userOptions.value.selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await tdesignVueNext.MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareInfo = [];
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        tdesignVueNext.MessagePlugin.success("复制成功");
      }).catch(() => {
        tdesignVueNext.MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    const downloadExcel = () => {
      exportXlsxFile(`${cloudInfoStore.cloudName}批量分享${Date.now()}.xlsx`, transformExcelInfoData$9(userOptions.value.shareInfo));
    };
    return {
      userOptions,
      handleBatchOperation,
      handleTransformFormat,
      handleTransformShareParams,
      handleEnd,
      copyValue,
      download,
      downloadExcel
    };
  };
  const _withScopeId$a = (n) => (vue.pushScopeId("data-v-ce767d83"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$b = { class: "tianyiCloud" };
  const _hoisted_2$a = { class: "tianyiCloud_option" };
  const _hoisted_3$a = /* @__PURE__ */ _withScopeId$a(() => /* @__PURE__ */ vue.createElementVNode("span", null, "有效期:", -1));
  const _hoisted_4$a = { class: "tianyiCloud_option_time" };
  const _hoisted_5$a = { class: "tianyiCloud_operation" };
  const _hoisted_6$a = { class: "tianyiCloud_progress" };
  const _hoisted_7$9 = { class: "tianyiCloud_result" };
  const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download,
        downloadExcel
      } = useTianyiCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
          vue.createElementVNode("div", _hoisted_2$a, [
            _hoisted_3$a,
            vue.createVNode(_component_t_radio_group, {
              modelValue: vue.unref(userOptions).expireTime,
              "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).expireTime = $event)
            }, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_radio_button, {
                  value: vue.unref(ExpireTimeEnum$8).oneDay
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("1天")
                  ]),
                  _: 1
                }, 8, ["value"]),
                vue.createVNode(_component_t_radio_button, {
                  value: vue.unref(ExpireTimeEnum$8).sevenDay
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("7天")
                  ]),
                  _: 1
                }, 8, ["value"]),
                vue.createVNode(_component_t_radio_button, {
                  value: vue.unref(ExpireTimeEnum$8).forever
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("永久")
                  ]),
                  _: 1
                }, 8, ["value"])
              ]),
              _: 1
            }, 8, ["modelValue"]),
            vue.createElementVNode("div", _hoisted_4$a, [
              vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                default: vue.withCtx(() => [
                  vue.createTextVNode("延迟(毫秒):")
                ]),
                _: 1
              }),
              vue.createVNode(_component_t_input_number, {
                modelValue: vue.unref(userOptions).shareDelay,
                "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).shareDelay = $event),
                step: "100"
              }, null, 8, ["modelValue"])
            ])
          ]),
          vue.createElementVNode("div", _hoisted_5$a, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(downloadExcel)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载信息为Excel")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_6$a, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_7$9, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const _export_sfc = (sfc, props) => {
    const target = sfc.__vccOpts || sfc;
    for (const [key, val] of props) {
      target[key] = val;
    }
    return target;
  };
  const cloudTianyi = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-ce767d83"]]);
  var ExpireTimeEnum$7 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["thirtyDay"] = 30] = "thirtyDay";
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 0] = "forever";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$7 || {});
  var HasPwdEnum = /* @__PURE__ */ ((HasPwdEnum2) => {
    HasPwdEnum2[HasPwdEnum2["random"] = 0] = "random";
    HasPwdEnum2[HasPwdEnum2["self"] = 1] = "self";
    return HasPwdEnum2;
  })(HasPwdEnum || {});
  var _GM_xmlhttpRequest = /* @__PURE__ */ (() => typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : void 0)();
  var _unsafeWindow = /* @__PURE__ */ (() => typeof unsafeWindow != "undefined" ? unsafeWindow : void 0)();
  const transformExcelInfoData$8 = (data) => {
    return (data == null ? void 0 : data.map((item) => {
      let time = "";
      switch (item.expireTime) {
        case ExpireTimeEnum$7.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$7.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$7.thirtyDay:
          time = "30天";
          break;
        case ExpireTimeEnum$7.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return {
        "文件名称": (item == null ? void 0 : item.fileName) ?? "",
        "分享链接": (item == null ? void 0 : item.link) ?? "",
        "提取码": (item == null ? void 0 : item.pwd) ?? "",
        "有效期": time
      };
    })) ?? [];
  };
  const useBaiduCloud = () => {
    const userOptions = vue.ref({
      shareDelay: 300,
      expireTime: ExpireTimeEnum$7.forever,
      shareInfo: [],
      shareInfoUserSee: "",
      shareProgress: 0,
      selectFileInfoList: [],
      isSharing: false,
      pwdType: HasPwdEnum.random,
      pwd: ""
    });
    const handleTransformFormat = (info) => {
      let time = "";
      switch (info.expireTime) {
        case ExpireTimeEnum$7.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$7.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$7.thirtyDay:
          time = "30天";
          break;
        case ExpireTimeEnum$7.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return `文件名称: ${info.fileName} 分享链接:${info.link} 提取码:${info.pwd} 分享有效时间: ${time}`;
    };
    const handleBatchOperation = async () => {
      var _a;
      const selectDOM = document.querySelector("tbody").__vue__.$store.state.detail.view.fileMeta;
      if (!selectDOM.length) {
        return tdesignVueNext.MessagePlugin.warning("请选择要分享的文件!");
      }
      if (userOptions.value.pwdType === HasPwdEnum.self && !userOptions.value.pwd) {
        return tdesignVueNext.MessagePlugin.warning("选择自定义提取码,请设置提取码!");
      }
      userOptions.value.isSharing = true;
      const currentShareInfo = [];
      for (let item of selectDOM) {
        userOptions.value.selectFileInfoList.push({
          id: item.fs_id,
          //存储文件id
          fileName: item.formatName,
          //文件名称
          pwd: userOptions.value.pwdType === HasPwdEnum.random ? generateRandomString(4) : userOptions.value.pwd,
          expireTime: userOptions.value.expireTime
        });
      }
      for (let fileInfo of userOptions.value.selectFileInfoList) {
        const { locals } = _unsafeWindow ?? {};
        const { data } = await axios({
          method: "post",
          url: window.location.origin + "/share/set",
          params: {
            channel: "channel",
            clienttype: "0",
            bdstoken: (_a = locals == null ? void 0 : locals.userInfo) == null ? void 0 : _a.bdstoken,
            app_id: "250528",
            //未知-好像是定值
            web: 1
            //'dp-logid':'96456600647322280113',//未知
          },
          data: {
            period: fileInfo.expireTime,
            pwd: fileInfo.pwd,
            "eflag_disable": true,
            //不知道是什么参数,好像是分享类型eflag_disable: "personal" === e.shareType
            channel_list: [],
            //未知
            schannel: 4,
            //未知-貌似是一个定制
            fid_list: `[${fileInfo.id}]`
            //文件id
          },
          headers: {
            "accept": "application/json;charset=UTF-8",
            "Content-Type": " application/x-www-form-urlencoded"
          }
        }).catch(() => ({}));
        let tempData = {
          ...data,
          ...fileInfo
        };
        userOptions.value.shareInfo.push(tempData);
        currentShareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(currentShareInfo.length / userOptions.value.selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.selectFileInfoList = [];
      userOptions.value.isSharing = false;
      await tdesignVueNext.MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareInfo = [];
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        tdesignVueNext.MessagePlugin.success("复制成功");
      }).catch(() => {
        tdesignVueNext.MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    const downloadExcel = () => {
      exportXlsxFile(`${cloudInfoStore.cloudName}批量分享${Date.now()}.xlsx`, transformExcelInfoData$8(userOptions.value.shareInfo));
    };
    return {
      userOptions,
      handleBatchOperation,
      handleTransformFormat,
      handleEnd,
      copyValue,
      download,
      downloadExcel
    };
  };
  const _withScopeId$9 = (n) => (vue.pushScopeId("data-v-eb86a8a4"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$a = { class: "baiduCloud" };
  const _hoisted_2$9 = { class: "baiduCloud_option" };
  const _hoisted_3$9 = { class: "baiduCloud_option_item" };
  const _hoisted_4$9 = /* @__PURE__ */ _withScopeId$9(() => /* @__PURE__ */ vue.createElementVNode("span", null, "有效期:", -1));
  const _hoisted_5$9 = { class: "baiduCloud_option_item" };
  const _hoisted_6$9 = /* @__PURE__ */ _withScopeId$9(() => /* @__PURE__ */ vue.createElementVNode("span", null, "提取码:", -1));
  const _hoisted_7$8 = {
    key: 0,
    style: { "margin-top": "4px" }
  };
  const _hoisted_8$7 = { class: "baiduCloud_operation" };
  const _hoisted_9$7 = { class: "baiduCloud_progress" };
  const _hoisted_10$5 = { class: "baiduCloud_result" };
  const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download,
        downloadExcel
      } = useBaiduCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_input = vue.resolveComponent("t-input");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
          vue.createElementVNode("div", _hoisted_2$9, [
            vue.createElementVNode("div", _hoisted_3$9, [
              _hoisted_4$9,
              vue.createVNode(_component_t_radio_group, {
                modelValue: vue.unref(userOptions).expireTime,
                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).expireTime = $event)
              }, {
                default: vue.withCtx(() => [
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$7).oneDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("1天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$7).sevenDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("7天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$7).thirtyDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("30天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$7).forever
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("永久")
                    ]),
                    _: 1
                  }, 8, ["value"])
                ]),
                _: 1
              }, 8, ["modelValue"]),
              vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                default: vue.withCtx(() => [
                  vue.createTextVNode(" 延迟(毫秒):")
                ]),
                _: 1
              }),
              vue.createVNode(_component_t_input_number, {
                modelValue: vue.unref(userOptions).shareDelay,
                "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).shareDelay = $event),
                step: "100"
              }, null, 8, ["modelValue"])
            ]),
            vue.createElementVNode("div", _hoisted_5$9, [
              _hoisted_6$9,
              vue.createVNode(_component_t_radio_group, {
                modelValue: vue.unref(userOptions).pwdType,
                "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).pwdType = $event)
              }, {
                default: vue.withCtx(() => [
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(HasPwdEnum).random
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("随机提取码")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(HasPwdEnum).self
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("自定义提取码")
                    ]),
                    _: 1
                  }, 8, ["value"])
                ]),
                _: 1
              }, 8, ["modelValue"]),
              vue.unref(userOptions).pwdType === vue.unref(HasPwdEnum).self ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$8, [
                vue.createVNode(_component_t_input, {
                  modelValue: vue.unref(userOptions).pwd,
                  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(userOptions).pwd = $event),
                  placeholder: "请输入自定义提取码(只支持数字和英文,最长4位)",
                  maxlength: "4"
                }, null, 8, ["modelValue"])
              ])) : vue.createCommentVNode("", true)
            ])
          ]),
          vue.createElementVNode("div", _hoisted_8$7, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(downloadExcel)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载信息为Excel")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_9$7, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_10$5, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloudBaidu = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-eb86a8a4"]]);
  var ExpireTimeEnum$6 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = -1] = "forever";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$6 || {});
  const transformExcelInfoData$7 = (data) => {
    return (data == null ? void 0 : data.map((item) => {
      return {
        "文件名称": (item == null ? void 0 : item.fileName) ?? "",
        "分享链接": (item == null ? void 0 : item.share_url) ?? "",
        "提取码": (item == null ? void 0 : item.receive_code) ?? "",
        "有效期": (item == null ? void 0 : item.share_ex_duration) ?? ""
      };
    })) ?? [];
  };
  const use115Cloud = () => {
    const shareDelay = vue.ref(500);
    const expireTime = vue.ref(ExpireTimeEnum$6.forever);
    const shareInfo = vue.ref([]);
    const shareInfoUserSee = vue.ref("");
    const shareProgress = vue.ref(0);
    const selectFileInfoList = vue.ref([]);
    const isSharing = vue.ref(false);
    const handleTransformFormat = (info) => {
      return `文件名称: ${info.fileName} 分享链接:${info.share_url} 提取码:${info.receive_code} 分享有效时间: ${info.share_ex_duration}`;
    };
    const handleBatchOperation = async () => {
      var _a, _b, _c, _d, _e;
      const iframe = document.querySelector("iframe");
      const iframeWindow = iframe.contentWindow ?? _unsafeWindow;
      const selectDOM = iframeWindow.document.querySelectorAll((_a = ShareDOMSelect["cloud115"]) == null ? void 0 : _a.select);
      if (!selectDOM.length) {
        return tdesignVueNext.MessagePlugin.warning("请选择要分享的文件!");
      }
      isSharing.value = true;
      selectFileInfoList.value = [];
      for (let dom of selectDOM) {
        const id = (dom.getAttribute((_c = (_b = ShareDOMSelect["cloud115"]) == null ? void 0 : _b.idAttribute) == null ? void 0 : _c[0]) || dom.getAttribute((_e = (_d = ShareDOMSelect["cloud115"]) == null ? void 0 : _d.idAttribute) == null ? void 0 : _e[1])) ?? "";
        const title = dom.getAttribute("title");
        selectFileInfoList.value.push({
          id,
          //存储文件id
          fileName: title ?? "(!!$$未知名称!!$$)"
          //文件名称
        });
      }
      for (let fileInfo of selectFileInfoList.value) {
        const formData = new FormData();
        const { user_id } = _unsafeWindow || {};
        formData.append("user_id", user_id);
        formData.append("file_ids", fileInfo.id + "");
        formData.append("ignore_warn", "1");
        formData.append("is_asc", "0");
        formData.append("order", "user_ptime");
        _GM_xmlhttpRequest({
          method: "post",
          url: "https://webapi.115.com/share/send",
          headers: {
            "Accept": "application/json, text/javascript, */*; q=0.01"
          },
          data: formData,
          onload: ({ response }) => {
            const result = JSON.parse(response);
            let tempData = {
              ...result.data || {},
              fileName: fileInfo.fileName
            };
            shareInfo.value.push(tempData);
            shareInfoUserSee.value += handleTransformFormat(tempData) + "\n";
            shareProgress.value = Math.floor(shareInfo.value.length / selectFileInfoList.value.length * 100);
          },
          onerror: (res) => {
            console.error("失败", res);
          }
        });
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, shareDelay.value);
        });
      }
      shareProgress.value = 100;
      isSharing.value = false;
      tdesignVueNext.MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      shareInfo.value = [];
      shareInfoUserSee.value = "";
      shareProgress.value = 0;
      selectFileInfoList.value = [];
    };
    const copyValue = () => {
      CopyValueToClipBoard(shareInfoUserSee.value + "").then(() => {
        tdesignVueNext.MessagePlugin.success("复制成功");
      }).catch(() => {
        tdesignVueNext.MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, shareInfoUserSee.value);
    };
    const downloadExcel = () => {
      exportXlsxFile(`${cloudInfoStore.cloudName}批量分享${Date.now()}.xlsx`, transformExcelInfoData$7(shareInfo.value));
    };
    return {
      shareDelay,
      expireTime,
      shareInfo,
      selectFileInfoList,
      shareInfoUserSee,
      isSharing,
      shareProgress,
      handleBatchOperation,
      handleTransformFormat,
      downloadExcel,
      handleEnd,
      copyValue,
      download
    };
  };
  const _withScopeId$8 = (n) => (vue.pushScopeId("data-v-b1c14897"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$9 = { class: "cloud115" };
  const _hoisted_2$8 = { class: "cloud115_option" };
  const _hoisted_3$8 = /* @__PURE__ */ _withScopeId$8(() => /* @__PURE__ */ vue.createElementVNode("span", null, "有效期:", -1));
  const _hoisted_4$8 = { class: "cloud115_option_time" };
  const _hoisted_5$8 = { class: "cloud115_operation" };
  const _hoisted_6$8 = { class: "cloud115_progress" };
  const _hoisted_7$7 = { class: "cloud115_result" };
  const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        expireTime,
        shareDelay,
        isSharing,
        shareInfoUserSee,
        shareProgress,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download,
        downloadExcel
      } = use115Cloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
          vue.createElementVNode("div", _hoisted_2$8, [
            _hoisted_3$8,
            vue.createVNode(_component_t_radio_group, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_radio_button, null, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("永久")
                  ]),
                  _: 1
                })
              ]),
              _: 1
            }),
            vue.createElementVNode("div", _hoisted_4$8, [
              vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                default: vue.withCtx(() => [
                  vue.createTextVNode("延迟(毫秒):")
                ]),
                _: 1
              }),
              vue.createVNode(_component_t_input_number, {
                modelValue: vue.unref(shareDelay),
                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(shareDelay) ? shareDelay.value = $event : null),
                step: "100"
              }, null, 8, ["modelValue"])
            ])
          ]),
          vue.createElementVNode("div", _hoisted_5$8, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(isSharing)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(downloadExcel)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载信息为Excel")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_6$8, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(shareProgress),
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_7$7, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(shareInfoUserSee),
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloud115 = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-b1c14897"]]);
  var ExpireTimeEnum$5 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 2] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["thirtyDay"] = 3] = "thirtyDay";
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 4] = "forever";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$5 || {});
  var DefaultShowEnum$1 = /* @__PURE__ */ ((DefaultShowEnum2) => {
    DefaultShowEnum2[DefaultShowEnum2["tile"] = 2] = "tile";
    DefaultShowEnum2[DefaultShowEnum2["list"] = 1] = "list";
    return DefaultShowEnum2;
  })(DefaultShowEnum$1 || {});
  var PwdEnum$2 = /* @__PURE__ */ ((PwdEnum2) => {
    PwdEnum2[PwdEnum2["no"] = 0] = "no";
    PwdEnum2[PwdEnum2["yes"] = 1] = "yes";
    PwdEnum2[PwdEnum2["self"] = 2] = "self";
    return PwdEnum2;
  })(PwdEnum$2 || {});
  var CopyValueEnum$1 = /* @__PURE__ */ ((CopyValueEnum2) => {
    CopyValueEnum2[CopyValueEnum2["shareLink"] = 0] = "shareLink";
    CopyValueEnum2[CopyValueEnum2["extraLink"] = 1] = "extraLink";
    return CopyValueEnum2;
  })(CopyValueEnum$1 || {});
  const transformExcelInfoData$6 = (data) => {
    return (data == null ? void 0 : data.map((item) => {
      let time;
      switch (item.timeCode) {
        case ExpireTimeEnum$5.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$5.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$5.thirtyDay:
          time = "30天";
          break;
        case ExpireTimeEnum$5.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return {
        "文件名称": (item == null ? void 0 : item.fileName) ?? "",
        "分享链接": (item == null ? void 0 : item.url) ?? "",
        "提取码": (item == null ? void 0 : item.pwd) ?? "",
        "有效期": time
      };
    })) ?? [];
  };
  const transformExcelExtraLinkData = (data) => {
    return (data == null ? void 0 : data.map((item) => ({
      "文件名称": (item == null ? void 0 : item.fileName) ?? "",
      "直链地址": (item == null ? void 0 : item.link) ?? ""
    }))) ?? [];
  };
  const getSelectInfoList$1 = () => {
    var _a, _b, _c, _d, _e, _f, _g, _h;
    const reactDOM = document.querySelector(".hombody");
    const key = (_a = Object.keys(reactDOM)) == null ? void 0 : _a.find(
      (key2) => key2.startsWith("__reactInternalInstance$")
    );
    const { dataSource, rowSelection } = ((_h = (_g = (_f = (_e = (_d = (_c = (_b = reactDOM[key]) == null ? void 0 : _b.pendingProps) == null ? void 0 : _c.children) == null ? void 0 : _d.props) == null ? void 0 : _e.children[0]) == null ? void 0 : _f.props) == null ? void 0 : _g.children) == null ? void 0 : _h.props) ?? {};
    if (dataSource && rowSelection) {
      const keys = (rowSelection == null ? void 0 : rowSelection.selectedRowKeys) ?? [];
      const temp = dataSource.filter((item) => keys.includes(item.FileId));
      return temp;
    } else {
      return [];
    }
  };
  const use123Cloud = () => {
    const userOptions = vue.ref({
      expiration: ExpireTimeEnum$5.forever,
      displayStatus: DefaultShowEnum$1.list,
      pwdType: PwdEnum$2.yes,
      pwd: "",
      //自定义提取码或随机提取码
      shareDelay: 500,
      shareProgress: 0,
      shareResultInfoList: [],
      shareInfoUserSee: "",
      isSharing: false,
      extraLinkInfoList: [],
      extraLinkUserSee: ""
    });
    const transformOptions = (params) => {
      let sharePwd = "";
      if (params.pwdType === PwdEnum$2.yes) {
        sharePwd = generateRandomString(4);
      } else if (params.pwdType === PwdEnum$2.self) {
        sharePwd = params.pwd;
      }
      let expiration;
      switch (params.expiration) {
        case ExpireTimeEnum$5.oneDay:
          expiration = getDate123Cloud(1);
          break;
        case ExpireTimeEnum$5.sevenDay:
          expiration = getDate123Cloud(7);
          break;
        case ExpireTimeEnum$5.thirtyDay:
          expiration = getDate123Cloud(30);
          break;
        case ExpireTimeEnum$5.forever:
          expiration = getDate123Cloud(99);
          break;
      }
      return {
        displayStatus: params.displayStatus,
        sharePwd,
        expiration
      };
    };
    const transformInfoStyle = (info) => {
      let time;
      switch (info.timeCode) {
        case ExpireTimeEnum$5.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$5.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$5.thirtyDay:
          time = "30天";
          break;
        case ExpireTimeEnum$5.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return `文件名称: ${info.fileName} 分享链接:${info.url} 提取码:${info.pwd ?? "为空"} 分享有效时间: ${time}`;
    };
    const transformResult = (result) => {
      const { data } = result || {};
      return {
        ShareKey: (data == null ? void 0 : data.ShareKey) ?? "分享失败",
        message: result.message ?? "",
        code: result.code
      };
    };
    const transformLinkResult = (info) => {
      return `文件名称:${info.fileName} 直链地址:${info.link}`;
    };
    const handleBatchOperation = async () => {
      var _a, _b;
      const selectedRows = getSelectInfoList$1();
      if (!selectedRows.length) {
        return tdesignVueNext.MessagePlugin.warning("请选择要分享的文件!");
      }
      if (userOptions.value.pwdType === PwdEnum$2.self && !userOptions.value.pwd) {
        return tdesignVueNext.MessagePlugin.warning("设置提取码为自定义提取码,请填写自定义提取码");
      }
      userOptions.value.isSharing = true;
      const currentShareInfo = [];
      for (let fileInfo of selectedRows) {
        const data = {
          ...transformOptions(userOptions.value),
          driveId: 0,
          event: "shareCreate",
          fileIdList: fileInfo.FileId,
          //文件id
          fileNum: 1,
          //文件数量,
          operatePlace: 1,
          renameVisible: false,
          shareModality: 2,
          shareName: fileInfo.FileName
          //分享文件名
        };
        const randomParams = get123CloudSecret();
        const { data: backData } = await axios({
          method: "post",
          url: `${window.location.origin}/a/api/share/create`,
          params: {
            [randomParams[0]]: randomParams[1]
          },
          data,
          headers: {
            "Content-Type": "application/json;charset=UTF-8",
            "Authorization": "Bearer " + ((_a = localStorage.getItem("authorToken")) == null ? void 0 : _a.slice(1, -1)),
            "LoginUuid": (_b = localStorage.getItem("LoginUuid")) == null ? void 0 : _b.slice(1, -1),
            "platform": "web"
          }
        }).catch(() => ({ data: {} }));
        const backResult = transformResult(backData);
        let tempData = {
          fileName: fileInfo.FileName,
          url: `${window.location.origin}/s/` + backResult.ShareKey,
          pwd: data.sharePwd,
          time: data.expiration,
          timeCode: userOptions.value.expiration
        };
        userOptions.value.shareResultInfoList.push(tempData);
        currentShareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += transformInfoStyle(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(currentShareInfo.length / selectedRows.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await tdesignVueNext.MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleBatchExtraLink = async () => {
      var _a, _b, _c;
      const selectedRows = getSelectInfoList$1();
      if (!selectedRows.length) {
        return tdesignVueNext.MessagePlugin.warning("请选择要提取直链的文件!");
      }
      userOptions.value.isSharing = true;
      const currentShareInfo = [];
      for (let fileInfo of selectedRows) {
        const randomParams = get123CloudSecret();
        const { data } = await axios({
          method: "get",
          url: `${window.location.origin}/a/api/cdn-link/url`,
          params: {
            [randomParams[0]]: randomParams[1],
            fileID: fileInfo.FileId
          },
          headers: {
            "Content-Type": "application/json;charset=UTF-8",
            "Authorization": "Bearer " + ((_a = localStorage.getItem("authorToken")) == null ? void 0 : _a.slice(1, -1)),
            "LoginUuid": (_b = localStorage.getItem("LoginUuid")) == null ? void 0 : _b.slice(1, -1),
            "platform": "web"
          }
        }).catch(() => ({ data: {} }));
        const tempData = {
          fileName: fileInfo.FileName,
          //文件名
          link: ((_c = data == null ? void 0 : data.data) == null ? void 0 : _c.url) ?? ""
        };
        userOptions.value.extraLinkInfoList.push(tempData);
        currentShareInfo.push(tempData);
        userOptions.value.extraLinkUserSee += transformLinkResult(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(currentShareInfo.length / selectedRows.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await tdesignVueNext.MessagePlugin.success("批量获取直链成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareResultInfoList = [];
      userOptions.value.extraLinkInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.extraLinkUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = (type = CopyValueEnum$1.shareLink) => {
      if (type === CopyValueEnum$1.shareLink) {
        CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
          tdesignVueNext.MessagePlugin.success("复制成功");
        }).catch(() => {
          tdesignVueNext.MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
        });
      } else if (type === CopyValueEnum$1.extraLink) {
        CopyValueToClipBoard(userOptions.value.extraLinkUserSee + "").then(() => {
          tdesignVueNext.MessagePlugin.success("复制成功");
        }).catch(() => {
          tdesignVueNext.MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
        });
      }
    };
    const download = (type = CopyValueEnum$1.shareLink) => {
      if (type === CopyValueEnum$1.shareLink) {
        DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
      } else if (type === CopyValueEnum$1.extraLink) {
        DownloadTxt(`${cloudInfoStore.cloudName}直链地址${Date.now()}`, userOptions.value.extraLinkUserSee);
      }
    };
    const downloadExcel = (type = CopyValueEnum$1.shareLink) => {
      if (type === CopyValueEnum$1.shareLink) {
        exportXlsxFile(`${cloudInfoStore.cloudName}批量分享${Date.now()}.xlsx`, transformExcelInfoData$6(userOptions.value.shareResultInfoList));
      } else if (type === CopyValueEnum$1.extraLink) {
        exportXlsxFile(`${cloudInfoStore.cloudName}直链${Date.now()}.xlsx`, transformExcelExtraLinkData(userOptions.value.extraLinkInfoList));
      }
    };
    return {
      userOptions,
      transformOptions,
      transformInfoStyle,
      transformResult,
      transformLinkResult,
      handleBatchOperation,
      handleBatchExtraLink,
      handleEnd,
      copyValue,
      download,
      downloadExcel
    };
  };
  const _withScopeId$7 = (n) => (vue.pushScopeId("data-v-d65c6fd0"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$8 = { class: "cloud123" };
  const _hoisted_2$7 = { class: "cloud123_progress" };
  const _hoisted_3$7 = { class: "cloud123_option" };
  const _hoisted_4$7 = { class: "cloud123_option_item" };
  const _hoisted_5$7 = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "延迟(毫秒):", -1));
  const _hoisted_6$7 = { class: "cloud123_option_item" };
  const _hoisted_7$6 = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "有效期:", -1));
  const _hoisted_8$6 = { class: "cloud123_option_item" };
  const _hoisted_9$6 = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "默认展示:", -1));
  const _hoisted_10$4 = { class: "cloud123_option_item" };
  const _hoisted_11$4 = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "分享形式:", -1));
  const _hoisted_12$1 = {
    key: 0,
    class: "cloud123_option_item"
  };
  const _hoisted_13$1 = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "分享形式:", -1));
  const _hoisted_14 = { style: { "margin-top": "10px" } };
  const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleBatchExtraLink,
        handleEnd,
        copyValue,
        download,
        downloadExcel
      } = use123Cloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_input = vue.resolveComponent("t-input");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        const _component_t_collapse_panel = vue.resolveComponent("t-collapse-panel");
        const _component_t_collapse = vue.resolveComponent("t-collapse");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
          vue.createElementVNode("div", _hoisted_2$7, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_3$7, [
            vue.createVNode(_component_t_collapse, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_collapse_panel, {
                  value: vue.unref(CopyValueEnum$1).shareLink,
                  header: "分享配置"
                }, {
                  default: vue.withCtx(() => [
                    vue.createElementVNode("div", null, [
                      vue.createVNode(_component_t_space, null, {
                        default: vue.withCtx(() => [
                          vue.createVNode(_component_t_button, {
                            onClick: vue.unref(handleBatchOperation),
                            loading: vue.unref(userOptions).isSharing
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("批量分享")
                            ]),
                            _: 1
                          }, 8, ["onClick", "loading"]),
                          vue.createVNode(_component_t_button, {
                            theme: "default",
                            onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(copyValue)(vue.unref(CopyValueEnum$1).shareLink))
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("复制到剪贴板")
                            ]),
                            _: 1
                          }),
                          vue.createVNode(_component_t_button, {
                            theme: "default",
                            onClick: _cache[1] || (_cache[1] = ($event) => vue.unref(download)(vue.unref(CopyValueEnum$1).shareLink))
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("下载分享链接")
                            ]),
                            _: 1
                          }),
                          vue.createVNode(_component_t_button, {
                            theme: "default",
                            onClick: _cache[2] || (_cache[2] = ($event) => vue.unref(downloadExcel)(vue.unref(CopyValueEnum$1).shareLink))
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("下载信息为Excel")
                            ]),
                            _: 1
                          })
                        ]),
                        _: 1
                      })
                    ]),
                    vue.createElementVNode("div", _hoisted_4$7, [
                      vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                        default: vue.withCtx(() => [
                          _hoisted_5$7
                        ]),
                        _: 1
                      }),
                      vue.createVNode(_component_t_input_number, {
                        modelValue: vue.unref(userOptions).shareDelay,
                        "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(userOptions).shareDelay = $event),
                        step: "100"
                      }, null, 8, ["modelValue"])
                    ]),
                    vue.createElementVNode("div", _hoisted_6$7, [
                      _hoisted_7$6,
                      vue.createVNode(_component_t_radio_group, {
                        modelValue: vue.unref(userOptions).expiration,
                        "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(userOptions).expiration = $event)
                      }, {
                        default: vue.withCtx(() => [
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$5).oneDay
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("1天")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$5).sevenDay
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("7天")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$5).thirtyDay
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("30天")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$5).forever
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("永久")
                            ]),
                            _: 1
                          }, 8, ["value"])
                        ]),
                        _: 1
                      }, 8, ["modelValue"])
                    ]),
                    vue.createElementVNode("div", _hoisted_8$6, [
                      _hoisted_9$6,
                      vue.createVNode(_component_t_radio_group, {
                        modelValue: vue.unref(userOptions).displayStatus,
                        "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(userOptions).displayStatus = $event)
                      }, {
                        default: vue.withCtx(() => [
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(DefaultShowEnum$1).tile
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("平铺")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(DefaultShowEnum$1).list
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("列表")
                            ]),
                            _: 1
                          }, 8, ["value"])
                        ]),
                        _: 1
                      }, 8, ["modelValue"])
                    ]),
                    vue.createElementVNode("div", _hoisted_10$4, [
                      _hoisted_11$4,
                      vue.createVNode(_component_t_radio_group, {
                        modelValue: vue.unref(userOptions).pwdType,
                        "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(userOptions).pwdType = $event)
                      }, {
                        default: vue.withCtx(() => [
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(PwdEnum$2).no
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("无提取码")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(PwdEnum$2).yes
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("随机提取码")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(PwdEnum$2).self
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("自定义提取码")
                            ]),
                            _: 1
                          }, 8, ["value"])
                        ]),
                        _: 1
                      }, 8, ["modelValue"])
                    ]),
                    vue.unref(userOptions).pwdType === vue.unref(PwdEnum$2).self ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$1, [
                      _hoisted_13$1,
                      vue.createVNode(_component_t_input, {
                        modelValue: vue.unref(userOptions).pwd,
                        "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(userOptions).pwd = $event),
                        placeholder: "请输入自定义提取码",
                        maxlength: "4"
                      }, null, 8, ["modelValue"])
                    ])) : vue.createCommentVNode("", true),
                    vue.createElementVNode("div", null, [
                      vue.createVNode(_component_t_textarea, {
                        readonly: "",
                        autosize: { minRows: 10 },
                        value: vue.unref(userOptions).shareInfoUserSee,
                        placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
                      }, null, 8, ["value"])
                    ])
                  ]),
                  _: 1
                }, 8, ["value"]),
                vue.createVNode(_component_t_collapse_panel, {
                  value: vue.unref(CopyValueEnum$1).extraLink,
                  header: "获取直链(123云盘VIP才可以用)"
                }, {
                  default: vue.withCtx(() => [
                    vue.createElementVNode("div", null, [
                      vue.createVNode(_component_t_space, null, {
                        default: vue.withCtx(() => [
                          vue.createVNode(_component_t_button, {
                            onClick: vue.unref(handleBatchExtraLink),
                            loading: vue.unref(userOptions).isSharing
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("批量提取直链")
                            ]),
                            _: 1
                          }, 8, ["onClick", "loading"]),
                          vue.createVNode(_component_t_button, {
                            theme: "default",
                            onClick: _cache[8] || (_cache[8] = ($event) => vue.unref(copyValue)(vue.unref(CopyValueEnum$1).extraLink))
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("复制到剪贴板")
                            ]),
                            _: 1
                          }),
                          vue.createVNode(_component_t_button, {
                            theme: "default",
                            onClick: _cache[9] || (_cache[9] = ($event) => vue.unref(download)(vue.unref(CopyValueEnum$1).extraLink))
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("下载直链")
                            ]),
                            _: 1
                          }),
                          vue.createVNode(_component_t_button, {
                            theme: "default",
                            onClick: _cache[10] || (_cache[10] = ($event) => vue.unref(downloadExcel)(vue.unref(CopyValueEnum$1).extraLink))
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("下载信息为Excel")
                            ]),
                            _: 1
                          })
                        ]),
                        _: 1
                      })
                    ]),
                    vue.createElementVNode("div", _hoisted_14, [
                      vue.createVNode(_component_t_textarea, {
                        readonly: "",
                        autosize: { minRows: 10 },
                        value: vue.unref(userOptions).extraLinkUserSee,
                        placeholder: "直链(格式为文件名称: xxxx 直链地址: xxxx)"
                      }, null, 8, ["value"])
                    ])
                  ]),
                  _: 1
                }, 8, ["value"])
              ]),
              _: 1
            })
          ])
        ]);
      };
    }
  });
  const cloud123 = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-d65c6fd0"]]);
  var PwdEnum$1 = /* @__PURE__ */ ((PwdEnum2) => {
    PwdEnum2[PwdEnum2["no"] = 0] = "no";
    PwdEnum2[PwdEnum2["yes"] = 1] = "yes";
    PwdEnum2[PwdEnum2["self"] = 2] = "self";
    return PwdEnum2;
  })(PwdEnum$1 || {});
  var TaskEnum = /* @__PURE__ */ ((TaskEnum2) => {
    TaskEnum2[TaskEnum2["file"] = 18] = "file";
    TaskEnum2[TaskEnum2["share"] = 22] = "share";
    TaskEnum2[TaskEnum2["setCodeFile"] = 23] = "setCodeFile";
    TaskEnum2[TaskEnum2["setCodeFolder"] = 16] = "setCodeFolder";
    TaskEnum2[TaskEnum2["reqFolderList"] = 47] = "reqFolderList";
    TaskEnum2[TaskEnum2["reqFileList"] = 5] = "reqFileList";
    return TaskEnum2;
  })(TaskEnum || {});
  var events = ["load", "loadend", "timeout", "error", "readystatechange", "abort"];
  var OriginXhr = "__origin_xhr";
  function configEvent(event, xhrProxy) {
    var e = {};
    for (var attr in event)
      e[attr] = event[attr];
    e.target = e.currentTarget = xhrProxy;
    return e;
  }
  function hook(proxy2, win) {
    win = win || window;
    var originXhr = win.XMLHttpRequest;
    var hooking = true;
    var HookXMLHttpRequest = function() {
      var xhr = new originXhr();
      for (var i = 0; i < events.length; ++i) {
        var key = "on" + events[i];
        if (xhr[key] === void 0)
          xhr[key] = null;
      }
      for (var attr in xhr) {
        var type = "";
        try {
          type = typeof xhr[attr];
        } catch (e) {
        }
        if (type === "function") {
          this[attr] = hookFunction(attr);
        } else if (attr !== OriginXhr) {
          Object.defineProperty(this, attr, {
            get: getterFactory(attr),
            set: setterFactory(attr),
            enumerable: true
          });
        }
      }
      var that = this;
      xhr.getProxy = function() {
        return that;
      };
      this[OriginXhr] = xhr;
    };
    HookXMLHttpRequest.prototype = originXhr.prototype;
    HookXMLHttpRequest.prototype.constructor = HookXMLHttpRequest;
    win.XMLHttpRequest = HookXMLHttpRequest;
    Object.assign(win.XMLHttpRequest, { UNSENT: 0, OPENED: 1, HEADERS_RECEIVED: 2, LOADING: 3, DONE: 4 });
    function getterFactory(attr) {
      return function() {
        var originValue = this[OriginXhr][attr];
        if (hooking) {
          var v = this.hasOwnProperty(attr + "_") ? this[attr + "_"] : originValue;
          var attrGetterHook = (proxy2[attr] || {})["getter"];
          return attrGetterHook && attrGetterHook(v, this) || v;
        } else {
          return originValue;
        }
      };
    }
    function setterFactory(attr) {
      return function(v) {
        var xhr = this[OriginXhr];
        if (hooking) {
          var that = this;
          var hook2 = proxy2[attr];
          if (attr.substring(0, 2) === "on") {
            that[attr + "_"] = v;
            xhr[attr] = function(e) {
              e = configEvent(e, that);
              var ret = proxy2[attr] && proxy2[attr].call(that, xhr, e);
              ret || v.call(that, e);
            };
          } else {
            var attrSetterHook = (hook2 || {})["setter"];
            v = attrSetterHook && attrSetterHook(v, that) || v;
            this[attr + "_"] = v;
            try {
              xhr[attr] = v;
            } catch (e) {
            }
          }
        } else {
          xhr[attr] = v;
        }
      };
    }
    function hookFunction(fun) {
      return function() {
        var args = [].slice.call(arguments);
        if (proxy2[fun] && hooking) {
          var ret = proxy2[fun].call(this, args, this[OriginXhr]);
          if (ret)
            return ret;
        }
        return this[OriginXhr][fun].apply(this[OriginXhr], args);
      };
    }
    function unHook() {
      hooking = false;
      if (win.XMLHttpRequest === HookXMLHttpRequest) {
        win.XMLHttpRequest = originXhr;
        HookXMLHttpRequest.prototype.constructor = originXhr;
        originXhr = void 0;
      }
    }
    return { originXhr, unHook };
  }
  var eventLoad = events[0], eventLoadEnd = events[1], eventTimeout = events[2], eventError = events[3], eventReadyStateChange = events[4], eventAbort = events[5];
  var prototype = "prototype";
  function proxy(proxy2, win) {
    win = win || window;
    return proxyAjax(proxy2, win);
  }
  function trim(str) {
    return str.replace(/^\s+|\s+$/g, "");
  }
  function getEventTarget(xhr) {
    return xhr.watcher || (xhr.watcher = document.createElement("a"));
  }
  function triggerListener(xhr, name) {
    var xhrProxy = xhr.getProxy();
    var callback = "on" + name + "_";
    var event = configEvent({ type: name }, xhrProxy);
    xhrProxy[callback] && xhrProxy[callback](event);
    var evt;
    if (typeof Event === "function") {
      evt = new Event(name, { bubbles: false });
    } else {
      evt = document.createEvent("Event");
      evt.initEvent(name, false, true);
    }
    getEventTarget(xhr).dispatchEvent(evt);
  }
  function Handler(xhr) {
    this.xhr = xhr;
    this.xhrProxy = xhr.getProxy();
  }
  Handler[prototype] = /* @__PURE__ */ Object.create({
    resolve: function resolve(response) {
      var xhrProxy = this.xhrProxy;
      var xhr = this.xhr;
      xhrProxy.readyState = 4;
      xhr.resHeader = response.headers;
      xhrProxy.response = xhrProxy.responseText = response.response;
      xhrProxy.statusText = response.statusText;
      xhrProxy.status = response.status;
      triggerListener(xhr, eventReadyStateChange);
      triggerListener(xhr, eventLoad);
      triggerListener(xhr, eventLoadEnd);
    },
    reject: function reject(error) {
      this.xhrProxy.status = 0;
      triggerListener(this.xhr, error.type);
      triggerListener(this.xhr, eventLoadEnd);
    }
  });
  function makeHandler(next) {
    function sub(xhr) {
      Handler.call(this, xhr);
    }
    sub[prototype] = Object.create(Handler[prototype]);
    sub[prototype].next = next;
    return sub;
  }
  var RequestHandler = makeHandler(function(rq) {
    var xhr = this.xhr;
    rq = rq || xhr.config;
    xhr.withCredentials = rq.withCredentials;
    xhr.open(rq.method, rq.url, rq.async !== false, rq.user, rq.password);
    for (var key in rq.headers) {
      xhr.setRequestHeader(key, rq.headers[key]);
    }
    xhr.send(rq.body);
  });
  var ResponseHandler = makeHandler(function(response) {
    this.resolve(response);
  });
  var ErrorHandler = makeHandler(function(error) {
    this.reject(error);
  });
  function proxyAjax(proxy2, win) {
    var onRequest = proxy2.onRequest, onResponse = proxy2.onResponse, onError = proxy2.onError;
    function getResponseData(xhrProxy) {
      var responseType = xhrProxy.responseType;
      if (!responseType || responseType === "text") {
        return xhrProxy.responseText;
      }
      var response = xhrProxy.response;
      if (responseType === "json" && !response) {
        try {
          return JSON.parse(xhrProxy.responseText);
        } catch (e) {
          console.warn(e);
        }
      }
      return response;
    }
    function handleResponse(xhr, xhrProxy) {
      var handler = new ResponseHandler(xhr);
      var ret = {
        response: getResponseData(xhrProxy),
        status: xhrProxy.status,
        statusText: xhrProxy.statusText,
        config: xhr.config,
        headers: xhr.resHeader || xhr.getAllResponseHeaders().split("\r\n").reduce(function(ob, str) {
          if (str === "")
            return ob;
          var m = str.split(":");
          ob[m.shift()] = trim(m.join(":"));
          return ob;
        }, {})
      };
      if (!onResponse)
        return handler.resolve(ret);
      onResponse(ret, handler);
    }
    function onerror(xhr, xhrProxy, error, errorType) {
      var handler = new ErrorHandler(xhr);
      error = { config: xhr.config, error, type: errorType };
      if (onError) {
        onError(error, handler);
      } else {
        handler.next(error);
      }
    }
    function preventXhrProxyCallback() {
      return true;
    }
    function errorCallback(errorType) {
      return function(xhr, e) {
        onerror(xhr, this, e, errorType);
        return true;
      };
    }
    function stateChangeCallback(xhr, xhrProxy) {
      if (xhr.readyState === 4 && xhr.status !== 0) {
        handleResponse(xhr, xhrProxy);
      } else if (xhr.readyState !== 4) {
        triggerListener(xhr, eventReadyStateChange);
      }
      return true;
    }
    var { originXhr, unHook } = hook({
      onload: preventXhrProxyCallback,
      onloadend: preventXhrProxyCallback,
      onerror: errorCallback(eventError),
      ontimeout: errorCallback(eventTimeout),
      onabort: errorCallback(eventAbort),
      onreadystatechange: function(xhr) {
        return stateChangeCallback(xhr, this);
      },
      open: function open2(args, xhr) {
        var _this = this;
        var config = xhr.config = { headers: {} };
        config.method = args[0];
        config.url = args[1];
        config.async = args[2];
        config.user = args[3];
        config.password = args[4];
        config.xhr = xhr;
        var evName = "on" + eventReadyStateChange;
        if (!xhr[evName]) {
          xhr[evName] = function() {
            return stateChangeCallback(xhr, _this);
          };
        }
        if (onRequest)
          return true;
      },
      send: function(args, xhr) {
        var config = xhr.config;
        config.withCredentials = xhr.withCredentials;
        config.body = args[0];
        if (onRequest) {
          var req = function() {
            onRequest(config, new RequestHandler(xhr));
          };
          config.async === false ? req() : setTimeout(req);
          return true;
        }
      },
      setRequestHeader: function(args, xhr) {
        xhr.config.headers[args[0].toLowerCase()] = args[1];
        if (onRequest)
          return true;
      },
      addEventListener: function(args, xhr) {
        var _this = this;
        if (events.indexOf(args[0]) !== -1) {
          var handler = args[1];
          getEventTarget(xhr).addEventListener(args[0], function(e) {
            var event = configEvent(e, _this);
            event.type = args[0];
            event.isTrusted = true;
            handler.call(_this, event);
          });
          return true;
        }
      },
      getAllResponseHeaders: function(_, xhr) {
        var headers = xhr.resHeader;
        if (headers) {
          var header = "";
          for (var key in headers) {
            header += key + ": " + headers[key] + "\r\n";
          }
          return header;
        }
      },
      getResponseHeader: function(args, xhr) {
        var headers = xhr.resHeader;
        if (headers) {
          return headers[(args[0] || "").toLowerCase()];
        }
      }
    }, win);
    return {
      originXhr,
      unProxy: unHook
    };
  }
  var FileTypeEnum = /* @__PURE__ */ ((FileTypeEnum2) => {
    FileTypeEnum2[FileTypeEnum2["file"] = 0] = "file";
    FileTypeEnum2[FileTypeEnum2["folder"] = 1] = "folder";
    return FileTypeEnum2;
  })(FileTypeEnum || {});
  const transformExcelInfoData$5 = (data) => {
    return (data == null ? void 0 : data.map((item) => {
      return {
        "文件名称": (item == null ? void 0 : item.fileName) ?? "",
        "分享链接": (item == null ? void 0 : item.url) ?? "",
        "提取码": (item == null ? void 0 : item.pwd) ?? "",
        "有效期": (item == null ? void 0 : item.time) ?? ""
      };
    })) ?? [];
  };
  const uselanzouCloud = () => {
    const userOptions = vue.ref({
      pwdType: PwdEnum$1.yes,
      pwd: "",
      //自定义提取码或随机提取码
      shareDelay: 500,
      shareProgress: 0,
      selectFileInfoList: [],
      shareResultInfoList: [],
      listData: [],
      lastFolderData: [],
      shareInfoUserSee: "",
      isSharing: false
    });
    const init = () => {
      setTimeout(() => {
        const abc = document.querySelector("iframe");
        const iframeWindow = abc.contentWindow;
        proxy({
          //请求成功后进入0.
          onResponse: (response, handler) => {
            var _a, _b;
            if (handler.xhr.config.url.startsWith("/doupload.php")) {
              const bodyParams = bodyParse(handler.xhr.config.body ?? "");
              const { task, pg } = bodyParams;
              let data = [];
              if (task * 1 === TaskEnum.reqFolderList) {
                data = response.response ? ((_a = JSON.parse(response.response)) == null ? void 0 : _a.text) ?? [] : [];
                userOptions.value.lastFolderData = data;
                userOptions.value.listData = [...vue.markRaw(userOptions.value.listData), ...data];
              } else if (task * 1 === TaskEnum.reqFileList) {
                data = response.response ? ((_b = JSON.parse(response.response)) == null ? void 0 : _b.text) ?? [] : [];
                if (pg * 1 === 1) {
                  userOptions.value.listData = [...vue.markRaw(userOptions.value.lastFolderData), ...data];
                } else {
                  userOptions.value.listData = [...vue.markRaw(userOptions.value.listData), ...data];
                }
              }
            }
            handler.next(response);
          }
          //@ts-ignore
        }, iframeWindow);
      }, 1e3);
    };
    init();
    const transformInfoStyle = (info) => {
      return `文件名称: ${info.fileName} 分享链接:${info.url} 提取码:${info.pwd ?? "空"} 分享有效时间: 永久`;
    };
    const transformResult = (result) => {
      return {
        is_newd: (result == null ? void 0 : result.is_newd) ?? "",
        pwd: userOptions.value.pwdType === PwdEnum$1.self ? userOptions.value.pwd : result == null ? void 0 : result.pwd,
        f_id: (result == null ? void 0 : result.f_id) ?? "",
        new_url: (result == null ? void 0 : result.new_url) ?? "",
        name: (result == null ? void 0 : result.name) ?? ""
      };
    };
    const handleBatchOperation = async () => {
      const { selectFileInfoList } = userOptions.value;
      if (!selectFileInfoList.length) {
        return tdesignVueNext.MessagePlugin.warning("请选择要分享的文件!");
      }
      userOptions.value.isSharing = true;
      const currentShareInfo = [];
      for (let fileInfo of selectFileInfoList) {
        const formData = new FormData();
        formData.append("task", fileInfo.type === FileTypeEnum.file ? TaskEnum.share + "" : TaskEnum.file + "");
        formData.append(fileInfo.type === FileTypeEnum.file ? "file_id" : "folder_id", fileInfo.id + "");
        const { data: shareData } = await axios({
          method: "post",
          url: `${window.location.origin}/doupload.php`,
          data: formData
        }).catch(() => ({ data: {} }));
        const backResult = transformResult((shareData == null ? void 0 : shareData.info) ?? {});
        if (userOptions.value.pwdType !== PwdEnum$1.no) {
          await new Promise((resolve2) => {
            setTimeout(() => {
              resolve2();
            }, userOptions.value.shareDelay);
          });
          formData.set("task", fileInfo.type === FileTypeEnum.file ? TaskEnum.setCodeFile + "" : TaskEnum.setCodeFolder + "");
          formData.append("shows", "1");
          formData.append("shownames", backResult.pwd);
          await axios({
            method: "post",
            url: `${window.location.origin}/doupload.php`,
            data: formData
          }).catch(() => ({ data: {} }));
        }
        let tempData = {
          fileName: fileInfo.name_all || fileInfo.name,
          url: fileInfo.type === FileTypeEnum.file ? backResult.is_newd + "/" + backResult.f_id : backResult.new_url,
          pwd: userOptions.value.pwdType !== PwdEnum$1.no ? backResult.pwd : "空"
        };
        userOptions.value.shareResultInfoList.push(tempData);
        currentShareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += transformInfoStyle(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(currentShareInfo.length / userOptions.value.selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await tdesignVueNext.MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareResultInfoList = [];
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        tdesignVueNext.MessagePlugin.success("复制成功");
      }).catch(() => {
        tdesignVueNext.MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    const downloadExcel = () => {
      exportXlsxFile(`${cloudInfoStore.cloudName}批量分享${Date.now()}.xlsx`, transformExcelInfoData$5(userOptions.value.shareResultInfoList));
    };
    return {
      init,
      userOptions,
      transformInfoStyle,
      transformResult,
      handleBatchOperation,
      handleEnd,
      copyValue,
      download,
      downloadExcel
    };
  };
  const useListModule = (props, emits) => {
    const selectedRowKeys = vue.ref([]);
    const selectedRowInfos = vue.ref([]);
    const tableProps = vue.ref({
      rowKey: "id",
      columns: [
        {
          colKey: "row-select",
          type: "multiple",
          checkProps: ({ row }) => ({ disabled: row.Status === 2 }),
          width: 50
        },
        {
          colKey: "type",
          title: "类型",
          cell: (h2, { row }) => {
            return h2("img", {
              src: row["type"] === FileTypeEnum.file ? "https://pc.woozooo.com/images/filetype/txt.gif" : "https://pc.woozooo.com/images/folder_open.gif"
            });
          },
          width: 60
        },
        {
          colKey: "name",
          title: "文件名"
        },
        {
          colKey: "size",
          title: "大小"
        },
        {
          colKey: "time",
          title: "时间"
        }
      ],
      empty: "暂无数据,请重新进入任意文件夹目录以拦截获取文件数据",
      onSelectChange: (value, ctx) => {
        selectedRowKeys.value = value;
        selectedRowInfos.value = ctx.selectedRowData;
        emits("update:ids", value);
        emits("update:infos", ctx.selectedRowData);
      }
    });
    const listData = vue.ref([]);
    const transformListData = (data) => {
      if (!data || data && !(data == null ? void 0 : data.length))
        return [];
      return (data == null ? void 0 : data.map((item) => ({
        id: (item == null ? void 0 : item.id) ? item == null ? void 0 : item.id : item == null ? void 0 : item.fol_id,
        name_all: (item == null ? void 0 : item.name_all) ?? "",
        //文件才有这个属性
        name: (item == null ? void 0 : item.name) ?? "",
        size: (item == null ? void 0 : item.size) ?? "-",
        //文件才有
        time: (item == null ? void 0 : item.time) ?? "-",
        //文件才有
        type: (item == null ? void 0 : item.id) ? FileTypeEnum.file : FileTypeEnum.folder
      }))) ?? [];
    };
    return {
      selectedRowKeys,
      selectedRowInfos,
      transformListData,
      tableProps,
      listData
    };
  };
  const _hoisted_1$7 = { class: "list" };
  const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    props: {
      list: {},
      ids: {},
      infos: {}
    },
    emits: ["update:ids", "update:infos"],
    setup(__props, { emit: emits }) {
      const props = __props;
      const {
        tableProps,
        listData,
        selectedRowKeys,
        transformListData
      } = useListModule(props, emits);
      vue.watchEffect(() => {
        listData.value = transformListData(props.list);
      });
      return (_ctx, _cache) => {
        const _component_t_table = vue.resolveComponent("t-table");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
          vue.createVNode(_component_t_table, vue.mergeProps(vue.unref(tableProps), {
            data: vue.unref(listData),
            "selected-row-keys": vue.unref(selectedRowKeys),
            "select-on-row-click": ""
          }), null, 16, ["data", "selected-row-keys"])
        ]);
      };
    }
  });
  const ListModule = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-1b910cfc"]]);
  const _withScopeId$6 = (n) => (vue.pushScopeId("data-v-98dce44d"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$6 = { class: "lanzouCloud" };
  const _hoisted_2$6 = { class: "lanzouCloud_operation" };
  const _hoisted_3$6 = { class: "lanzouCloud_progress" };
  const _hoisted_4$6 = { class: "lanzouCloud_option" };
  const _hoisted_5$6 = { class: "lanzouCloud_option_item" };
  const _hoisted_6$6 = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "lanzouCloud_option_item_title" }, "延迟(毫秒):", -1));
  const _hoisted_7$5 = { class: "lanzouCloud_option_item" };
  const _hoisted_8$5 = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "lanzouCloud_option_item_title" }, "分享形式:", -1));
  const _hoisted_9$5 = {
    key: 0,
    style: { "margin-top": "4px" }
  };
  const _hoisted_10$3 = { style: { "height": "60vh", "overflow-y": "scroll" } };
  const _hoisted_11$3 = { class: "lanzouCloud_result" };
  const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download,
        downloadExcel
      } = uselanzouCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_input = vue.resolveComponent("t-input");
        const _component_t_collapse_panel = vue.resolveComponent("t-collapse-panel");
        const _component_t_collapse = vue.resolveComponent("t-collapse");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
          vue.createElementVNode("div", _hoisted_2$6, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(downloadExcel)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载信息为Excel")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_3$6, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_4$6, [
            vue.createVNode(_component_t_collapse, { expandMutex: "" }, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_collapse_panel, {
                  value: "0",
                  header: "分享配置"
                }, {
                  default: vue.withCtx(() => [
                    vue.createElementVNode("div", _hoisted_5$6, [
                      vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                        default: vue.withCtx(() => [
                          _hoisted_6$6
                        ]),
                        _: 1
                      }),
                      vue.createVNode(_component_t_input_number, {
                        modelValue: vue.unref(userOptions).shareDelay,
                        "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
                        step: "100"
                      }, null, 8, ["modelValue"])
                    ]),
                    vue.createElementVNode("div", _hoisted_7$5, [
                      _hoisted_8$5,
                      vue.createVNode(_component_t_radio_group, {
                        modelValue: vue.unref(userOptions).pwdType,
                        "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).pwdType = $event)
                      }, {
                        default: vue.withCtx(() => [
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(PwdEnum$1).no
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("无提取码")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(PwdEnum$1).yes
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("随机提取码")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(PwdEnum$1).self
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("自定义提取码")
                            ]),
                            _: 1
                          }, 8, ["value"])
                        ]),
                        _: 1
                      }, 8, ["modelValue"])
                    ]),
                    vue.unref(userOptions).pwdType === vue.unref(PwdEnum$1).self ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$5, [
                      vue.createVNode(_component_t_input, {
                        modelValue: vue.unref(userOptions).pwd,
                        "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).pwd = $event),
                        placeholder: "请输入自定义提取码(只支持数字和英文,最少2位最长6位)",
                        maxlength: "6"
                      }, null, 8, ["modelValue"])
                    ])) : vue.createCommentVNode("", true)
                  ]),
                  _: 1
                }),
                vue.createVNode(_component_t_collapse_panel, {
                  value: "1",
                  header: "文件选择"
                }, {
                  default: vue.withCtx(() => [
                    vue.createElementVNode("div", _hoisted_10$3, [
                      vue.createVNode(ListModule, {
                        list: vue.unref(userOptions).listData,
                        infos: vue.unref(userOptions).selectFileInfoList,
                        "onUpdate:infos": _cache[3] || (_cache[3] = ($event) => vue.unref(userOptions).selectFileInfoList = $event)
                      }, null, 8, ["list", "infos"])
                    ])
                  ]),
                  _: 1
                })
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_11$3, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloudLanZou = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-98dce44d"]]);
  var ExpireTimeEnum$4 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 1] = "forever";
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 2] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 3] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["thirtyDay"] = 4] = "thirtyDay";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$4 || {});
  var HasPwd = /* @__PURE__ */ ((HasPwd2) => {
    HasPwd2[HasPwd2["no"] = 0] = "no";
    HasPwd2[HasPwd2["yes"] = 1] = "yes";
    return HasPwd2;
  })(HasPwd || {});
  var UrlTypeEnum = /* @__PURE__ */ ((UrlTypeEnum2) => {
    UrlTypeEnum2[UrlTypeEnum2["noPwd"] = 1] = "noPwd";
    UrlTypeEnum2[UrlTypeEnum2["hasPwd"] = 2] = "hasPwd";
    return UrlTypeEnum2;
  })(UrlTypeEnum || {});
  function getTaskID(data) {
    return new Promise((resolve2, reject2) => {
      _GM_xmlhttpRequest({
        method: "post",
        url: "https://drive-pc.quark.cn/1/clouddrive/share?pr=ucpro&fr=pc",
        headers: {
          "accept": "application/json, text/plain, */*",
          "content-type": "application/json"
        },
        data: JSON.stringify(data),
        onload: ({ response }) => {
          const { data: data2 } = JSON.parse(response) || {};
          const task_id = (data2 == null ? void 0 : data2.task_id) ?? "";
          resolve2(task_id);
        },
        onerror: (res) => {
          reject2(res);
        }
      });
    });
  }
  function getShareID(task_id, retry_index = 0) {
    return new Promise((resolve2, reject2) => {
      _GM_xmlhttpRequest({
        method: "get",
        url: `https://drive-pc.quark.cn/1/clouddrive/task?pr=ucpro&fr=pc&task_id=${task_id}&retry_index=${retry_index}`,
        onload: ({ response }) => {
          const { data } = JSON.parse(response) || {};
          const share_id = (data == null ? void 0 : data.share_id) ?? "";
          resolve2(share_id);
        },
        onerror: (res) => {
          reject2(res);
        }
      });
    });
  }
  function getShareUrl(share_id) {
    return new Promise((resolve2, reject2) => {
      _GM_xmlhttpRequest({
        method: "post",
        url: "https://drive-pc.quark.cn/1/clouddrive/share/password?pr=ucpro&fr=pc",
        data: JSON.stringify({
          share_id
        }),
        onload: ({ response }) => {
          const { data } = JSON.parse(response) || {};
          const { passcode, share_url, title } = data || {};
          resolve2(share_url ?? "");
        },
        onerror: (res) => {
          reject2(res);
        }
      });
    });
  }
  const transformExcelInfoData$4 = (data) => {
    return (data == null ? void 0 : data.map((item) => {
      let time;
      switch (item.expireTime) {
        case ExpireTimeEnum$4.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$4.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$4.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return {
        "文件名称": (item == null ? void 0 : item.fileName) ?? "",
        "分享链接": (item == null ? void 0 : item.url) ?? "",
        "提取码": (item == null ? void 0 : item.pwd) ?? "",
        "有效期": time
      };
    })) ?? [];
  };
  const usequarkCloud = () => {
    const userOptions = vue.ref({
      shareDelay: 1e3,
      expireTime: ExpireTimeEnum$4.forever,
      shareInfo: [],
      shareInfoUserSee: "",
      shareProgress: 0,
      selectFileInfoList: [],
      isSharing: false,
      pwdType: HasPwd.yes
    });
    const handleTransformFormat = (info) => {
      let time;
      switch (info.expireTime) {
        case ExpireTimeEnum$4.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$4.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$4.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return `文件名称: ${info.fileName} 分享链接:${info.url} 提取码:${info.pwd ?? "为空"} 分享有效时间: ${time}`;
    };
    const handleBatchOperation = async () => {
      var _a, _b, _c, _d, _e;
      const selectDOM = document.querySelectorAll((_a = ShareDOMSelect["cloudQuark"]) == null ? void 0 : _a.select);
      if (!selectDOM.length) {
        return tdesignVueNext.MessagePlugin.warning("请选择要分享的文件!");
      }
      userOptions.value.isSharing = true;
      const currentShareInfo = [];
      for (let dom of selectDOM) {
        userOptions.value.selectFileInfoList.push({
          id: dom.getAttribute((_c = (_b = ShareDOMSelect["cloudQuark"]) == null ? void 0 : _b.idAttribute) == null ? void 0 : _c[0]) ?? "",
          fileName: ((_e = dom.querySelector((_d = ShareDOMSelect["cloudQuark"]) == null ? void 0 : _d.fileNameSelect)) == null ? void 0 : _e.textContent) ?? "(!!$$未知名称!!$$)",
          expireTime: userOptions.value.expireTime,
          pwd: userOptions.value.pwdType === HasPwd.yes ? generateRandomString(4) : ""
        });
      }
      for (let fileInfo of userOptions.value.selectFileInfoList) {
        const sendData = {
          expired_type: fileInfo.expireTime,
          fid_list: [fileInfo.id],
          title: fileInfo.fileName,
          url_type: fileInfo.pwd ? UrlTypeEnum.hasPwd : UrlTypeEnum.noPwd,
          passcode: fileInfo.pwd
        };
        const task_id = await getTaskID(sendData).catch(() => "");
        const share_id = await getShareID(task_id).catch(() => "");
        let share_url = "";
        if (share_id) {
          share_url = await getShareUrl(share_id).catch(() => "");
        } else {
          await new Promise((r) => setTimeout(r, 500));
          let share_id2 = await getShareID(task_id, 1).catch(() => "");
          let i = 2;
          while (i < 4) {
            await new Promise((r) => setTimeout(r, 500));
            share_id2 = await getShareID(task_id, i++).catch(() => "");
            if (share_id2)
              break;
          }
          share_url = await getShareUrl(share_id2).catch(() => "");
        }
        let tempData = {
          ...fileInfo,
          url: share_url
        };
        userOptions.value.shareInfo.push(tempData);
        currentShareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(currentShareInfo.length / userOptions.value.selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await tdesignVueNext.MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareInfo = [];
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        tdesignVueNext.MessagePlugin.success("复制成功");
      }).catch(() => {
        tdesignVueNext.MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    const downloadExcel = () => {
      exportXlsxFile(`${cloudInfoStore.cloudName}批量分享${Date.now()}.xlsx`, transformExcelInfoData$4(userOptions.value.shareInfo));
    };
    return {
      userOptions,
      handleBatchOperation,
      handleTransformFormat,
      handleEnd,
      copyValue,
      downloadExcel,
      download
    };
  };
  const _withScopeId$5 = (n) => (vue.pushScopeId("data-v-7ddcaef9"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$5 = { class: "quarkCloud" };
  const _hoisted_2$5 = { class: "quarkCloud_option" };
  const _hoisted_3$5 = { class: "quarkCloud_option_item" };
  const _hoisted_4$5 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ vue.createElementVNode("span", null, "有效期:", -1));
  const _hoisted_5$5 = {
    class: "quarkCloud_option_item",
    style: { "margin": "6px 0" }
  };
  const _hoisted_6$5 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ vue.createElementVNode("span", null, "提取码:", -1));
  const _hoisted_7$4 = { class: "quarkCloud_operation" };
  const _hoisted_8$4 = { class: "quarkCloud_progress" };
  const _hoisted_9$4 = { class: "quarkCloud_result" };
  const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download,
        downloadExcel
      } = usequarkCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
          vue.createElementVNode("div", _hoisted_2$5, [
            vue.createElementVNode("div", _hoisted_3$5, [
              _hoisted_4$5,
              vue.createVNode(_component_t_radio_group, {
                modelValue: vue.unref(userOptions).expireTime,
                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).expireTime = $event)
              }, {
                default: vue.withCtx(() => [
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$4).oneDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("1天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$4).sevenDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("7天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$4).thirtyDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("30天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$4).forever
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("永久")
                    ]),
                    _: 1
                  }, 8, ["value"])
                ]),
                _: 1
              }, 8, ["modelValue"]),
              vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                default: vue.withCtx(() => [
                  vue.createTextVNode("延迟(毫秒):")
                ]),
                _: 1
              }),
              vue.createVNode(_component_t_input_number, {
                modelValue: vue.unref(userOptions).shareDelay,
                "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).shareDelay = $event),
                step: "100",
                min: "1000"
              }, null, 8, ["modelValue"])
            ]),
            vue.createElementVNode("div", _hoisted_5$5, [
              _hoisted_6$5,
              vue.createVNode(_component_t_radio_group, {
                modelValue: vue.unref(userOptions).pwdType,
                "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).pwdType = $event)
              }, {
                default: vue.withCtx(() => [
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(HasPwd).no
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("无提取码")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(HasPwd).yes
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("有提取码")
                    ]),
                    _: 1
                  }, 8, ["value"])
                ]),
                _: 1
              }, 8, ["modelValue"])
            ])
          ]),
          vue.createElementVNode("div", _hoisted_7$4, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(downloadExcel)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载信息为Excel")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_8$4, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_9$4, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloudQuark = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-7ddcaef9"]]);
  var ExpireTimeEnum$3 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 2] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 4] = "forever";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$3 || {});
  var DefaultShowEnum = /* @__PURE__ */ ((DefaultShowEnum2) => {
    DefaultShowEnum2[DefaultShowEnum2["tile"] = 2] = "tile";
    DefaultShowEnum2[DefaultShowEnum2["list"] = 1] = "list";
    return DefaultShowEnum2;
  })(DefaultShowEnum || {});
  const transformExcelInfoData$3 = (data) => {
    return (data == null ? void 0 : data.map((item) => {
      let time;
      switch (item.timeCode) {
        case ExpireTimeEnum$3.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$3.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$3.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return {
        "文件名称": (item == null ? void 0 : item.fileName) ?? "",
        "分享链接": (item == null ? void 0 : item.url) ?? "",
        "提取码": (item == null ? void 0 : item.pwd) ?? "",
        "有效期": time
      };
    })) ?? [];
  };
  const use139Cloud = () => {
    const userOptions = vue.ref({
      expiration: ExpireTimeEnum$3.forever,
      displayStatus: DefaultShowEnum.list,
      pwd: "",
      //自定义提取码或随机提取码
      shareDelay: 500,
      shareProgress: 0,
      shareResultInfoList: [],
      shareInfoUserSee: "",
      isSharing: false,
      auth: "",
      //分享的Authorization
      userPhone: ""
    });
    const init = () => {
      let t = "authorization";
      let e = t + "=", a = document.cookie.split(";"), n = 0;
      for (; n < a.length; n++) {
        let o = a[n].trim();
        if (0 == o.indexOf(e))
          userOptions.value.auth = o.substring(e.length, o.length);
      }
    };
    init();
    const transformOptions = (params) => {
      let period;
      switch (params.expiration) {
        case ExpireTimeEnum$3.oneDay:
          period = 1;
          break;
        case ExpireTimeEnum$3.sevenDay:
          period = 7;
          break;
        case ExpireTimeEnum$3.forever:
          period = null;
          break;
      }
      return {
        period
      };
    };
    const transformInfoStyle = (info) => {
      let time;
      switch (info.timeCode) {
        case ExpireTimeEnum$3.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$3.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$3.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return `文件名称: ${info.fileName} 分享链接:${info.url} 提取码:${info.pwd ?? "为空"} 分享有效时间: ${time}`;
    };
    const transformResult = (result) => {
      var _a, _b, _c, _d;
      const list = ((_b = (_a = result == null ? void 0 : result.data) == null ? void 0 : _a.getOutLinkRes) == null ? void 0 : _b.getOutLinkResSet) ?? [];
      return {
        linkUrl: ((_c = list == null ? void 0 : list[0]) == null ? void 0 : _c.linkUrl) ?? "",
        passwd: ((_d = list == null ? void 0 : list[0]) == null ? void 0 : _d.passwd) ?? ""
      };
    };
    const handleBatchOperation = async () => {
      var _a, _b;
      const selectList = ((_b = (_a = document.querySelector(".main_file_list")) == null ? void 0 : _a.__vue__) == null ? void 0 : _b.selectList) ?? [];
      const selectFileInfoList = (selectList == null ? void 0 : selectList.map(({ item }) => ({
        fileName: (item == null ? void 0 : item.contentName) ? item == null ? void 0 : item.contentName : item == null ? void 0 : item.catalogName,
        id: (item == null ? void 0 : item.contentID) ? item == null ? void 0 : item.contentID : item == null ? void 0 : item.catalogID,
        owner: (item == null ? void 0 : item.owner) ?? "",
        //分享用得到
        catalogType: (item == null ? void 0 : item.contentID) ? 0 : 1
        //0代表文件分享 1代表文件夹分享
      }))) ?? [];
      if (!selectFileInfoList.length) {
        return tdesignVueNext.MessagePlugin.warning("请选择要分享的文件!");
      }
      userOptions.value.isSharing = true;
      const currentShareInfo = [];
      for (let fileInfo of selectFileInfoList) {
        console.log(fileInfo);
        const data = {
          ...transformOptions(userOptions.value),
          caIDLst: fileInfo.catalogType === 1 ? [fileInfo.id] : [],
          //分享的文件夹
          coIDLst: fileInfo.catalogType === 0 ? [fileInfo.id] : [],
          //分享的文件
          commonAccountInfo: {
            //新建文件夹可能无法获取,就存储了下用户的手机,无法获取再从用户那边读取
            account: fileInfo.owner ? fileInfo.owner : userOptions.value.userPhone,
            //账户名,一般是手机号
            accountType: 1
          },
          dedicatedName: fileInfo.fileName,
          //文件或文件夹名称
          encrypt: 1,
          extInfo: {
            isWatermark: 0,
            shareChannel: "3001"
          },
          periodUnit: 1,
          pubType: 1,
          subLinkType: 0,
          viewerLst: []
        };
        const { data: backData } = await axios({
          method: "post",
          url: `${window.location.origin}/orchestration/personalCloud-rebuild/outlink/v1.0/getOutLink`,
          data: {
            getOutLinkReq: data
          },
          headers: {
            "Content-Type": "application/json;charset=UTF-8",
            "Authorization": userOptions.value.auth
          }
        }).catch(() => ({ data: {} }));
        const backResult = transformResult(backData);
        let tempData = {
          fileName: fileInfo.fileName,
          url: backResult.linkUrl,
          pwd: backResult.passwd,
          timeCode: userOptions.value.expiration
        };
        userOptions.value.shareResultInfoList.push(tempData);
        currentShareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += transformInfoStyle(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(currentShareInfo.length / selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await tdesignVueNext.MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareResultInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        tdesignVueNext.MessagePlugin.success("复制成功");
      }).catch(() => {
        tdesignVueNext.MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    const downloadExcel = () => {
      exportXlsxFile(`${cloudInfoStore.cloudName}批量分享${Date.now()}.xlsx`, transformExcelInfoData$3(userOptions.value.shareResultInfoList));
    };
    return {
      init,
      userOptions,
      transformOptions,
      transformInfoStyle,
      transformResult,
      handleBatchOperation,
      handleEnd,
      copyValue,
      download,
      downloadExcel
    };
  };
  const _withScopeId$4 = (n) => (vue.pushScopeId("data-v-f1489390"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$4 = { class: "cloud139" };
  const _hoisted_2$4 = { class: "cloud139_operation" };
  const _hoisted_3$4 = { class: "cloud139_progress" };
  const _hoisted_4$4 = { class: "cloud139_option" };
  const _hoisted_5$4 = { class: "cloud139_option_item" };
  const _hoisted_6$4 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud139_option_item_title" }, "延迟(毫秒):", -1));
  const _hoisted_7$3 = { class: "cloud139_option_item" };
  const _hoisted_8$3 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud139_option_item_title" }, "有效期:", -1));
  const _hoisted_9$3 = { class: "cloud139_result" };
  const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download,
        downloadExcel
      } = use139Cloud();
      __expose({
        handleEnd
      });
      vue.onMounted(() => {
        var _a, _b, _c, _d, _e;
        userOptions.value.userPhone = ((_e = (_d = (_c = (_b = (_a = document.querySelector(".body_main")) == null ? void 0 : _a.__vue__) == null ? void 0 : _b.$store) == null ? void 0 : _c.state) == null ? void 0 : _d.auth) == null ? void 0 : _e.accountPhone) ?? "";
      });
      return (_ctx, _cache) => {
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_collapse_panel = vue.resolveComponent("t-collapse-panel");
        const _component_t_collapse = vue.resolveComponent("t-collapse");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
          vue.createElementVNode("div", _hoisted_2$4, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(downloadExcel)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载信息为Excel")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_3$4, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_4$4, [
            vue.createVNode(_component_t_collapse, {
              expandMutex: "",
              "default-expand-all": ""
            }, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_collapse_panel, {
                  value: "0",
                  header: "分享配置"
                }, {
                  default: vue.withCtx(() => [
                    vue.createElementVNode("div", _hoisted_5$4, [
                      vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                        default: vue.withCtx(() => [
                          _hoisted_6$4
                        ]),
                        _: 1
                      }),
                      vue.createVNode(_component_t_input_number, {
                        modelValue: vue.unref(userOptions).shareDelay,
                        "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
                        step: "100"
                      }, null, 8, ["modelValue"])
                    ]),
                    vue.createElementVNode("div", _hoisted_7$3, [
                      _hoisted_8$3,
                      vue.createVNode(_component_t_radio_group, {
                        modelValue: vue.unref(userOptions).expiration,
                        "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).expiration = $event)
                      }, {
                        default: vue.withCtx(() => [
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$3).oneDay
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("1天")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$3).sevenDay
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("7天")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$3).forever
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("永久")
                            ]),
                            _: 1
                          }, 8, ["value"])
                        ]),
                        _: 1
                      }, 8, ["modelValue"])
                    ])
                  ]),
                  _: 1
                })
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_9$3, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloud139 = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-f1489390"]]);
  var ExpireTimeEnum$2 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["twoDay"] = 2] = "twoDay";
    ExpireTimeEnum2[ExpireTimeEnum2["threeDay"] = 3] = "threeDay";
    ExpireTimeEnum2[ExpireTimeEnum2["fourDay"] = 4] = "fourDay";
    ExpireTimeEnum2[ExpireTimeEnum2["fiveDay"] = 5] = "fiveDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sixDay"] = 6] = "sixDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = -1] = "forever";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$2 || {});
  var ExtractEnum$1 = /* @__PURE__ */ ((ExtractEnum2) => {
    ExtractEnum2[ExtractEnum2["forever"] = -1] = "forever";
    ExtractEnum2[ExtractEnum2["One"] = 1] = "One";
    ExtractEnum2[ExtractEnum2["Two"] = 2] = "Two";
    ExtractEnum2[ExtractEnum2["Three"] = 3] = "Three";
    ExtractEnum2[ExtractEnum2["Four"] = 4] = "Four";
    ExtractEnum2[ExtractEnum2["Five"] = 5] = "Five";
    ExtractEnum2[ExtractEnum2["Six"] = 6] = "Six";
    ExtractEnum2[ExtractEnum2["Seven"] = 7] = "Seven";
    ExtractEnum2[ExtractEnum2["Eight"] = 8] = "Eight";
    ExtractEnum2[ExtractEnum2["Nine"] = 9] = "Nine";
    ExtractEnum2[ExtractEnum2["Ten"] = 10] = "Ten";
    ExtractEnum2[ExtractEnum2["Eleven"] = 11] = "Eleven";
    ExtractEnum2[ExtractEnum2["Twelve"] = 12] = "Twelve";
    ExtractEnum2[ExtractEnum2["Thirteen"] = 13] = "Thirteen";
    ExtractEnum2[ExtractEnum2["Fourteen"] = 14] = "Fourteen";
    ExtractEnum2[ExtractEnum2["Fifteen"] = 15] = "Fifteen";
    ExtractEnum2[ExtractEnum2["Sixteen"] = 16] = "Sixteen";
    ExtractEnum2[ExtractEnum2["Seventeen"] = 17] = "Seventeen";
    ExtractEnum2[ExtractEnum2["Eighteen"] = 18] = "Eighteen";
    ExtractEnum2[ExtractEnum2["Nineteen"] = 19] = "Nineteen";
    ExtractEnum2[ExtractEnum2["Twenty"] = 20] = "Twenty";
    return ExtractEnum2;
  })(ExtractEnum$1 || {});
  const transformExcelInfoData$2 = (data) => {
    return (data == null ? void 0 : data.map((item) => {
      let time;
      switch (item.expireTime) {
        case ExpireTimeEnum$2.forever:
          time = "永久";
          break;
        case ExpireTimeEnum$2.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$2.twoDay:
          time = "2天";
          break;
        case ExpireTimeEnum$2.threeDay:
          time = "3天";
          break;
        case ExpireTimeEnum$2.fourDay:
          time = "4天";
          break;
        case ExpireTimeEnum$2.fiveDay:
          time = "5天";
          break;
        case ExpireTimeEnum$2.sixDay:
          time = "6天";
          break;
        case ExpireTimeEnum$2.sevenDay:
          time = "7天";
          break;
        default:
          time = "未知";
      }
      let codeNumber;
      switch (item.extractNumber) {
        case ExtractEnum$1.forever:
          codeNumber = "无限";
          break;
        case ExtractEnum$1.One:
          codeNumber = "1次";
          break;
        case ExtractEnum$1.Two:
          codeNumber = "2次";
          break;
        case ExtractEnum$1.Three:
          codeNumber = "3次";
          break;
        case ExtractEnum$1.Four:
          codeNumber = "4次";
          break;
        case ExtractEnum$1.Five:
          codeNumber = "5次";
          break;
        case ExtractEnum$1.Six:
          codeNumber = "6次";
          break;
        case ExtractEnum$1.Seven:
          codeNumber = "7次";
          break;
        case ExtractEnum$1.Eight:
          codeNumber = "8次";
          break;
        case ExtractEnum$1.Nine:
          codeNumber = "9次";
          break;
        case ExtractEnum$1.Ten:
          codeNumber = "10次";
          break;
        case ExtractEnum$1.Eleven:
          codeNumber = "11次";
          break;
        case ExtractEnum$1.Twelve:
          codeNumber = "12次";
          break;
        case ExtractEnum$1.Thirteen:
          codeNumber = "13次";
          break;
        case ExtractEnum$1.Fourteen:
          codeNumber = "14次";
          break;
        case ExtractEnum$1.Fifteen:
          codeNumber = "15次";
          break;
        case ExtractEnum$1.Sixteen:
          codeNumber = "16次";
          break;
        case ExtractEnum$1.Seventeen:
          codeNumber = "17次";
          break;
        case ExtractEnum$1.Eighteen:
          codeNumber = "18次";
          break;
        case ExtractEnum$1.Nineteen:
          codeNumber = "19次";
          break;
        case ExtractEnum$1.Twenty:
          codeNumber = "20次";
          break;
        default:
          codeNumber = "未知";
      }
      return {
        "文件名称": (item == null ? void 0 : item.fileName) ?? "",
        "分享链接": (item == null ? void 0 : item.share_url) ?? "",
        "提取码": (item == null ? void 0 : item.pass_code) ?? "",
        "有效期": time,
        "有效次数": codeNumber
      };
    })) ?? [];
  };
  const useXunCloud = () => {
    const userOptions = vue.ref({
      expireTimeOptions: [
        { label: "不限", value: ExpireTimeEnum$2.forever },
        { label: "1天", value: ExpireTimeEnum$2.oneDay },
        { label: "2天", value: ExpireTimeEnum$2.twoDay },
        { label: "3天", value: ExpireTimeEnum$2.threeDay },
        { label: "4天", value: ExpireTimeEnum$2.fourDay },
        { label: "5天", value: ExpireTimeEnum$2.fiveDay },
        { label: "6天", value: ExpireTimeEnum$2.sixDay },
        { label: "7天", value: ExpireTimeEnum$2.sevenDay }
      ],
      extractOptions: [
        { label: "不限", value: ExtractEnum$1.forever },
        { label: "1天", value: ExtractEnum$1.One },
        { label: "2天", value: ExtractEnum$1.Two },
        { label: "3天", value: ExtractEnum$1.Three },
        { label: "4天", value: ExtractEnum$1.Four },
        { label: "5天", value: ExtractEnum$1.Five },
        { label: "6天", value: ExtractEnum$1.Six },
        { label: "7天", value: ExtractEnum$1.Seven },
        { label: "8天", value: ExtractEnum$1.Eight },
        { label: "9天", value: ExtractEnum$1.Nine },
        { label: "10天", value: ExtractEnum$1.Ten },
        { label: "11天", value: ExtractEnum$1.Eleven },
        { label: "12天", value: ExtractEnum$1.Twelve },
        { label: "13天", value: ExtractEnum$1.Thirteen },
        { label: "14天", value: ExtractEnum$1.Fourteen },
        { label: "15天", value: ExtractEnum$1.Fifteen },
        { label: "16天", value: ExtractEnum$1.Sixteen },
        { label: "17天", value: ExtractEnum$1.Seventeen },
        { label: "18天", value: ExtractEnum$1.Eighteen },
        { label: "19天", value: ExtractEnum$1.Nineteen },
        { label: "20天", value: ExtractEnum$1.Twenty }
      ],
      shareDelay: 500,
      allowQuickAccess: true,
      expireTime: ExpireTimeEnum$2.forever,
      extractNumber: ExtractEnum$1.forever,
      shareInfo: [],
      shareInfoUserSee: "",
      shareProgress: 0,
      selectFileInfoList: [],
      isSharing: false
    });
    const handleTransformFormat = (info) => {
      if (!info.error_description) {
        let time;
        switch (info.expireTime) {
          case ExpireTimeEnum$2.forever:
            time = "永久";
            break;
          case ExpireTimeEnum$2.oneDay:
            time = "1天";
            break;
          case ExpireTimeEnum$2.twoDay:
            time = "2天";
            break;
          case ExpireTimeEnum$2.threeDay:
            time = "3天";
            break;
          case ExpireTimeEnum$2.fourDay:
            time = "4天";
            break;
          case ExpireTimeEnum$2.fiveDay:
            time = "5天";
            break;
          case ExpireTimeEnum$2.sixDay:
            time = "6天";
            break;
          case ExpireTimeEnum$2.sevenDay:
            time = "7天";
            break;
          default:
            time = "未知";
        }
        let codeNumber;
        switch (info.extractNumber) {
          case ExtractEnum$1.forever:
            codeNumber = "无限";
            break;
          case ExtractEnum$1.One:
            codeNumber = "1次";
            break;
          case ExtractEnum$1.Two:
            codeNumber = "2次";
            break;
          case ExtractEnum$1.Three:
            codeNumber = "3次";
            break;
          case ExtractEnum$1.Four:
            codeNumber = "4次";
            break;
          case ExtractEnum$1.Five:
            codeNumber = "5次";
            break;
          case ExtractEnum$1.Six:
            codeNumber = "6次";
            break;
          case ExtractEnum$1.Seven:
            codeNumber = "7次";
            break;
          case ExtractEnum$1.Eight:
            codeNumber = "8次";
            break;
          case ExtractEnum$1.Nine:
            codeNumber = "9次";
            break;
          case ExtractEnum$1.Ten:
            codeNumber = "10次";
            break;
          case ExtractEnum$1.Eleven:
            codeNumber = "11次";
            break;
          case ExtractEnum$1.Twelve:
            codeNumber = "12次";
            break;
          case ExtractEnum$1.Thirteen:
            codeNumber = "13次";
            break;
          case ExtractEnum$1.Fourteen:
            codeNumber = "14次";
            break;
          case ExtractEnum$1.Fifteen:
            codeNumber = "15次";
            break;
          case ExtractEnum$1.Sixteen:
            codeNumber = "16次";
            break;
          case ExtractEnum$1.Seventeen:
            codeNumber = "17次";
            break;
          case ExtractEnum$1.Eighteen:
            codeNumber = "18次";
            break;
          case ExtractEnum$1.Nineteen:
            codeNumber = "19次";
            break;
          case ExtractEnum$1.Twenty:
            codeNumber = "20次";
            break;
          default:
            codeNumber = "未知";
        }
        return `文件名称: ${info.fileName} 分享链接:${info.share_url} 提取码:${info.pass_code} 有效期: ${time} 有效次数:${codeNumber}`;
      } else {
        return `文件名称: ${info.fileName} 分享错误信息: ${info.error_description}`;
      }
    };
    const handleBatchOperation = async () => {
      var _a;
      const tempDOM = document.querySelector(".pan-web");
      const selectedRowKeys = tempDOM.__vue__.$parent.fileSelected ?? [];
      const allInfo = tempDOM.__vue__.$store.state.drive.all ?? {};
      const selectRowInfos = selectedRowKeys.map((id) => allInfo[id]) ?? [];
      const temp1 = findLocalStorageKeysWithPrefix("captcha_") ?? {};
      const temp2 = findLocalStorageKeysWithPrefix("credentials_") ?? {};
      if (!selectedRowKeys.length) {
        return tdesignVueNext.MessagePlugin.warning("请选择要分享的文件!");
      }
      const headers = {
        "x-client-id": "",
        "x-device-id": (_a = localStorage.getItem("deviceid")) == null ? void 0 : _a.slice(6, 38),
        "x-captcha-token": temp1.token,
        "authorization": `${temp2.token_type} ` + temp2.access_token
      };
      userOptions.value.isSharing = true;
      const currentShareInfo = [];
      for (let item of selectRowInfos) {
        userOptions.value.selectFileInfoList.push({
          id: item == null ? void 0 : item.id,
          fileName: (item == null ? void 0 : item.name) ?? "",
          expireTime: userOptions.value.expireTime,
          extractNumber: userOptions.value.extractNumber
        });
      }
      for (let fileInfo of userOptions.value.selectFileInfoList) {
        const { data } = await axios({
          method: "post",
          url: "https://api-pan.xunlei.com/drive/v1/share",
          data: {
            expiration_days: fileInfo.expireTime + "",
            file_ids: [fileInfo.id],
            params: {
              subscribe_push: "false"
            },
            restore_limit: fileInfo.extractNumber + "",
            share_to: "copy",
            title: "云盘资源分享"
          },
          headers
        }).catch(({ response }) => response);
        let tempData = {
          ...fileInfo,
          share_text: (data == null ? void 0 : data.share_text) ?? "",
          share_url: (data == null ? void 0 : data.share_url) ?? "",
          pass_code: (data == null ? void 0 : data.pass_code) ?? "",
          error_description: (data == null ? void 0 : data.error_description) ?? ""
        };
        userOptions.value.shareInfo.push(tempData);
        currentShareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(currentShareInfo.length / userOptions.value.selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await tdesignVueNext.MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareInfo = [];
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        tdesignVueNext.MessagePlugin.success("复制成功");
      }).catch(() => {
        tdesignVueNext.MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    const downloadExcel = () => {
      exportXlsxFile(`${cloudInfoStore.cloudName}批量分享${Date.now()}.xlsx`, transformExcelInfoData$2(userOptions.value.shareInfo));
    };
    return {
      userOptions,
      handleBatchOperation,
      handleTransformFormat,
      handleEnd,
      copyValue,
      download,
      downloadExcel
    };
  };
  const _withScopeId$3 = (n) => (vue.pushScopeId("data-v-3dbd7c07"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$3 = { class: "xunCloud" };
  const _hoisted_2$3 = { class: "xunCloud_option" };
  const _hoisted_3$3 = { class: "xunCloud_option_item" };
  const _hoisted_4$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "xunCloud_option_item_title" }, "延迟毫秒:", -1));
  const _hoisted_5$3 = { class: "xunCloud_option_item" };
  const _hoisted_6$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "xunCloud_option_item_title" }, "提取次数:", -1));
  const _hoisted_7$2 = { class: "xunCloud_option_item" };
  const _hoisted_8$2 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "xunCloud_option_item_title" }, "提取期限:", -1));
  const _hoisted_9$2 = { class: "xunCloud_operation" };
  const _hoisted_10$2 = { class: "xunCloud_progress" };
  const _hoisted_11$2 = { class: "xunCloud_result" };
  const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download,
        downloadExcel
      } = useXunCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_select = vue.resolveComponent("t-select");
        const _component_t_checkbox = vue.resolveComponent("t-checkbox");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
          vue.createElementVNode("div", _hoisted_2$3, [
            vue.createElementVNode("div", _hoisted_3$3, [
              vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                default: vue.withCtx(() => [
                  _hoisted_4$3
                ]),
                _: 1
              }),
              vue.createVNode(_component_t_input_number, {
                modelValue: vue.unref(userOptions).shareDelay,
                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
                step: "100"
              }, null, 8, ["modelValue"])
            ]),
            vue.createElementVNode("div", _hoisted_5$3, [
              _hoisted_6$3,
              vue.createVNode(_component_t_select, {
                modelValue: vue.unref(userOptions).extractNumber,
                "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).extractNumber = $event),
                placeholder: "请选择提取次数",
                "auto-width": "",
                options: vue.unref(userOptions).extractOptions
              }, null, 8, ["modelValue", "options"])
            ]),
            vue.createElementVNode("div", _hoisted_7$2, [
              _hoisted_8$2,
              vue.createVNode(_component_t_select, {
                modelValue: vue.unref(userOptions).expireTime,
                "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).expireTime = $event),
                placeholder: "请选择提取期限",
                "auto-width": "",
                options: vue.unref(userOptions).expireTimeOptions
              }, null, 8, ["modelValue", "options"])
            ]),
            vue.createVNode(_component_t_checkbox, {
              modelValue: vue.unref(userOptions).allowQuickAccess,
              "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(userOptions).allowQuickAccess = $event)
            }, {
              default: vue.withCtx(() => [
                vue.createTextVNode("允许快速访问分享链接(无用功能)")
              ]),
              _: 1
            }, 8, ["modelValue"])
          ]),
          vue.createElementVNode("div", _hoisted_9$2, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(downloadExcel)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载信息为Excel")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_10$2, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_11$2, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloudXun = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-3dbd7c07"]]);
  var ExpireTimeEnum$1 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = -1] = "forever";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["thirtyDay"] = 30] = "thirtyDay";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$1 || {});
  var PwdEnum = /* @__PURE__ */ ((PwdEnum2) => {
    PwdEnum2[PwdEnum2["no"] = 0] = "no";
    PwdEnum2[PwdEnum2["yes"] = 1] = "yes";
    return PwdEnum2;
  })(PwdEnum || {});
  var dayjs_min = { exports: {} };
  (function(module, exports) {
    !function(t, e) {
      module.exports = e();
    }(commonjsGlobal, function() {
      var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h2 = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t2) {
        var e2 = ["th", "st", "nd", "rd"], n2 = t2 % 100;
        return "[" + t2 + (e2[(n2 - 20) % 10] || e2[n2] || e2[0]) + "]";
      } }, m = function(t2, e2, n2) {
        var r2 = String(t2);
        return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2;
      }, v = { s: m, z: function(t2) {
        var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60;
        return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0");
      }, m: function t2(e2, n2) {
        if (e2.date() < n2.date())
          return -t2(n2, e2);
        var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, c), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), c);
        return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0);
      }, a: function(t2) {
        return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2);
      }, p: function(t2) {
        return { M: c, y: h2, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: f }[t2] || String(t2 || "").toLowerCase().replace(/s$/, "");
      }, u: function(t2) {
        return void 0 === t2;
      } }, g = "en", D = {};
      D[g] = M;
      var p = "$isDayjsObject", S = function(t2) {
        return t2 instanceof _ || !(!t2 || !t2[p]);
      }, w = function t2(e2, n2, r2) {
        var i2;
        if (!e2)
          return g;
        if ("string" == typeof e2) {
          var s2 = e2.toLowerCase();
          D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
          var u2 = e2.split("-");
          if (!i2 && u2.length > 1)
            return t2(u2[0]);
        } else {
          var a2 = e2.name;
          D[a2] = e2, i2 = a2;
        }
        return !r2 && i2 && (g = i2), i2 || !r2 && g;
      }, O = function(t2, e2) {
        if (S(t2))
          return t2.clone();
        var n2 = "object" == typeof e2 ? e2 : {};
        return n2.date = t2, n2.args = arguments, new _(n2);
      }, b = v;
      b.l = w, b.i = S, b.w = function(t2, e2) {
        return O(t2, { locale: e2.$L, utc: e2.$u, x: e2.$x, $offset: e2.$offset });
      };
      var _ = function() {
        function M2(t2) {
          this.$L = w(t2.locale, null, true), this.parse(t2), this.$x = this.$x || t2.x || {}, this[p] = true;
        }
        var m2 = M2.prototype;
        return m2.parse = function(t2) {
          this.$d = function(t3) {
            var e2 = t3.date, n2 = t3.utc;
            if (null === e2)
              return /* @__PURE__ */ new Date(NaN);
            if (b.u(e2))
              return /* @__PURE__ */ new Date();
            if (e2 instanceof Date)
              return new Date(e2);
            if ("string" == typeof e2 && !/Z$/i.test(e2)) {
              var r2 = e2.match($);
              if (r2) {
                var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
                return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2);
              }
            }
            return new Date(e2);
          }(t2), this.init();
        }, m2.init = function() {
          var t2 = this.$d;
          this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds();
        }, m2.$utils = function() {
          return b;
        }, m2.isValid = function() {
          return !(this.$d.toString() === l);
        }, m2.isSame = function(t2, e2) {
          var n2 = O(t2);
          return this.startOf(e2) <= n2 && n2 <= this.endOf(e2);
        }, m2.isAfter = function(t2, e2) {
          return O(t2) < this.startOf(e2);
        }, m2.isBefore = function(t2, e2) {
          return this.endOf(e2) < O(t2);
        }, m2.$g = function(t2, e2, n2) {
          return b.u(t2) ? this[e2] : this.set(n2, t2);
        }, m2.unix = function() {
          return Math.floor(this.valueOf() / 1e3);
        }, m2.valueOf = function() {
          return this.$d.getTime();
        }, m2.startOf = function(t2, e2) {
          var n2 = this, r2 = !!b.u(e2) || e2, f2 = b.p(t2), l2 = function(t3, e3) {
            var i2 = b.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2);
            return r2 ? i2 : i2.endOf(a);
          }, $2 = function(t3, e3) {
            return b.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2);
          }, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
          switch (f2) {
            case h2:
              return r2 ? l2(1, 0) : l2(31, 11);
            case c:
              return r2 ? l2(1, M3) : l2(0, M3 + 1);
            case o:
              var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
              return l2(r2 ? m3 - D2 : m3 + (6 - D2), M3);
            case a:
            case d:
              return $2(v2 + "Hours", 0);
            case u:
              return $2(v2 + "Minutes", 1);
            case s:
              return $2(v2 + "Seconds", 2);
            case i:
              return $2(v2 + "Milliseconds", 3);
            default:
              return this.clone();
          }
        }, m2.endOf = function(t2) {
          return this.startOf(t2, false);
        }, m2.$set = function(t2, e2) {
          var n2, o2 = b.p(t2), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n2 = {}, n2[a] = f2 + "Date", n2[d] = f2 + "Date", n2[c] = f2 + "Month", n2[h2] = f2 + "FullYear", n2[u] = f2 + "Hours", n2[s] = f2 + "Minutes", n2[i] = f2 + "Seconds", n2[r] = f2 + "Milliseconds", n2)[o2], $2 = o2 === a ? this.$D + (e2 - this.$W) : e2;
          if (o2 === c || o2 === h2) {
            var y2 = this.clone().set(d, 1);
            y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
          } else
            l2 && this.$d[l2]($2);
          return this.init(), this;
        }, m2.set = function(t2, e2) {
          return this.clone().$set(t2, e2);
        }, m2.get = function(t2) {
          return this[b.p(t2)]();
        }, m2.add = function(r2, f2) {
          var d2, l2 = this;
          r2 = Number(r2);
          var $2 = b.p(f2), y2 = function(t2) {
            var e2 = O(l2);
            return b.w(e2.date(e2.date() + Math.round(t2 * r2)), l2);
          };
          if ($2 === c)
            return this.set(c, this.$M + r2);
          if ($2 === h2)
            return this.set(h2, this.$y + r2);
          if ($2 === a)
            return y2(1);
          if ($2 === o)
            return y2(7);
          var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[$2] || 1, m3 = this.$d.getTime() + r2 * M3;
          return b.w(m3, this);
        }, m2.subtract = function(t2, e2) {
          return this.add(-1 * t2, e2);
        }, m2.format = function(t2) {
          var e2 = this, n2 = this.$locale();
          if (!this.isValid())
            return n2.invalidDate || l;
          var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = b.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, c2 = n2.months, f2 = n2.meridiem, h3 = function(t3, n3, i3, s3) {
            return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3);
          }, d2 = function(t3) {
            return b.s(s2 % 12 || 12, t3, "0");
          }, $2 = f2 || function(t3, e3, n3) {
            var r3 = t3 < 12 ? "AM" : "PM";
            return n3 ? r3.toLowerCase() : r3;
          };
          return r2.replace(y, function(t3, r3) {
            return r3 || function(t4) {
              switch (t4) {
                case "YY":
                  return String(e2.$y).slice(-2);
                case "YYYY":
                  return b.s(e2.$y, 4, "0");
                case "M":
                  return a2 + 1;
                case "MM":
                  return b.s(a2 + 1, 2, "0");
                case "MMM":
                  return h3(n2.monthsShort, a2, c2, 3);
                case "MMMM":
                  return h3(c2, a2);
                case "D":
                  return e2.$D;
                case "DD":
                  return b.s(e2.$D, 2, "0");
                case "d":
                  return String(e2.$W);
                case "dd":
                  return h3(n2.weekdaysMin, e2.$W, o2, 2);
                case "ddd":
                  return h3(n2.weekdaysShort, e2.$W, o2, 3);
                case "dddd":
                  return o2[e2.$W];
                case "H":
                  return String(s2);
                case "HH":
                  return b.s(s2, 2, "0");
                case "h":
                  return d2(1);
                case "hh":
                  return d2(2);
                case "a":
                  return $2(s2, u2, true);
                case "A":
                  return $2(s2, u2, false);
                case "m":
                  return String(u2);
                case "mm":
                  return b.s(u2, 2, "0");
                case "s":
                  return String(e2.$s);
                case "ss":
                  return b.s(e2.$s, 2, "0");
                case "SSS":
                  return b.s(e2.$ms, 3, "0");
                case "Z":
                  return i2;
              }
              return null;
            }(t3) || i2.replace(":", "");
          });
        }, m2.utcOffset = function() {
          return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
        }, m2.diff = function(r2, d2, l2) {
          var $2, y2 = this, M3 = b.p(d2), m3 = O(r2), v2 = (m3.utcOffset() - this.utcOffset()) * e, g2 = this - m3, D2 = function() {
            return b.m(y2, m3);
          };
          switch (M3) {
            case h2:
              $2 = D2() / 12;
              break;
            case c:
              $2 = D2();
              break;
            case f:
              $2 = D2() / 3;
              break;
            case o:
              $2 = (g2 - v2) / 6048e5;
              break;
            case a:
              $2 = (g2 - v2) / 864e5;
              break;
            case u:
              $2 = g2 / n;
              break;
            case s:
              $2 = g2 / e;
              break;
            case i:
              $2 = g2 / t;
              break;
            default:
              $2 = g2;
          }
          return l2 ? $2 : b.a($2);
        }, m2.daysInMonth = function() {
          return this.endOf(c).$D;
        }, m2.$locale = function() {
          return D[this.$L];
        }, m2.locale = function(t2, e2) {
          if (!t2)
            return this.$L;
          var n2 = this.clone(), r2 = w(t2, e2, true);
          return r2 && (n2.$L = r2), n2;
        }, m2.clone = function() {
          return b.w(this.$d, this);
        }, m2.toDate = function() {
          return new Date(this.valueOf());
        }, m2.toJSON = function() {
          return this.isValid() ? this.toISOString() : null;
        }, m2.toISOString = function() {
          return this.$d.toISOString();
        }, m2.toString = function() {
          return this.$d.toUTCString();
        }, M2;
      }(), k = _.prototype;
      return O.prototype = k, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", c], ["$y", h2], ["$D", d]].forEach(function(t2) {
        k[t2[1]] = function(e2) {
          return this.$g(e2, t2[0], t2[1]);
        };
      }), O.extend = function(t2, e2) {
        return t2.$i || (t2(e2, _, O), t2.$i = true), O;
      }, O.locale = w, O.isDayjs = S, O.unix = function(t2) {
        return O(1e3 * t2);
      }, O.en = D[g], O.Ls = D, O.p = {}, O;
    });
  })(dayjs_min);
  var dayjs_minExports = dayjs_min.exports;
  const dayjs = /* @__PURE__ */ getDefaultExportFromCjs(dayjs_minExports);
  const transformExcelInfoData$1 = (data) => {
    return (data == null ? void 0 : data.map((item) => {
      let time;
      switch (item.expireTimeEnum) {
        case ExpireTimeEnum$1.forever:
          time = "永久";
          break;
        case ExpireTimeEnum$1.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$1.thirtyDay:
          time = "30天";
          break;
        default:
          time = "未知";
      }
      return {
        "文件名称": (item == null ? void 0 : item.fileName) ?? "",
        "分享链接": (item == null ? void 0 : item.share_url) ?? "",
        "提取码": (item == null ? void 0 : item.pwd) ?? "",
        "有效期": time
      };
    })) ?? [];
  };
  const useAliCloud = () => {
    const userOptions = vue.ref({
      shareDelay: 500,
      expireTime: ExpireTimeEnum$1.forever,
      shareInfo: [],
      shareInfoUserSee: "",
      shareProgress: 0,
      selectFileInfoList: [],
      isSharing: false,
      pwd: "",
      pwdType: PwdEnum.yes
    });
    const handleTransformFormat = (info) => {
      if (!info.display_message) {
        let time;
        switch (info.expireTimeEnum) {
          case ExpireTimeEnum$1.forever:
            time = "永久";
            break;
          case ExpireTimeEnum$1.sevenDay:
            time = "7天";
            break;
          case ExpireTimeEnum$1.thirtyDay:
            time = "30天";
            break;
          default:
            time = "未知";
        }
        return `文件名称: ${info.fileName} 链接:${info.share_url} 提取码:${info.pwd ?? "无"} 有效期: ${time} `;
      } else {
        return `文件名称: ${info.fileName} 错误信息${info.display_message}`;
      }
    };
    const handleBatchOperation = async () => {
      var _a, _b, _c, _d, _e;
      const reactDOM = document.querySelector("div[class^='node-list--']");
      if (!reactDOM) {
        throw new Error("初始化阿里云盘失败,DOM未找到");
      }
      const key = (_a = Object.keys(reactDOM)) == null ? void 0 : _a.find(
        (key2) => key2.startsWith("__reactFiber$")
      );
      if (!key) {
        console.error("初始化阿里云盘失败,key未找到");
        throw new Error("初始化阿里云盘失败,key未找到");
      }
      const selectedRowInfos = ((_e = (_d = (_c = (_b = reactDOM == null ? void 0 : reactDOM[key]) == null ? void 0 : _b["return"]) == null ? void 0 : _c.pendingProps) == null ? void 0 : _d.listModel) == null ? void 0 : _e.selectedItems) ?? [];
      if (!selectedRowInfos.length) {
        return tdesignVueNext.MessagePlugin.warning("请选择要分享的文件!");
      }
      userOptions.value.isSharing = true;
      const currentShareInfo = [];
      const token = JSON.parse(localStorage.getItem("token") ?? `{}`) ?? {};
      for (let item of selectedRowInfos) {
        userOptions.value.selectFileInfoList.push({
          id: item == null ? void 0 : item.fileId,
          fileName: (item == null ? void 0 : item.name) ?? "",
          driveId: (item == null ? void 0 : item.driveId) ?? "",
          expireTime: (() => {
            let day;
            switch (userOptions.value.expireTime) {
              case ExpireTimeEnum$1.sevenDay:
                day = 7;
                break;
              case ExpireTimeEnum$1.thirtyDay:
                day = 30;
                break;
            }
            if (!day)
              return "";
            return dayjs().add(day, "d");
          })(),
          expireTimeEnum: userOptions.value.expireTime,
          //后期回显用
          pwd: userOptions.value.pwdType === PwdEnum.yes ? generateRandomString(4) : ""
        });
      }
      for (let fileInfo of userOptions.value.selectFileInfoList) {
        const { data } = await axios({
          method: "post",
          url: "https://api.aliyundrive.com/adrive/v2/share_link/create",
          data: {
            "drive_id": fileInfo.driveId,
            "expiration": fileInfo.expireTime,
            "file_id_list": [fileInfo.id],
            "sync_to_homepage": false,
            "share_pwd": fileInfo.pwd
          },
          headers: {
            "authorization": `${token.token_type} ${token.access_token}`
          }
        }).catch(({ response }) => response);
        let tempData = {
          ...fileInfo,
          share_url: (data == null ? void 0 : data.share_url) ?? "",
          share_name: (data == null ? void 0 : data.share_name) ?? "",
          display_message: (data == null ? void 0 : data.display_message) || (data == null ? void 0 : data.message)
        };
        userOptions.value.shareInfo.push(tempData);
        currentShareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(currentShareInfo.length / userOptions.value.selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await tdesignVueNext.MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareInfo = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        tdesignVueNext.MessagePlugin.success("复制成功");
      }).catch(() => {
        tdesignVueNext.MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    const downloadExcel = () => {
      exportXlsxFile(`${cloudInfoStore.cloudName}批量分享${Date.now()}.xlsx`, transformExcelInfoData$1(userOptions.value.shareInfo));
    };
    return {
      userOptions,
      handleBatchOperation,
      handleTransformFormat,
      handleEnd,
      copyValue,
      download,
      downloadExcel
    };
  };
  const _withScopeId$2 = (n) => (vue.pushScopeId("data-v-3ab6544a"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$2 = { class: "aliCloud" };
  const _hoisted_2$2 = { class: "aliCloud_option" };
  const _hoisted_3$2 = { class: "aliCloud_option_item" };
  const _hoisted_4$2 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "aliCloud_option_item_title" }, "延迟毫秒:", -1));
  const _hoisted_5$2 = { class: "aliCloud_option_item" };
  const _hoisted_6$2 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "aliCloud_option_item_title" }, "有效期:", -1));
  const _hoisted_7$1 = { class: "aliCloud_option_item" };
  const _hoisted_8$1 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "aliCloud_option_item_title" }, "分享形式:", -1));
  const _hoisted_9$1 = { class: "aliCloud_operation" };
  const _hoisted_10$1 = { class: "aliCloud_progress" };
  const _hoisted_11$1 = { class: "aliCloud_result" };
  const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download,
        downloadExcel
      } = useAliCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
          vue.createElementVNode("div", _hoisted_2$2, [
            vue.createElementVNode("div", _hoisted_3$2, [
              vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                default: vue.withCtx(() => [
                  _hoisted_4$2
                ]),
                _: 1
              }),
              vue.createVNode(_component_t_input_number, {
                modelValue: vue.unref(userOptions).shareDelay,
                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
                step: "100"
              }, null, 8, ["modelValue"])
            ]),
            vue.createElementVNode("div", _hoisted_5$2, [
              _hoisted_6$2,
              vue.createVNode(_component_t_radio_group, {
                modelValue: vue.unref(userOptions).expireTime,
                "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).expireTime = $event)
              }, {
                default: vue.withCtx(() => [
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$1).sevenDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("7天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$1).thirtyDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("30天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$1).forever
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("永久")
                    ]),
                    _: 1
                  }, 8, ["value"])
                ]),
                _: 1
              }, 8, ["modelValue"])
            ]),
            vue.createElementVNode("div", _hoisted_7$1, [
              _hoisted_8$1,
              vue.createVNode(_component_t_radio_group, {
                modelValue: vue.unref(userOptions).pwdType,
                "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).pwdType = $event)
              }, {
                default: vue.withCtx(() => [
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(PwdEnum).no
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("无提取码")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(PwdEnum).yes
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("随机提取码")
                    ]),
                    _: 1
                  }, 8, ["value"])
                ]),
                _: 1
              }, 8, ["modelValue"])
            ])
          ]),
          vue.createElementVNode("div", _hoisted_9$1, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(downloadExcel)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载信息为Excel")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_10$1, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_11$1, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "(仅限在'资源库'分享资源!)-分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx) 普通用户每天只能使用分享功能5次;会员用户和Lv.1及以上的达人用户,每天可使用分享次数1000次。超过上限后,将提示「今日分享次数已达上限」\r\n        "
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloudAli = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-3ab6544a"]]);
  var ExpireTimeEnum = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 3] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["thirty"] = 4] = "thirty";
    ExpireTimeEnum2[ExpireTimeEnum2["sixty"] = 5] = "sixty";
    ExpireTimeEnum2[ExpireTimeEnum2["halfYear"] = 7] = "halfYear";
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 1] = "forever";
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 2] = "oneDay";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum || {});
  var ExtractEnum = /* @__PURE__ */ ((ExtractEnum2) => {
    ExtractEnum2[ExtractEnum2["forever"] = -1] = "forever";
    ExtractEnum2[ExtractEnum2["one"] = 1] = "one";
    ExtractEnum2[ExtractEnum2["five"] = 5] = "five";
    ExtractEnum2[ExtractEnum2["ten"] = 10] = "ten";
    ExtractEnum2[ExtractEnum2["fifty"] = 50] = "fifty";
    ExtractEnum2[ExtractEnum2["hundred"] = 100] = "hundred";
    return ExtractEnum2;
  })(ExtractEnum || {});
  function getTaskId(data) {
    return new Promise((resolve2, reject2) => {
      _GM_xmlhttpRequest({
        method: "post",
        url: "https://pc-api.uc.cn/1/clouddrive/share?pr=UCBrowser&fr=pc",
        headers: {
          "accept": "application/json, text/plain, */*"
        },
        data: JSON.stringify(data),
        onload: ({ response }) => {
          var _a, _b, _c, _d;
          const { data: data2 = {} } = JSON.parse(response) || {};
          resolve2({
            task_id: (data2 == null ? void 0 : data2.task_id) ? data2 == null ? void 0 : data2.task_id : (_b = (_a = data2 == null ? void 0 : data2.task_resp) == null ? void 0 : _a.data) == null ? void 0 : _b.task_id,
            share_id: ((_d = (_c = data2 == null ? void 0 : data2.task_resp) == null ? void 0 : _c.data) == null ? void 0 : _d.share_id) ?? ""
          });
        },
        onerror: (res) => {
          reject2(res);
        }
      });
    });
  }
  function getShareId(taskId, time = 0) {
    return new Promise((resolve2, reject2) => {
      _GM_xmlhttpRequest({
        method: "get",
        url: `https://pc-api.uc.cn/1/clouddrive/task?pr=UCBrowser&fr=pc&task_id=${taskId}&retry_index=${time}`,
        headers: {
          "accept": "application/json, text/plain, */*"
        },
        onload: ({ response }) => {
          const { data = {} } = JSON.parse(response) || {};
          resolve2({
            share_id: (data == null ? void 0 : data.share_id) ?? ""
          });
        },
        onerror: (res) => {
          reject2(res);
        }
      });
    });
  }
  function getShareInfo(share_id) {
    return new Promise((resolve2, reject2) => {
      _GM_xmlhttpRequest({
        method: "post",
        url: "https://pc-api.uc.cn/1/clouddrive/share/password?pr=UCBrowser&fr=pc",
        data: JSON.stringify({
          share_id
        }),
        onload: ({ response }) => {
          const { data } = JSON.parse(response) || {};
          const { share_url = "", passcode = "" } = data || {};
          resolve2({
            share_url,
            passcode
          });
        },
        onerror: (res) => {
          reject2(res);
        }
      });
    });
  }
  const transformExcelInfoData = (data) => {
    return (data == null ? void 0 : data.map((item) => {
      let time;
      switch (item.expireTime) {
        case ExpireTimeEnum.forever:
          time = "永久";
          break;
        case ExpireTimeEnum.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum.thirty:
          time = "30天";
          break;
        case ExpireTimeEnum.sixty:
          time = "60天";
          break;
        case ExpireTimeEnum.halfYear:
          time = "180天";
          break;
        default:
          time = "未知";
      }
      let codeNumber;
      switch (item.extractNumber) {
        case ExtractEnum.forever:
          codeNumber = "无限";
          break;
        case null:
          codeNumber = "无限";
          break;
        case ExtractEnum.one:
          codeNumber = "1次";
          break;
        case ExtractEnum.five:
          codeNumber = "5次";
          break;
        case ExtractEnum.ten:
          codeNumber = "10次";
          break;
        case ExtractEnum.fifty:
          codeNumber = "50次";
          break;
        case ExtractEnum.hundred:
          codeNumber = "100次";
          break;
        default:
          codeNumber = "未知";
      }
      return {
        "文件名称": (item == null ? void 0 : item.fileName) ?? "",
        "分享链接": (item == null ? void 0 : item.share_url) ?? "",
        "提取码": (item == null ? void 0 : item.passcode) ?? "",
        "有效期": time,
        "可下载次数": codeNumber,
        "分享主题": (item == null ? void 0 : item.title) ?? ""
      };
    })) ?? [];
  };
  const useUcCloud = () => {
    const userOptions = vue.ref({
      //有效期
      expireTimeOptions: [
        { label: "不限", value: ExpireTimeEnum.forever },
        { label: "1天", value: ExpireTimeEnum.oneDay },
        { label: "7天", value: ExpireTimeEnum.sevenDay },
        { label: "30天", value: ExpireTimeEnum.thirty },
        { label: "60天", value: ExpireTimeEnum.sixty },
        { label: "180天", value: ExpireTimeEnum.halfYear }
      ],
      //可下载次数
      extractOptions: [
        { label: "不限", value: ExtractEnum.forever },
        { label: "1次", value: ExtractEnum.one },
        { label: "5次", value: ExtractEnum.five },
        { label: "10次", value: ExtractEnum.ten },
        { label: "50次", value: ExtractEnum.fifty },
        { label: "100次", value: ExtractEnum.hundred }
      ],
      shareDelay: 500,
      isPassword: true,
      shareTopic: "",
      expireTime: ExpireTimeEnum.forever,
      extractNumber: ExtractEnum.forever,
      shareInfo: [],
      shareInfoUserSee: "",
      shareProgress: 0,
      selectFileInfoList: [],
      isSharing: false
    });
    const handleTransformFormat = (info) => {
      let time;
      switch (info.expireTime) {
        case ExpireTimeEnum.forever:
          time = "永久";
          break;
        case ExpireTimeEnum.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum.thirty:
          time = "30天";
          break;
        case ExpireTimeEnum.sixty:
          time = "60天";
          break;
        case ExpireTimeEnum.halfYear:
          time = "180天";
          break;
        default:
          time = "未知";
      }
      let codeNumber;
      switch (info.extractNumber) {
        case ExtractEnum.forever:
          codeNumber = "无限";
          break;
        case null:
          codeNumber = "无限";
          break;
        case ExtractEnum.one:
          codeNumber = "1次";
          break;
        case ExtractEnum.five:
          codeNumber = "5次";
          break;
        case ExtractEnum.ten:
          codeNumber = "10次";
          break;
        case ExtractEnum.fifty:
          codeNumber = "50次";
          break;
        case ExtractEnum.hundred:
          codeNumber = "100次";
          break;
        default:
          codeNumber = "未知";
      }
      return info.title ? `文件名称: ${info.fileName} 分享链接:${info.share_url} 提取码:${info.passcode ?? "为空"} 有效期: ${time} 可下载次数:${codeNumber} 分享主题:${info.title ?? ""}` : `文件名称: ${info.fileName} 分享链接:${info.share_url} 提取码:${info.passcode ?? "为空"} 有效期: ${time} 可下载次数:${codeNumber}`;
    };
    const handleBatchOperation = async () => {
      var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
      const tempDOM = document.querySelector(".file-list");
      if (!tempDOM) {
        throw new Error("初始化UC云盘失败,DOM未找到");
      }
      const key = (_a = Object.keys(tempDOM)) == null ? void 0 : _a.find(
        (key2) => key2.startsWith("__reactInternalInstance$")
      );
      if (!key) {
        console.error("初始化UC云盘失败,key未找到");
        throw new Error("初始化UC云盘失败,key未找到");
      }
      const selectedRowKeys = ((_f = (_e = (_d = (_c = (_b = tempDOM[key]) == null ? void 0 : _b.memoizedProps) == null ? void 0 : _c.children) == null ? void 0 : _d[1]) == null ? void 0 : _e.props) == null ? void 0 : _f.selectedRowKeys) ?? [];
      const allRowInfos = ((_k = (_j = (_i = (_h = (_g = tempDOM[key]) == null ? void 0 : _g.memoizedProps) == null ? void 0 : _h.children) == null ? void 0 : _i[1]) == null ? void 0 : _j.props) == null ? void 0 : _k.list) ?? [];
      if (!selectedRowKeys.length) {
        return tdesignVueNext.MessagePlugin.warning("请选择要分享的文件!");
      }
      const selectRowInfos = ((_l = allRowInfos == null ? void 0 : allRowInfos.filter((item1) => selectedRowKeys == null ? void 0 : selectedRowKeys.some((key2) => key2 === item1.fid))) == null ? void 0 : _l.map((item) => ({ name: item.file_name, id: item.fid }))) ?? [];
      userOptions.value.isSharing = true;
      const currentShareInfo = [];
      for (let item of selectRowInfos) {
        userOptions.value.selectFileInfoList.push({
          id: item == null ? void 0 : item.id,
          fileName: (item == null ? void 0 : item.name) ?? "",
          expireTime: userOptions.value.expireTime,
          //UC网盘提取次数为null代表不限制,但是枚举又不能传入null...
          extractNumber: userOptions.value.extractNumber === -1 ? null : userOptions.value.extractNumber,
          passcode: userOptions.value.isPassword ? generateRandomString() : "",
          title: userOptions.value.shareTopic ?? ""
          //分享主题
        });
      }
      for (let fileInfo of userOptions.value.selectFileInfoList) {
        const sendData = {
          expired_type: fileInfo.expireTime,
          //分享天数
          dl_limit: fileInfo.extractNumber,
          //提取次数
          passcode: fileInfo.passcode,
          //随机提取码
          url_type: 2,
          title: fileInfo.title,
          //标题
          fid_list: [fileInfo.id]
          //文件id
        };
        const { task_id } = await getTaskId(sendData);
        let tempShareID = await getShareId(task_id);
        if (!tempShareID.share_id) {
          tempShareID = await getShareId(task_id, 1);
        }
        const { share_url, passcode } = await getShareInfo(tempShareID.share_id).catch(() => ({ share_url: "", passcode: "" }));
        let tempData = {
          ...fileInfo,
          share_url: share_url ?? ""
        };
        userOptions.value.shareInfo.push(tempData);
        currentShareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(currentShareInfo.length / userOptions.value.selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.selectFileInfoList = [];
      userOptions.value.isSharing = false;
      await tdesignVueNext.MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareInfo = [];
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        tdesignVueNext.MessagePlugin.success("复制成功");
      }).catch(() => {
        tdesignVueNext.MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    const downloadExcel = () => {
      exportXlsxFile(`${cloudInfoStore.cloudName}批量分享${Date.now()}.xlsx`, transformExcelInfoData(userOptions.value.shareInfo));
    };
    return {
      userOptions,
      handleBatchOperation,
      handleTransformFormat,
      handleEnd,
      copyValue,
      download,
      downloadExcel
    };
  };
  const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-95aac119"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$1 = { class: "ucCloud" };
  const _hoisted_2$1 = { class: "ucCloud_option" };
  const _hoisted_3$1 = { class: "ucCloud_option_item" };
  const _hoisted_4$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "ucCloud_option_item_title" }, "延迟毫秒:", -1));
  const _hoisted_5$1 = { class: "ucCloud_option_item" };
  const _hoisted_6$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "ucCloud_option_item_title" }, "分享主题:", -1));
  const _hoisted_7 = { class: "ucCloud_option_item" };
  const _hoisted_8 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "ucCloud_option_item_title" }, "可下载(次):", -1));
  const _hoisted_9 = { class: "ucCloud_option_item" };
  const _hoisted_10 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "ucCloud_option_item_title" }, "有效期(天):", -1));
  const _hoisted_11 = { class: "ucCloud_operation" };
  const _hoisted_12 = { class: "ucCloud_progress" };
  const _hoisted_13 = { class: "ucCloud_result" };
  const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download,
        downloadExcel
      } = useUcCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_input = vue.resolveComponent("t-input");
        const _component_t_select = vue.resolveComponent("t-select");
        const _component_t_checkbox = vue.resolveComponent("t-checkbox");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
          vue.createElementVNode("div", _hoisted_2$1, [
            vue.createElementVNode("div", _hoisted_3$1, [
              vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                default: vue.withCtx(() => [
                  _hoisted_4$1
                ]),
                _: 1
              }),
              vue.createVNode(_component_t_input_number, {
                modelValue: vue.unref(userOptions).shareDelay,
                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
                step: "100"
              }, null, 8, ["modelValue"])
            ]),
            vue.createElementVNode("div", _hoisted_5$1, [
              _hoisted_6$1,
              vue.createVNode(_component_t_input, {
                modelValue: vue.unref(userOptions).shareTopic,
                "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).shareTopic = $event),
                maxlength: 30,
                "show-limit-number": "",
                clearable: "",
                placeholder: "分享主题(可为空)"
              }, null, 8, ["modelValue"])
            ]),
            vue.createElementVNode("div", _hoisted_7, [
              _hoisted_8,
              vue.createVNode(_component_t_select, {
                modelValue: vue.unref(userOptions).extractNumber,
                "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).extractNumber = $event),
                placeholder: "请选择提取次数",
                "auto-width": "",
                options: vue.unref(userOptions).extractOptions
              }, null, 8, ["modelValue", "options"])
            ]),
            vue.createElementVNode("div", _hoisted_9, [
              _hoisted_10,
              vue.createVNode(_component_t_select, {
                modelValue: vue.unref(userOptions).expireTime,
                "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(userOptions).expireTime = $event),
                placeholder: "请选择提取期限",
                "auto-width": "",
                options: vue.unref(userOptions).expireTimeOptions
              }, null, 8, ["modelValue", "options"])
            ]),
            vue.createVNode(_component_t_checkbox, {
              modelValue: vue.unref(userOptions).isPassword,
              "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(userOptions).isPassword = $event)
            }, {
              default: vue.withCtx(() => [
                vue.createTextVNode("是否有收件密码")
              ]),
              _: 1
            }, 8, ["modelValue"])
          ]),
          vue.createElementVNode("div", _hoisted_11, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(downloadExcel)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载信息为Excel")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_12, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_13, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloudUC = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-95aac119"]]);
  var CopyValueEnum = /* @__PURE__ */ ((CopyValueEnum2) => {
    CopyValueEnum2[CopyValueEnum2["shareLink"] = 0] = "shareLink";
    CopyValueEnum2[CopyValueEnum2["extraLink"] = 1] = "extraLink";
    return CopyValueEnum2;
  })(CopyValueEnum || {});
  const getSelectInfoList = () => {
    var _a;
    const reactDOM = document.querySelector("#appRoot > div > div:nth-of-type(2)");
    const key = (_a = Object.keys(reactDOM)) == null ? void 0 : _a.find(
      (key2) => key2.startsWith("__reactFiber$")
    );
    return reactDOM[key].firstEffect.pendingProps.selection._selectedItems ?? [];
  };
  const useOnedriveCloud = () => {
    const userOptions = vue.ref({
      shareDelay: 500,
      shareProgress: 0,
      shareResultInfoList: [],
      shareInfoUserSee: "",
      isSharing: false
    });
    const handleBatchOperation = async () => {
      const selectedRows = getSelectInfoList();
      console.log("选择的文件", selectedRows);
      if (!selectedRows.length) {
        return tdesignVueNext.MessagePlugin.warning("请选择要分享的文件!");
      }
      userOptions.value.isSharing = true;
      for (let fileInfo of selectedRows) {
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await tdesignVueNext.MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareResultInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = (type = CopyValueEnum.shareLink) => {
      if (type === CopyValueEnum.shareLink) {
        CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
          tdesignVueNext.MessagePlugin.success("复制成功");
        }).catch(() => {
          tdesignVueNext.MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
        });
      }
    };
    const download = (type = CopyValueEnum.shareLink) => {
      if (type === CopyValueEnum.shareLink) {
        DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
      }
    };
    const downloadExcel = (type = CopyValueEnum.shareLink) => {
      if (type === CopyValueEnum.shareLink)
        ;
    };
    return {
      userOptions,
      handleBatchOperation,
      handleEnd,
      copyValue,
      download,
      downloadExcel
    };
  };
  const _withScopeId = (n) => (vue.pushScopeId("data-v-3551589d"), n = n(), vue.popScopeId(), n);
  const _hoisted_1 = { class: "cloud123" };
  const _hoisted_2 = { class: "cloud123_progress" };
  const _hoisted_3 = { class: "cloud123_option" };
  const _hoisted_4 = { class: "cloud123_option_item" };
  const _hoisted_5 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "延迟(毫秒):", -1));
  const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "cloud123_option_item" }, [
    /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "有效期:")
  ], -1));
  const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download,
        downloadExcel
      } = useOnedriveCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        const _component_t_collapse_panel = vue.resolveComponent("t-collapse-panel");
        const _component_t_collapse = vue.resolveComponent("t-collapse");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
          vue.createElementVNode("div", _hoisted_2, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_3, [
            vue.createVNode(_component_t_collapse, { "default-expand-all": "" }, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_collapse_panel, {
                  value: vue.unref(CopyValueEnum).shareLink,
                  header: "分享配置"
                }, {
                  default: vue.withCtx(() => [
                    vue.createElementVNode("div", null, [
                      vue.createVNode(_component_t_space, null, {
                        default: vue.withCtx(() => [
                          vue.createVNode(_component_t_button, {
                            onClick: vue.unref(handleBatchOperation),
                            loading: vue.unref(userOptions).isSharing
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("批量分享")
                            ]),
                            _: 1
                          }, 8, ["onClick", "loading"]),
                          vue.createVNode(_component_t_button, {
                            theme: "default",
                            onClick: vue.unref(copyValue)
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("复制到剪贴板")
                            ]),
                            _: 1
                          }, 8, ["onClick"]),
                          vue.createVNode(_component_t_button, {
                            theme: "default",
                            onClick: vue.unref(download)
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("下载分享链接")
                            ]),
                            _: 1
                          }, 8, ["onClick"]),
                          vue.createVNode(_component_t_button, {
                            theme: "default",
                            onClick: vue.unref(downloadExcel)
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("下载信息为Excel")
                            ]),
                            _: 1
                          }, 8, ["onClick"])
                        ]),
                        _: 1
                      })
                    ]),
                    vue.createElementVNode("div", _hoisted_4, [
                      vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                        default: vue.withCtx(() => [
                          _hoisted_5
                        ]),
                        _: 1
                      }),
                      vue.createVNode(_component_t_input_number, {
                        modelValue: vue.unref(userOptions).shareDelay,
                        "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
                        step: "100"
                      }, null, 8, ["modelValue"])
                    ]),
                    _hoisted_6,
                    vue.createElementVNode("div", null, [
                      vue.createVNode(_component_t_textarea, {
                        readonly: "",
                        autosize: { minRows: 10 },
                        value: vue.unref(userOptions).shareInfoUserSee,
                        placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
                      }, null, 8, ["value"])
                    ])
                  ]),
                  _: 1
                }, 8, ["value"])
              ]),
              _: 1
            })
          ])
        ]);
      };
    }
  });
  const cloudOnedrive = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-3551589d"]]);
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
    __name: "App",
    setup(__props) {
      const visible = vue.ref(false);
      const operationRef = vue.ref();
      const cloudComponent = vue.shallowRef({
        cloudTianyi,
        cloudBaidu,
        cloud115,
        cloud123,
        cloudLanZou,
        cloudQuark,
        cloud139,
        cloudXun,
        cloudAli,
        cloudUC,
        cloudOnedrive
      });
      const handleOpenDrawerClick = () => {
        visible.value = true;
      };
      const handleClose = () => {
        visible.value = false;
        operationRef.value.handleEnd();
      };
      return (_ctx, _cache) => {
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_drawer = vue.resolveComponent("t-drawer");
        return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
          vue.unref(cloudInfoStore).currentCloud === vue.unref(CloudInfoEnum).cloudAli ? (vue.openBlock(), vue.createElementBlock("div", {
            key: 0,
            onClick: handleOpenDrawerClick,
            style: { "display": "flex", "flex-direction": "column", "align-items": "center" }
          }, [
            vue.createVNode(vue.unref(CalendarIcon), { slot: "icon" }),
            vue.createElementVNode("span", { onClick: handleOpenDrawerClick }, "分享")
          ])) : (vue.openBlock(), vue.createBlock(_component_t_button, {
            key: 1,
            onClick: handleOpenDrawerClick
          }, {
            default: vue.withCtx(() => [
              vue.createTextVNode("批量分享操作")
            ]),
            _: 1
          })),
          vue.createVNode(_component_t_drawer, {
            visible: visible.value,
            "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => visible.value = $event),
            header: vue.unref(cloudInfoStore).cloudName,
            size: "600px",
            "on-confirm": handleClose,
            onClose: handleClose,
            placement: "right",
            closeOnOverlayClick: false
          }, {
            default: vue.withCtx(() => [
              (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(cloudComponent.value[vue.unref(cloudInfoStore).cloudKey]), {
                ref_key: "operationRef",
                ref: operationRef
              }, null, 512))
            ]),
            _: 1
          }, 8, ["visible", "header"])
        ], 64);
      };
    }
  });
  const TDesign = (app) => {
    app.use(tdesignVueNext.Button).use(tdesignVueNext.Drawer).use(tdesignVueNext.Radio).use(tdesignVueNext.Space).use(tdesignVueNext.RadioGroup).use(tdesignVueNext.RadioButton).use(tdesignVueNext.Textarea).use(tdesignVueNext.InputNumber).use(tdesignVueNext.Progress).use(tdesignVueNext.Checkbox).use(tdesignVueNext.Tooltip).use(tdesignVueNext.Collapse).use(tdesignVueNext.CollapsePanel).use(tdesignVueNext.Input).use(tdesignVueNext.Table).use(tdesignVueNext.Select).use(tdesignVueNext.Option);
  };
  const Mount = () => {
    const app = document.createElement("div");
    switch (cloudInfoStore.currentCloud) {
      case CloudInfoEnum.cloudBaidu:
        {
          observeDOMChanges("body", () => {
            const tempDOM = document.querySelector("div.wp-s-header__right");
            tempDOM == null ? void 0 : tempDOM.insertBefore(app, tempDOM == null ? void 0 : tempDOM.firstChild);
          });
        }
        break;
      case CloudInfoEnum.cloud115:
        {
          setTimeout(() => {
            var _a;
            const temp = document.createElement("li");
            app.style.cssText = `
                    margin-top: 12px;
                    margin-left: 10px;
                `;
            temp.append(app);
            (_a = document.querySelector("div.navigation-ceiling ul")) == null ? void 0 : _a.append(temp);
          }, 1e3);
        }
        break;
      case CloudInfoEnum.cloud123:
        {
          observeDOMChanges("body", () => {
            var _a;
            app.style.textAlign = "center";
            (_a = document.querySelector(".ant-menu-light")) == null ? void 0 : _a.append(app);
          });
        }
        break;
      case CloudInfoEnum.cloudLanZou:
        {
          setTimeout(() => {
            var _a;
            app.style.cssText = `
            margin-top: -2px;
        `;
            (_a = document.querySelector(".toum")) == null ? void 0 : _a.append(app);
          }, 2e3);
        }
        break;
      case CloudInfoEnum.cloudTianyi:
        {
          observeDOMChanges("body", () => {
            var _a;
            (_a = document.querySelector("ul.nav-menu")) == null ? void 0 : _a.append(app);
          });
        }
        break;
      case CloudInfoEnum.cloudQuark:
        {
          observeDOMChanges("body", () => {
            setTimeout(() => {
              var _a;
              const tempDOM = document.querySelector(".file-search-box");
              app.style.cssText = `
                margin-right:200px;
            `;
              (_a = tempDOM == null ? void 0 : tempDOM.parentNode) == null ? void 0 : _a.insertBefore(app, tempDOM);
            }, 1e3);
          });
        }
        break;
      case CloudInfoEnum.cloud139:
        {
          observeDOMChanges(".document_main_warp", () => {
            var _a;
            const tempDOM = document.querySelector(".document_top_upload_button");
            app.style.cssText = `
                display:inline-block;
                margin-top:20px;
            `;
            (_a = tempDOM == null ? void 0 : tempDOM.parentNode) == null ? void 0 : _a.append(app, tempDOM);
          });
        }
        break;
      case CloudInfoEnum.cloudXun:
        {
          setTimeout(() => {
            const tempDOM = document.querySelector(".pan-wrapper-asider");
            app.style.cssText = `
                    text-align:center;
                 `;
            tempDOM == null ? void 0 : tempDOM.append(app);
          }, 1e3);
        }
        break;
      case CloudInfoEnum.cloudAli:
        {
          observeDOMChanges("body", () => {
            var _a;
            const tempDOM = document.querySelector("div[class^='nav-tab-item--']");
            const iterator = tempDOM == null ? void 0 : tempDOM.classList;
            let name;
            for (const value of iterator) {
              if (value.startsWith("nav-tab-item"))
                name = value;
            }
            if (name) {
              app.classList.add(name);
              (_a = document.querySelector("div[class^='nav-tab-content--']")) == null ? void 0 : _a.append(app);
            } else {
              document.body.append(app);
            }
          });
        }
        break;
      case CloudInfoEnum.cloudUC:
        {
          observeDOMChanges("body", () => {
            var _a;
            const tempDOM = document.querySelector(".file-search-box");
            app.style.cssText = `
                margin-right:16px;
                margin-bottom:4px;
               `;
            (_a = tempDOM == null ? void 0 : tempDOM.parentNode) == null ? void 0 : _a.insertBefore(app, tempDOM);
          });
        }
        break;
      case CloudInfoEnum.cloudOnedrive:
        break;
    }
    return app;
  };
  const bootstrap = () => {
    const app = vue.createApp(_sfc_main);
    app.use(Pinia);
    app.use(TDesign);
    app.mount(Mount());
  };
  void bootstrap();

})(Vue, Pinia, XLSX, TDesign, axios);