网盘文件批量重命名

网盘文件批量重命名,支持百度网盘

目前为 2024-02-27 提交的版本。查看 最新版本

// ==UserScript==
// @name         网盘文件批量重命名
// @namespace    cloud-disk-plugin
// @version      0.0.1-beta
// @author       realafei
// @description  网盘文件批量重命名,支持百度网盘
// @license      MIT
// @icon         data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAACUpJREFUeJzlm3lzU2UUxnEZxhH1f78AX6AK7oIi4gAuuO+iMygqyqKOS10HUUSxilKoIDsFtYCgoixSWWQVrFWg+5KUdN/bdD+e35sbTdPc9jZNm3RyZs6khOTe9znvOc9Z3psRIwZZEt7Pulx1mupc1UWqG1T3qZ5Vrbf0rPXeBuszc63vXD7Y64u46KLPVx2rOl81Q1UGqBnWtbjm+dHGZyu6uEtVX1ItiABoOy2w7nFptPH+J7qYi1VfVq0YRODBWmHd8+JoAj9P9WFV1xACD1aXtYbzhhr8aNX0KAIPVtYyeqjAz1RtjgHQwcqaZg4m8ItU18UA0L6UNV4UafCjVPfGADinylpHRQr8hao7YwBUf5U1XxgJAyTHAJhwNXmg4GfGAIiBanjEqF8co9oaAwAGqmAY01/wl6nmxcDiI6Vguaw/Blg51Iu8ckGW3JmcL69tPSdLfq2QjceqZeff9fLDX3Xy9aEqmf9jqczc4JLbv8yXqxdmh3OPlU7BT1DtGirgYz7IkqfWFsu6I9VyvLBJCqtapaKhXRpaOqWto0ta27uktrlDSmraJLusRU4WN8u2P2tl1ia3XL8opz/3AtOEvsCPVM0aKvATk3LNbv/papY6b4d0dolUNXbIX26v7D3TIJtP1Mg3qvz9d4nXGKZDP9Tc1ik55S2y/mi13JdSoEZ07BFgG9mbAeYMFfgHviqUradqpazeByqvolVW/14lsze75ZGvi+TuZQUy+Yt8o/z9qL43Y71LFu0qMwZrUc+oU884nN9kQuMa52Exxw78JQlD1NI+tqpI9uiu4uZNrZ2SdrJWntvokkmf5cmtqk8r0Hd/KJWl6RWyZF+FvLHtnPnOTYtzZbwqBlpxsEo8de3SqmGCQWasK5arPnRkBDBeEsoA8yIF8NqPcmSqktX0NcXyfKrbLH7ykjxDXnfo+7/8U2+A4+6AvCu5QG77PM8Q3b6sBskqbRG3xnxlY7tx+yLlhX/OeeX3vEb5XEMGIuTzb37vkbzyVsMVB3Mb5f6UQrligaM1zgsGf4Fq0UCB46qLd5fL3rMNhqxOe7ySo8TF4v8oapZf9f392Y2G1NCkveVm1wmHLRoOLgUNGDvp0v8qV4NwjWfU7Sd8mms8BWN5lRfWHq4213OwVrBeEGiAKQMBfoOy8Yc/l5l4JKbbO30giFPcvMP6N68A5JXF4hWPrCySXafrzefsoXcXrgFRYoSJSXmySrmjpqlDyvXec78tcZompwQaIDVc8OM/yZWU/ZVSXNVmgJdqXH6vaQp3flEJ7VmNbXI7ufxYQZPUezslUxl9+uoimaIE92NmnTRqOPRXMCJuf+/yAhNCR/XaGIbagRBxsPbUwNRXH16sZ8uy3yrFU+tz3d26k/N0B1jAdcoDGIdY5RXXfHBFoTHGLOWFcZ/kyKd7ys2uhSu4/dL0SuMFeCDGr9HQgnfG9p0awTwSA4wLd/ff3u6RgspWs/PbM+oM2QEMFielHchplBMa+7x+daBSntBdxxi4KIY5oiHjD49wJV/TJ/edqt6UodmAyyXrptys/OAAwzgMkBgOeNz3kLIyOw87T19dbFJYigKlaCFH+7HxWq0xiuu/s8NjjESswu4DFYz//k+l5prUFWQXSPjOpY7CIBEDpPUXPNZdrO4L4QH01S3nzAKwPLnZblNhcUC/klYiq5QTSIORkE3Ha4xHUVWSOsk6ZBYHWNIwQKYT0JSbVGPLlfBwaWrzdt19/ib94fZnPC224APlkJIXhNjY0n/yCyXUFXfoji/YWWp4gLB4eKUjA2RigBon7o5rU3Gxa8QtCoF9vKvcVGjsvtMdxU3xHhqdSMhPmkkg3kW/lJnr0jQ9tMKRAWowQK+dH2UnN/ADz9XK69s/auQtJUB2fZK6Ht5B2+ptcw6I2O2KDH5JPeYLATYJrjmlRdh9KY4M0DWitw/cr3G054yvbCXWUzXWaDzwiBs/zpFpyb4mhVwMEbb3UsUNplB9wkH0FKzVVd0mL39XYkryvoxga4AbFCA7TYUGsZCzqe9hekiPtEe5C+FkuJtNaRupHe2PsOM0UuR9higUWmQm+okFmh0Iz7AMQKNBdUecLlPiw9UZXFC5FWrupwiJzn53F0JvqlX5QcYLtSCCjDECPcJHygu9GSGkAfhCunZltJr7leVJKQweaGYYRsSSAJadf0+bIkLxlqRc0xqzbjaJcKAkt+sPQpLg7G/cZjTFBRK3eUy807zg5rEm7DT8xG5TdVJqU21SHUKG8JI/TdqRYI80SOMCWDoudp+LEesDrFoHXVgfNUCihi9G8PcHjNueXFNsmwZ7FEIwP5aFVWlZ/fl1uAgECF8xTsMrMAzjNLtCqEcpTGsJo9PAEFNMbLHicJGOTt/aJ2rGokwmk9kYIC1kM8R4GoH9mbps1EKD9DKchCELcU/PwhTJxgCJIdthGJSqD3Yl/X2xjyZj+HgAstsywAc7fTxgY4BxIQcizONxG/r1e5b7Gh3G1sNJ/OUxQ9TK0B7gG4iEGolR59PtEfdzNCXerHUBvXY4o6toCLNIRumcHPl6lJAckGo7FMVy8ABh4J+xUfNT+rbHei4UX/z7+5TTmr67QmeBbkPRbmNxDioXWqkPL6DlJRvQCDGI9MZYNRgobBxgqWY3H/eRN6U70+cA8N3H4qEORkghtMF0V0xx3t7hMRmBwihJmRUrk2+5ASVzWxSVucRv2Q0m3h/Xoo3KlSLIbZ0zcPgSNCPsfjBidzSGC1FIABArUiHScOAN0/SVm+EVTGFnRVFnrHOZPoBdp1X/UgH7h7X0L7T1V/5/YhT6aCzU4SgtJocPFEYQC60nLrZeC6P52mqSHUg1pMqoqXoqmYpxPFMpRnS+U2QxBzU0RkGNUOjD0YAzgm7H4xw44gk0Q+RTrAovkCUIARoOvOSEGiZayjicHoCpFc0P66OMp/4POjXu/XjcMkKPByQ4cCQzcHTNvP+oWpbCKJYSAuO4Mx6vAf66doRkrrHdT4v7fkAiwAghH5Hhgv7DTNz/hU1u02vHgvpPoTkgYdev6Ll+Z4/IWAaI74ekLCPE72NyAUaI3wclA4wQv4/KWgaI74elLSPE7+PyAUaI3x9MBBkiPn8yE2SE+P3RVIAR4vdnc0GGiM8fTgZLQrz+dDZYEuL1x9N2khDjP5//F09WbW9U5XehAAAAAElFTkSuQmCC
// @match        https://pan.baidu.com/disk/main*
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.global.prod.js
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/system.min.js
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/extras/named-register.min.js
// @require      data:application/javascript,%3B(typeof%20System!%3D'undefined')%26%26(System%3Dnew%20System.constructor())%3B
// @grant        none
// ==/UserScript==

(a=>{if(typeof GM_addStyle=="function"){GM_addStyle(a);return}const r=document.createElement("style");r.textContent=a,document.head.append(r)})(' .fade-enter-from,.fade-leave-to{opacity:0}.fade-enter-to,.fade-leave-from{opacity:1}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-default)}.fade-bottom-enter-from,.fade-bottom-leave-to{opacity:0;transform:translateY(10%)}.fade-bottom-enter-to,.fade-bottom-leave-from{opacity:1;transform:none}.fade-bottom-enter-active,.fade-bottom-leave-active{transition:opacity .3s,transform .3s ease}:root{--color-white: #ffffff;--color-black: #000000;--color-primary: var(--color-primary-500);--color-primary-50: #eff8ff;--color-primary-100: #def1ff;--color-primary-200: #b6e4ff;--color-primary-300: #75d0ff;--color-primary-400: #2cb9ff;--color-primary-500: #06a7ff;--color-primary-600: #007fd4;--color-primary-700: #0065ab;--color-primary-800: #00558d;--color-primary-900: #064774;--color-primary-950: #042d4d;--color-gray: var(--color-gray-500);--color-gray-50: #f6f7f9;--color-gray-100: #edeef1;--color-gray-200: #d7dae0;--color-gray-300: #b4bbc5;--color-gray-400: #8b95a5;--color-gray-500: #636d7e;--color-gray-600: #576072;--color-gray-700: #474e5d;--color-gray-800: #3d434f;--color-gray-900: #363b44;--color-gray-950: #24262d;--color-red: var(--color-red-500);--color-red-50: #fef2f2;--color-red-100: #fee2e2;--color-red-200: #fecaca;--color-red-300: #fca5a5;--color-red-400: #f87171;--color-red-500: #ef4444;--color-red-600: #dc2626;--color-red-700: #b91c1c;--color-red-800: #991b1b;--color-red-900: #7f1d1d;--color-red-950: #450a0a;--gutter: 10px;--shadow: 0 3px 10px 0 rgba(0, 0, 0, .2);--shadow-md: 0 5px 16px 0 rgba(0, 0, 0, .3);--transition-all: all var(--transition-default);--transition-default: var(--transition-duration) var(--transition-timing-function);--transition-duration: .3s;--transition-timing-function: ease-in-out}.material-input[data-v-10b0d85a]{color:var(--color-gray);display:block;position:relative;font-size:14px;box-sizing:border-box;margin-top:.5rem;padding-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid var(--color-gray);background-color:transparent}.material-input.is-focus[data-v-10b0d85a]{border-bottom-color:var(--color-primary)}.material-input_input[data-v-10b0d85a],.material-input_textarea[data-v-10b0d85a]{color:var(--color-gray-700);width:100%;min-height:1.25rem;transition:border-bottom-color var(--transition-default);box-sizing:border-box;line-height:1.25rem;padding-top:.25rem;border-bottom:1px solid transparent;padding-bottom:.25rem;background-color:inherit}.material-input.is-focus .material-input_input[data-v-10b0d85a],.material-input.is-focus .material-input_textarea[data-v-10b0d85a]{border-bottom-color:var(--color-primary)}.material-input_label[data-v-10b0d85a]{top:calc(100% - 1.375rem);left:.5rem;color:inherit;position:absolute;transition:top var(--transition-default),left var(--transition-default),color var(--transition-default),font-size var(--transition-default);line-height:1;background-color:transparent}.material-input.is-focus .material-input_label[data-v-10b0d85a]{color:var(--color-primary-600)}.material-input.is-active .material-input_label[data-v-10b0d85a]{top:0;left:0;font-size:.75rem}.material-radio[data-v-89299f62]{cursor:pointer}.material-radio.radio[data-v-89299f62]{display:inline-flex;min-width:1em;min-height:1em;white-space:nowrap;align-items:center}.material-checkbox+.material-radio[data-v-89299f62],.material-radio.radio+.material-radio.radio[data-v-89299f62]{margin-left:.5em}.material-radio.radio .material-radio-input[data-v-89299f62]{width:1em;height:1em;display:inline-block;position:relative}.material-radio.radio .material-radio-input[data-v-89299f62]:before{width:100%;height:100%;border:2px solid var(--color-primary);content:"";display:block;box-sizing:border-box;transition:var(--transition-all);border-radius:50%;background-color:transparent}.material-radio.radio .material-radio-input[data-v-89299f62]:after{top:50%;left:50%;width:0;height:0;content:"";display:block;position:absolute;transform:translate(-50%,-50%);box-sizing:border-box;transition:var(--transition-all);border-radius:50%;background-color:var(--color-primary)}.material-radio.radio.is-checked .material-radio-input[data-v-89299f62]:after{width:50%;height:50%}.material-radio.radio .material-radio-input-original[data-v-89299f62]{top:0;left:0;width:0;height:0;margin:0;z-index:-1;outline:none;opacity:0;position:absolute}.material-radio.radio .material-radio-label[data-v-89299f62]{margin-left:.5em}.material-radio.button[data-v-89299f62]{color:var(--color-gray-900);height:auto;border:1px solid var(--color-gray-300);padding:8px 15px;transition:var(--transition-all);line-height:1;border-radius:var(--gutter);background-color:var(--color-white)}.material-radio.button[data-v-89299f62]:has(+.material-radio.button){border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.material-radio.button+.material-radio.button[data-v-89299f62]{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.material-radio.button.is-checked[data-v-89299f62]{color:var(--color-gray-50);border-color:var(--color-primary);background-color:var(--color-primary)}.material-radio.button .material-radio-input-original[data-v-89299f62]{top:0;left:0;width:0;height:0;margin:0;z-index:-1;outline:none;opacity:0;position:absolute}*:has(>.material-loading){position:relative}.material-loading[data-v-9bee3f9f]{top:0;left:0;right:0;bottom:0;margin:0;z-index:2000;display:flex;position:absolute;transition:opacity var(--el-transition-default);align-items:center;justify-content:center;background-color:#ffffffe6}.material-loading-spinner[data-v-9bee3f9f]{width:2em;height:2em;animation:spin-9bee3f9f 1s linear infinite}.material-loading-spinner-path[data-v-9bee3f9f]{stroke:var(--color-primary);animation:loading-dash-9bee3f9f 1.5s ease-in-out infinite;stroke-width:.2em;stroke-linecap:round;stroke-dasharray:90,150;stroke-dashoffset:0}@keyframes spin-9bee3f9f{to{transform:rotate(1turn)}}@keyframes loading-dash-9bee3f9f{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.material-checkbox[data-v-fb8b54b7]{cursor:pointer;display:inline-flex;min-width:1em;min-height:1em;white-space:nowrap;align-items:center}.material-radio+.material-checkbox[data-v-fb8b54b7],.material-checkbox+.material-checkbox[data-v-fb8b54b7]{margin-left:.5em}.material-checkbox-input[data-v-fb8b54b7]{width:1em;height:1em;display:inline-block;position:relative}.material-checkbox-input[data-v-fb8b54b7]:before{width:100%;height:100%;content:"";display:block;box-sizing:border-box;transition:var(--transition-all);border-top:2px solid var(--color-primary);border-left:2px solid var(--color-primary);border-right:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);border-radius:2px;background-color:transparent}.material-checkbox .material-checkbox-input[data-v-fb8b54b7]:after{top:50%;left:50%;width:0;height:0;content:"";display:block;position:absolute}.material-checkbox:not(.is-indeterminate) .material-checkbox-input[data-v-fb8b54b7]:after{top:0;left:30%;width:40%;height:80%;content:"";display:block;position:absolute;transform:rotate(40deg);box-sizing:border-box;transition:var(--transition-all);border-right:2px solid transparent;border-bottom:2px solid transparent}.material-checkbox.is-checked .material-checkbox-input[data-v-fb8b54b7]:before{background-color:var(--color-primary)}.material-checkbox.is-checked:not(.is-indeterminate) .material-checkbox-input[data-v-fb8b54b7]:after{border-right-color:#fff;border-bottom-color:#fff}.material-checkbox.is-indeterminate .material-checkbox-input[data-v-fb8b54b7]:before{background-color:var(--color-primary)}.material-checkbox.is-indeterminate .material-checkbox-input[data-v-fb8b54b7]:after{top:50%;left:50%;width:60%;height:2px;content:"";display:block;position:absolute;transform:translate(-50%,-50%);box-sizing:border-box;transition:var(--transition-all);background-color:var(--color-white)}.material-checkbox-input-original[data-v-fb8b54b7]{top:0;left:0;width:0;height:0;margin:0;z-index:-1;outline:none;opacity:0;position:absolute}.material-checkbox-label[data-v-fb8b54b7]{margin-left:.5em}.main-panel[data-v-65bcf42e]{top:0;left:0;right:0;z-index:10000;display:flex;position:fixed;align-items:end;justify-content:center}.main-panel[data-v-65bcf42e]:has(div){height:100vh}.main-panel-mask[data-v-65bcf42e]{width:100vw;height:100vh;position:absolute;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.main-panel-content[data-v-65bcf42e]{z-index:1;display:grid;padding:var(--gutter);grid-gap:var(--gutter);overflow:hidden;max-width:100vw;min-width:768px;min-height:60vh;max-height:90vh;box-sizing:border-box;box-shadow:var(--shadow);background-color:var(--color-white);grid-template-rows:auto 1fr;border-top-left-radius:var(--gutter);border-top-right-radius:var(--gutter)}.main-panel-content-header[data-v-65bcf42e]{padding:var(--gutter);border-radius:var(--gutter);background-color:var(--color-gray-100)}.main-panel-content-header-form[data-v-65bcf42e]{display:grid;grid-gap:var(--gutter);grid-template-columns:1fr 1fr}.main-panel-content-header-ctrl[data-v-65bcf42e]{display:grid;grid-gap:var(--gutter);margin-top:var(--gutter);grid-template-columns:1fr auto auto}.main-panel-content-header-ctrl-option[data-v-65bcf42e]{display:flex;align-items:center}.main-panel-content-header-ctrl-confirm-button[data-v-65bcf42e]{color:var(--color-primary-700);height:auto;padding:8px 15px;transition:var(--transition-all);line-height:1;border-color:transparent;border-radius:var(--gutter);background-color:transparent}.main-panel-content-header-ctrl-confirm-button[data-v-65bcf42e]:hover{color:var(--color-primary-50);background-color:var(--color-primary-700)}.main-panel-content-header-ctrl-confirm-button[disabled][data-v-65bcf42e]{color:var(--color-gray-500);cursor:not-allowed}.main-panel-content-header-ctrl-confirm-button[disabled][data-v-65bcf42e]:hover{color:var(--color-gray-700);background-color:var(--color-gray-100)}.main-panel-content-header-ctrl-reset-button[data-v-65bcf42e]{color:var(--color-gray-500);height:auto;padding:8px 15px;transition:var(--transition-all);line-height:1;border-color:transparent;border-radius:var(--gutter);background-color:transparent}.main-panel-content-header-ctrl-reset-button[data-v-65bcf42e]:hover{color:var(--color-gray-50);background-color:var(--color-gray-300)}.main-panel-content-body[data-v-65bcf42e]{overflow:auto}.main-panel-content-body-grid[data-v-65bcf42e]{display:grid;grid-gap:10px;font-size:12px;line-height:1;grid-template-columns:auto minmax(200px,1fr) auto minmax(200px,1fr)}.main-panel-content-body-grid-item[data-v-65bcf42e]{display:contents;color:var(--color-gray)}.main-panel-content-body-grid-item.is-change[data-v-65bcf42e]{color:var(--color-gray-900)}.main-panel-content-body-grid-item.is-error[data-v-65bcf42e]{color:var(--color-red)}.main-panel-content-body-grid-item:not(.is-checked) .main-panel-content-body-grid-item-new_file_name[data-v-65bcf42e]{color:var(--color-gray-300)}.enter-component[data-v-3ff86bbd]{margin-right:16px}.enter-component-button[data-v-3ff86bbd]{color:#fff;border:none;height:32px;cursor:pointer;padding:8px 24px;font-size:14px;transition:var(--transition-all);line-height:1;font-weight:700;white-space:nowrap;border-radius:16px;background-image:linear-gradient(135deg,var(--color-primary-400) 0%,var(--color-primary-600) 100%)}.enter-component-button[data-v-3ff86bbd]:hover{background-image:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-700) 100%)}.enter-component-button[data-v-3ff86bbd]:active{background-image:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-800) 100%)}.enter-component-button[disabled][data-v-3ff86bbd]{color:var(--color-primary-700);cursor:not-allowed;background-image:linear-gradient(135deg,var(--color-primary-100) 0%,var(--color-primary-300) 100%)} ');

System.addImportMap({ imports: {"vue":"user:vue"} });
System.set("user:vue", (()=>{const _=Vue;('default' in _)||(_.default=_);return _})());

System.register("./__entry.js", ['./__monkey.entry-Cb9Yaawu.js', 'vue'], (function (exports, module) {
	'use strict';
	return {
		setters: [null, null],
		execute: (function () {



		})
	};
}));

System.register("./__monkey.entry-Cb9Yaawu.js", ['vue'], (function (exports, module) {
  'use strict';
  var defineComponent, computed, ref, onMounted, inject, onUnmounted, defineAsyncComponent, createApp, nextTick, openBlock, createElementBlock, normalizeClass, toDisplayString, createCommentVNode, withDirectives, vModelDynamic, normalizeStyle, vModelText, createElementVNode, Fragment, createTextVNode, renderSlot, resolveComponent, createBlock, Teleport, createVNode, Transition, withCtx, renderList, resolveDynamicComponent, pushScopeId, popScopeId;
  return {
    setters: [module => {
      defineComponent = module.defineComponent;
      computed = module.computed;
      ref = module.ref;
      onMounted = module.onMounted;
      inject = module.inject;
      onUnmounted = module.onUnmounted;
      defineAsyncComponent = module.defineAsyncComponent;
      createApp = module.createApp;
      nextTick = module.nextTick;
      openBlock = module.openBlock;
      createElementBlock = module.createElementBlock;
      normalizeClass = module.normalizeClass;
      toDisplayString = module.toDisplayString;
      createCommentVNode = module.createCommentVNode;
      withDirectives = module.withDirectives;
      vModelDynamic = module.vModelDynamic;
      normalizeStyle = module.normalizeStyle;
      vModelText = module.vModelText;
      createElementVNode = module.createElementVNode;
      Fragment = module.Fragment;
      createTextVNode = module.createTextVNode;
      renderSlot = module.renderSlot;
      resolveComponent = module.resolveComponent;
      createBlock = module.createBlock;
      Teleport = module.Teleport;
      createVNode = module.createVNode;
      Transition = module.Transition;
      withCtx = module.withCtx;
      renderList = module.renderList;
      resolveDynamicComponent = module.resolveDynamicComponent;
      pushScopeId = module.pushScopeId;
      popScopeId = module.popScopeId;
    }],
    execute: (function () {

      var __defProp = Object.defineProperty;
      var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
      var __publicField = (obj, key, value) => {
        __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
        return value;
      };
      const is = (val, type) => Object.prototype.toString.call(val) === `[object ${type}]`;
      const isString = (val) => is(val, "String");
      const isNull = (val) => val === null;
      const isUndefined = (val) => val === void 0;
      const isVoid = (val) => isNull(val) || isUndefined(val);
      const isEmpty = (val) => isVoid(val) || val === "";
      const _sfc_main$5 = defineComponent({
        name: "MaterialInput",
        props: {
          modelValue: {
            type: [String, Number],
            default: ""
          },
          label: {
            type: String,
            default: ""
          },
          type: {
            type: String,
            default: "textarea"
          },
          disabled: {
            type: Boolean,
            default: false
          },
          readonly: {
            type: Boolean,
            default: false
          },
          placeholder: {
            type: String,
            default: ""
          }
        },
        emits: ["update:modelValue"],
        setup(props, { emit }) {
          const computedValue = computed({
            get: () => props.modelValue,
            set: (val) => emit("update:modelValue", val)
          });
          const computedPlaceholder = computed(
            () => props.label ? "" : props.placeholder
          );
          const isFocus = ref(false);
          const isActive = computed(
            () => !isEmpty(props.modelValue) || isFocus.value
          );
          const inputRef = ref();
          const textareaRef = ref();
          const textareaStyle = ref({});
          const onInputBlur = () => {
            isFocus.value = false;
          };
          const onInputFocus = () => {
            isFocus.value = true;
          };
          const onTextareaBlur = () => {
            isFocus.value = false;
            calcTextareaStyle();
          };
          const onTextareaFocus = () => {
            isFocus.value = true;
            calcTextareaStyle();
          };
          const onTextareaInput = () => {
            calcTextareaStyle();
          };
          const calcTextareaStyle = () => {
            textareaStyle.value.height = "auto";
            nextTick(() => {
              var _a;
              textareaStyle.value.height = ((_a = textareaRef.value) == null ? void 0 : _a.value) ? textareaRef.value.scrollHeight + 1 + "px" : "auto";
            });
          };
          onMounted(() => {
            if (props.type === "textarea") {
              onTextareaInput();
            }
          });
          return {
            computedValue,
            computedPlaceholder,
            isFocus,
            isActive,
            inputRef,
            textareaRef,
            textareaStyle,
            onInputBlur,
            onInputFocus,
            onTextareaBlur,
            onTextareaInput,
            onTextareaFocus
          };
        }
      });
      const _export_sfc = exports("_", (sfc, props) => {
        const target = sfc.__vccOpts || sfc;
        for (const [key, val] of props) {
          target[key] = val;
        }
        return target;
      });
      const _hoisted_1$4 = {
        key: 0,
        class: "material-input_label"
      };
      const _hoisted_2$4 = ["type", "value", "disabled", "readonly", "placeholder"];
      const _hoisted_3$4 = ["disabled", "readonly", "placeholder"];
      function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
        return openBlock(), createElementBlock("label", {
          class: normalizeClass(["material-input", { "is-focus": _ctx.isFocus, "is-active": _ctx.isActive }])
        }, [
          _ctx.label ? (openBlock(), createElementBlock("div", _hoisted_1$4, toDisplayString(_ctx.label), 1)) : createCommentVNode("", true),
          _ctx.type !== "textarea" ? withDirectives((openBlock(), createElementBlock("input", {
            key: 1,
            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.computedValue = $event),
            ref: "inputRef",
            class: "material-input_input",
            type: _ctx.type,
            value: _ctx.modelValue,
            disabled: _ctx.disabled,
            readonly: _ctx.readonly,
            placeholder: _ctx.computedPlaceholder,
            onBlur: _cache[1] || (_cache[1] = (...args) => _ctx.onInputBlur && _ctx.onInputBlur(...args)),
            onFocus: _cache[2] || (_cache[2] = (...args) => _ctx.onInputFocus && _ctx.onInputFocus(...args))
          }, null, 40, _hoisted_2$4)), [
            [vModelDynamic, _ctx.computedValue]
          ]) : withDirectives((openBlock(), createElementBlock("textarea", {
            key: 2,
            "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => _ctx.computedValue = $event),
            ref: "textareaRef",
            class: "material-input_textarea",
            rows: "1",
            style: normalizeStyle(_ctx.textareaStyle),
            disabled: _ctx.disabled,
            readonly: _ctx.readonly,
            placeholder: _ctx.computedPlaceholder,
            onBlur: _cache[4] || (_cache[4] = (...args) => _ctx.onTextareaBlur && _ctx.onTextareaBlur(...args)),
            onFocus: _cache[5] || (_cache[5] = (...args) => _ctx.onTextareaFocus && _ctx.onTextareaFocus(...args)),
            onInput: _cache[6] || (_cache[6] = (...args) => _ctx.onTextareaInput && _ctx.onTextareaInput(...args))
          }, null, 44, _hoisted_3$4)), [
            [vModelText, _ctx.computedValue]
          ])
        ], 2);
      }
      const MaterialInput = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["render", _sfc_render$5], ["__scopeId", "data-v-10b0d85a"]]);
      const _sfc_main$4 = defineComponent({
        name: "MaterialRadio",
        props: {
          modelValue: {
            type: [String, Number, Boolean],
            default: false
          },
          label: {
            type: [String, Number, Boolean],
            default: ""
          },
          disabled: {
            type: Boolean,
            default: false
          },
          readonly: {
            type: Boolean,
            default: false
          },
          type: {
            type: String,
            default: "radio"
          }
        },
        emits: ["update:modelValue"],
        setup(props, { emit }) {
          const isChecked = computed(() => props.modelValue === props.label);
          const onChange = () => {
            if (!props.disabled && !props.readonly) {
              emit("update:modelValue", props.label);
            }
          };
          return {
            isChecked,
            onChange
          };
        }
      });
      const _hoisted_1$3 = { class: "material-radio-input" };
      const _hoisted_2$3 = ["value", "checked"];
      const _hoisted_3$3 = {
        key: 0,
        class: "material-radio-label"
      };
      function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
        return openBlock(), createElementBlock("label", {
          class: normalizeClass(["material-radio", {
            "is-disabled": _ctx.disabled,
            "is-readonly": _ctx.readonly,
            "is-checked": _ctx.isChecked,
            [_ctx.type]: true
          }]),
          onChange: _cache[0] || (_cache[0] = (...args) => _ctx.onChange && _ctx.onChange(...args))
        }, [
          createElementVNode("span", _hoisted_1$3, [
            createElementVNode("input", {
              class: "material-radio-input-original",
              type: "radio",
              value: _ctx.label,
              checked: _ctx.isChecked
            }, null, 8, _hoisted_2$3)
          ]),
          _ctx.label || _ctx.$slots.default ? (openBlock(), createElementBlock("span", _hoisted_3$3, [
            !_ctx.$slots.default && _ctx.label ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
              createTextVNode(toDisplayString(_ctx.label), 1)
            ], 64)) : createCommentVNode("", true),
            renderSlot(_ctx.$slots, "default", {}, void 0, true)
          ])) : createCommentVNode("", true)
        ], 34);
      }
      const MaterialRadio = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-89299f62"]]);
      const _sfc_main$3 = defineComponent({
        name: "MaterialLoading"
      });
      const _withScopeId$1 = (n) => (pushScopeId("data-v-9bee3f9f"), n = n(), popScopeId(), n);
      const _hoisted_1$2 = { class: "material-loading" };
      const _hoisted_2$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("svg", {
        class: "material-loading-spinner",
        viewBox: "0 0 50 50"
      }, [
        /* @__PURE__ */ createElementVNode("circle", {
          class: "material-loading-spinner-path",
          cx: "25",
          cy: "25",
          r: "20",
          fill: "none"
        })
      ], -1));
      const _hoisted_3$2 = [
        _hoisted_2$2
      ];
      function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
        return openBlock(), createElementBlock("div", _hoisted_1$2, _hoisted_3$2);
      }
      const MaterialLoading = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3], ["__scopeId", "data-v-9bee3f9f"]]);
      const _sfc_main$2 = defineComponent({
        name: "MaterialCheckbox",
        props: {
          modelValue: {
            type: Boolean,
            default: false
          },
          label: {
            type: String,
            default: ""
          },
          disabled: {
            type: Boolean,
            default: false
          },
          readonly: {
            type: Boolean,
            default: false
          },
          indeterminate: {
            type: Boolean,
            default: false
          }
        },
        emits: ["update:modelValue"],
        setup(props, { emit }) {
          const onChange = () => {
            if (!props.disabled && !props.readonly) {
              emit("update:modelValue", !props.modelValue);
            }
          };
          return {
            onChange
          };
        }
      });
      const _hoisted_1$1 = { class: "material-checkbox-input" };
      const _hoisted_2$1 = ["checked"];
      const _hoisted_3$1 = {
        key: 0,
        class: "material-checkbox-label"
      };
      function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
        return openBlock(), createElementBlock("label", {
          class: normalizeClass(["material-checkbox", {
            "is-checked": _ctx.modelValue,
            "is-disabled": _ctx.disabled,
            "is-readonly": _ctx.readonly,
            "is-indeterminate": _ctx.indeterminate
          }]),
          onChange: _cache[0] || (_cache[0] = (...args) => _ctx.onChange && _ctx.onChange(...args))
        }, [
          createElementVNode("span", _hoisted_1$1, [
            createElementVNode("input", {
              class: "material-checkbox-input-original",
              type: "checkbox",
              checked: _ctx.modelValue
            }, null, 8, _hoisted_2$1)
          ]),
          _ctx.label || _ctx.$slots.default ? (openBlock(), createElementBlock("span", _hoisted_3$1, [
            !_ctx.$slots.default && _ctx.label ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
              createTextVNode(toDisplayString(_ctx.label), 1)
            ], 64)) : createCommentVNode("", true),
            renderSlot(_ctx.$slots, "default", {}, void 0, true)
          ])) : createCommentVNode("", true)
        ], 34);
      }
      const MaterialCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2], ["__scopeId", "data-v-fb8b54b7"]]);
      const _sfc_main$1 = defineComponent({
        name: "MainPanel",
        components: {
          MaterialInput,
          MaterialRadio,
          MaterialLoading,
          MaterialCheckbox
        },
        setup() {
          const providerRef = inject("providerRef");
          const onMaskClick = () => {
            if (!(providerRef == null ? void 0 : providerRef.value.isLoading)) {
              providerRef == null ? void 0 : providerRef.value.setVisible(false);
            }
          };
          const onResetClick = () => {
            providerRef == null ? void 0 : providerRef.value.reset();
          };
          const onConfirmClick = () => {
            providerRef == null ? void 0 : providerRef.value.batchRename();
          };
          const onIsCheckUpdate = (item, val) => {
            providerRef == null ? void 0 : providerRef.value.updateItemIsCheck(item, val);
          };
          const onCheckedAllUpdate = (val) => {
            providerRef == null ? void 0 : providerRef.value.updateCheckedAll(val);
          };
          const currentList = ref([]);
          const updateCurrentList = (val) => {
            currentList.value = val;
          };
          onMounted(() => {
            providerRef == null ? void 0 : providerRef.value.onCurrentListUpdate(updateCurrentList);
          });
          onUnmounted(() => {
            providerRef == null ? void 0 : providerRef.value.offCurrentListUpdate(updateCurrentList);
          });
          return {
            providerRef,
            currentList,
            onMaskClick,
            onResetClick,
            onConfirmClick,
            onIsCheckUpdate,
            onCheckedAllUpdate
          };
        }
      });
      const _withScopeId = (n) => (pushScopeId("data-v-65bcf42e"), n = n(), popScopeId(), n);
      const _hoisted_1 = {
        key: 0,
        class: "main-panel"
      };
      const _hoisted_2 = {
        key: 0,
        class: "main-panel-content"
      };
      const _hoisted_3 = { class: "main-panel-content-header" };
      const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "main-panel-content-header-title" }, " 批量重命名当前目录下所有文件 ", -1));
      const _hoisted_5 = {
        key: 0,
        class: "main-panel-content-header-form"
      };
      const _hoisted_6 = { class: "main-panel-content-header-form-item" };
      const _hoisted_7 = { class: "main-panel-content-header-form-item" };
      const _hoisted_8 = { class: "main-panel-content-header-form-item" };
      const _hoisted_9 = { class: "main-panel-content-header-form-item" };
      const _hoisted_10 = { class: "main-panel-content-header-ctrl" };
      const _hoisted_11 = { class: "main-panel-content-header-ctrl-option" };
      const _hoisted_12 = ["disabled"];
      const _hoisted_13 = ["disabled"];
      const _hoisted_14 = { class: "main-panel-content-body" };
      const _hoisted_15 = { class: "main-panel-content-body-grid" };
      const _hoisted_16 = { class: "main-panel-content-body-grid-item-checkbox" };
      const _hoisted_17 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "main-panel-content-body-grid-item-old_file_name" }, " 原文件名 ", -1));
      const _hoisted_18 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "main-panel-content-body-grid-item-right-arrow" }, " ⮕ ", -1));
      const _hoisted_19 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "main-panel-content-body-grid-item-new_file_name" }, " 新文件名 ", -1));
      const _hoisted_20 = { class: "main-panel-content-body-grid-item-checkbox" };
      const _hoisted_21 = ["title"];
      const _hoisted_22 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "main-panel-content-body-grid-item-right-arrow" }, " ⮕ ", -1));
      const _hoisted_23 = ["title"];
      function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
        const _component_material_input = resolveComponent("material-input");
        const _component_material_radio = resolveComponent("material-radio");
        const _component_material_checkbox = resolveComponent("material-checkbox");
        const _component_material_loading = resolveComponent("material-loading");
        return openBlock(), createBlock(Teleport, { to: "body" }, [
          _ctx.providerRef ? (openBlock(), createElementBlock("div", _hoisted_1, [
            createVNode(Transition, { name: "fade" }, {
              default: withCtx(() => [
                _ctx.providerRef.visible ? (openBlock(), createElementBlock("div", {
                  key: 0,
                  class: "main-panel-mask",
                  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onMaskClick && _ctx.onMaskClick(...args))
                })) : createCommentVNode("", true)
              ]),
              _: 1
            }),
            createVNode(Transition, { name: "fade-bottom" }, {
              default: withCtx(() => [
                _ctx.providerRef.visible ? (openBlock(), createElementBlock("div", _hoisted_2, [
                  createElementVNode("div", _hoisted_3, [
                    _hoisted_4,
                    _ctx.providerRef.replaceParams ? (openBlock(), createElementBlock("form", _hoisted_5, [
                      _ctx.providerRef.replaceParams.renameMode === "series" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
                        createElementVNode("div", _hoisted_6, [
                          createVNode(_component_material_input, {
                            modelValue: _ctx.providerRef.replaceParams.title,
                            "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.providerRef.replaceParams.title = $event),
                            label: "剧名"
                          }, null, 8, ["modelValue"])
                        ]),
                        createElementVNode("div", _hoisted_7, [
                          createVNode(_component_material_input, {
                            modelValue: _ctx.providerRef.replaceParams.season,
                            "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.providerRef.replaceParams.season = $event),
                            label: "季数",
                            type: "number"
                          }, null, 8, ["modelValue"])
                        ])
                      ], 64)) : createCommentVNode("", true),
                      _ctx.providerRef.replaceParams.renameMode === "pattern" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
                        createElementVNode("div", _hoisted_8, [
                          createVNode(_component_material_input, {
                            modelValue: _ctx.providerRef.replaceParams.pattern,
                            "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => _ctx.providerRef.replaceParams.pattern = $event),
                            label: "正则"
                          }, null, 8, ["modelValue"])
                        ]),
                        createElementVNode("div", _hoisted_9, [
                          createVNode(_component_material_input, {
                            modelValue: _ctx.providerRef.replaceParams.replace,
                            "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => _ctx.providerRef.replaceParams.replace = $event),
                            label: "替换文本"
                          }, null, 8, ["modelValue"])
                        ])
                      ], 64)) : createCommentVNode("", true)
                    ])) : createCommentVNode("", true),
                    createElementVNode("div", _hoisted_10, [
                      createElementVNode("div", _hoisted_11, [
                        createVNode(_component_material_radio, {
                          modelValue: _ctx.providerRef.replaceParams.renameMode,
                          "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => _ctx.providerRef.replaceParams.renameMode = $event),
                          label: "series"
                        }, {
                          default: withCtx(() => [
                            createTextVNode(" 剧集模式 ")
                          ]),
                          _: 1
                        }, 8, ["modelValue"]),
                        createVNode(_component_material_radio, {
                          modelValue: _ctx.providerRef.replaceParams.renameMode,
                          "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => _ctx.providerRef.replaceParams.renameMode = $event),
                          label: "pattern"
                        }, {
                          default: withCtx(() => [
                            createTextVNode(" 正则模式 ")
                          ]),
                          _: 1
                        }, 8, ["modelValue"]),
                        createVNode(_component_material_checkbox, {
                          modelValue: _ctx.providerRef.replaceParams.autoEpisode,
                          "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => _ctx.providerRef.replaceParams.autoEpisode = $event)
                        }, {
                          default: withCtx(() => [
                            createTextVNode(" 自动集数 ")
                          ]),
                          _: 1
                        }, 8, ["modelValue"])
                      ]),
                      createElementVNode("button", {
                        class: "main-panel-content-header-ctrl-reset-button",
                        disabled: _ctx.providerRef.isLoading,
                        onClick: _cache[8] || (_cache[8] = (...args) => _ctx.onResetClick && _ctx.onResetClick(...args))
                      }, " 重置 ", 8, _hoisted_12),
                      createElementVNode("button", {
                        class: "main-panel-content-header-ctrl-confirm-button",
                        disabled: !_ctx.providerRef.shouldContinue || _ctx.providerRef.isLoading,
                        onClick: _cache[9] || (_cache[9] = (...args) => _ctx.onConfirmClick && _ctx.onConfirmClick(...args))
                      }, " 应用 ", 8, _hoisted_13)
                    ])
                  ]),
                  createElementVNode("div", _hoisted_14, [
                    createElementVNode("ul", _hoisted_15, [
                      createElementVNode("li", {
                        class: normalizeClass(["main-panel-content-body-grid-item", {
                          "is-error": _ctx.providerRef.hasError,
                          "is-change": _ctx.providerRef.hasChange,
                          "is-checked": !_ctx.providerRef.hasUncheckedAll
                        }])
                      }, [
                        createElementVNode("div", _hoisted_16, [
                          createVNode(_component_material_checkbox, {
                            "model-value": _ctx.providerRef.hasCheckedAll,
                            indeterminate: !_ctx.providerRef.hasCheckedAll && !_ctx.providerRef.hasUncheckedAll,
                            "onUpdate:modelValue": _ctx.onCheckedAllUpdate
                          }, null, 8, ["model-value", "indeterminate", "onUpdate:modelValue"])
                        ]),
                        _hoisted_17,
                        _hoisted_18,
                        _hoisted_19
                      ], 2),
                      (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.currentList, (item) => {
                        return openBlock(), createElementBlock("li", {
                          key: item.id,
                          class: normalizeClass(["main-panel-content-body-grid-item", {
                            "is-error": item.isError,
                            "is-change": item.isChange,
                            "is-checked": item.isChecked
                          }])
                        }, [
                          createElementVNode("div", _hoisted_20, [
                            createVNode(_component_material_checkbox, {
                              "model-value": item.isChecked,
                              "onUpdate:modelValue": ($event) => _ctx.onIsCheckUpdate(item, $event)
                            }, null, 8, ["model-value", "onUpdate:modelValue"])
                          ]),
                          createElementVNode("div", {
                            class: "main-panel-content-body-grid-item-old_file_name",
                            title: item.oldFileName
                          }, toDisplayString(item.oldFileName), 9, _hoisted_21),
                          _hoisted_22,
                          createElementVNode("div", {
                            class: "main-panel-content-body-grid-item-new_file_name",
                            title: item.newFileName
                          }, toDisplayString(item.newFileName), 9, _hoisted_23)
                        ], 2);
                      }), 128))
                    ])
                  ]),
                  _ctx.providerRef.isLoading ? (openBlock(), createBlock(_component_material_loading, { key: 0 })) : createCommentVNode("", true)
                ])) : createCommentVNode("", true)
              ]),
              _: 1
            })
          ])) : createCommentVNode("", true)
        ]);
      }
      const MainPanel = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-65bcf42e"]]);
      const _sfc_main = defineComponent({
        name: "App",
        components: {
          MainPanel
        },
        setup() {
          const providerRef = inject("providerRef");
          const EnterComponent2 = computed(() => {
            var _a;
            return (_a = providerRef == null ? void 0 : providerRef.value) == null ? void 0 : _a.EnterComponent();
          });
          return {
            EnterComponent: EnterComponent2
          };
        }
      });
      function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
        const _component_main_panel = resolveComponent("main-panel");
        return openBlock(), createElementBlock(Fragment, null, [
          (openBlock(), createBlock(resolveDynamicComponent(_ctx.EnterComponent))),
          createVNode(_component_main_panel)
        ], 64);
      }
      const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
      const scriptRel = function detectScriptRel() {
        const relList = typeof document !== "undefined" && document.createElement("link").relList;
        return relList && relList.supports && relList.supports("modulepreload") ? "modulepreload" : "preload";
      }();
      const assetsURL = function(dep) {
        return "/" + dep;
      };
      const seen = {};
      const __vitePreload = function preload(baseModule, deps, importerUrl) {
        let promise = Promise.resolve();
        if (deps && deps.length > 0) {
          const links = document.getElementsByTagName("link");
          promise = Promise.all(deps.map((dep) => {
            dep = assetsURL(dep);
            if (dep in seen)
              return;
            seen[dep] = true;
            const isCss = dep.endsWith(".css");
            const cssSelector = isCss ? '[rel="stylesheet"]' : "";
            const isBaseRelative = !!importerUrl;
            if (isBaseRelative) {
              for (let i = links.length - 1; i >= 0; i--) {
                const link2 = links[i];
                if (link2.href === dep && (!isCss || link2.rel === "stylesheet")) {
                  return;
                }
              }
            } else if (document.querySelector(`link[href="${dep}"]${cssSelector}`)) {
              return;
            }
            const link = document.createElement("link");
            link.rel = isCss ? "stylesheet" : scriptRel;
            if (!isCss) {
              link.as = "script";
              link.crossOrigin = "";
            }
            link.href = dep;
            document.head.appendChild(link);
            if (isCss) {
              return new Promise((res, rej) => {
                link.addEventListener("load", res);
                link.addEventListener("error", () => rej(new Error(`Unable to preload CSS for ${dep}`)));
              });
            }
          }));
        }
        return promise.then(() => baseModule()).catch((err) => {
          const e = new Event("vite:preloadError", { cancelable: true });
          e.payload = err;
          window.dispatchEvent(e);
          if (!e.defaultPrevented) {
            throw err;
          }
        });
      };
      const complementZero = (payload) => {
        if (isString(payload)) {
          payload = parseInt(payload);
          if (isNaN(payload)) {
            return "";
          }
        }
        return (payload < 10 ? "0" : "") + payload;
      };
      class Provider {
        constructor() {
          // 显示加载
          __publicField(this, "isLoading", false);
          // 主面板显示控制
          __publicField(this, "visible", false);
          // 替换参数
          __publicField(this, "replaceParams", new ReplaceParams(
            () => this._onReplaceParamsUpdate.call(this)
          ));
          // 原始文件列表数据
          __publicField(this, "originList", []);
          // 当前文件列表数据
          __publicField(this, "_currentList", []);
          // 文件列表更新回调函数集合
          __publicField(this, "_currentListUpdateHandlerSet", /* @__PURE__ */ new Set());
          // 取消选中的文件列表
          __publicField(this, "_uncheckedList", /* @__PURE__ */ new Set());
          // 是否有错误
          __publicField(this, "hasError", false);
          // 是否有变更
          __publicField(this, "hasChange", false);
          // 是否全选
          __publicField(this, "hasCheckedAll", false);
          // 是否全不选
          __publicField(this, "hasUncheckedAll", false);
          // 是否可继续
          __publicField(this, "shouldContinue", false);
        }
        // 匹配测试
        static test() {
          return false;
        }
        setVisible(val = false) {
          this.visible = val;
          if (val) {
            this._updateOriginList();
          }
        }
        // 替换参数更新回调函数
        _onReplaceParamsUpdate() {
          this._updateCurrentList();
        }
        // 重置替换参数
        _resetReplaceParams() {
          this.replaceParams.reset();
        }
        // 更新原始文件列表数据
        _updateOriginList() {
          this.getOriginList().then((res) => {
            this.originList = res;
            this._uncheckedList = /* @__PURE__ */ new Set();
            this._updateCurrentList();
          });
        }
        get currentList() {
          return this._currentList;
        }
        // 更新当前文件列表数据
        _updateCurrentList() {
          const renameMode = this.replaceParams.renameMode;
          const result = this.originList.map((item) => {
            return {
              id: item.id,
              ext: item.ext,
              isError: false,
              fileName: item.fileName,
              isChange: false,
              isMatched: false,
              isChecked: !this._uncheckedList.has(item.id),
              isLoading: false,
              oldFileName: item.fullFileName,
              newFileName: ""
            };
          });
          const newFileNameSet = /* @__PURE__ */ new Set();
          if (renameMode === RENAME_MODE_SERIES) {
            if (this.replaceParams.title || this.replaceParams.season) {
              const season = this.replaceParams.season ? ".S" + complementZero(this.replaceParams.season) : "";
              result.forEach((item, index) => {
                const fileName = this.replaceParams.title || item.fileName;
                let newFileName = fileName + season;
                if (this.replaceParams.autoEpisode) {
                  const episode = (season ? "" : ".") + "E" + complementZero(index + 1);
                  newFileName += episode;
                }
                newFileName += "." + item.ext;
                item.newFileName = newFileName;
                this._listItemGeneralMethod(item, newFileNameSet);
              });
            }
          }
          if (renameMode === RENAME_MODE_PATTERN) {
            let regexp2;
            if (this.replaceParams.pattern) {
              try {
                regexp2 = new RegExp(this.replaceParams.pattern);
              } catch (error) {
                console.error("regexp error", error);
              }
              if (regexp2) {
                result.forEach((item, index) => {
                  if (this.replaceParams.autoEpisode) {
                    item.isMatched = !!(regexp2 == null ? void 0 : regexp2.test(item.fileName));
                    if (item.isMatched) {
                      let newFileName = item.fileName.replace(
                        regexp2,
                        this.replaceParams.replace
                      );
                      newFileName += (newFileName ? ".E" : "E") + complementZero(index + 1);
                      newFileName += "." + item.ext;
                      item.newFileName = newFileName;
                      this._listItemGeneralMethod(item, newFileNameSet);
                    }
                  } else {
                    item.isMatched = !!(regexp2 == null ? void 0 : regexp2.test(item.oldFileName));
                    if (item.isMatched) {
                      item.newFileName = item.oldFileName.replace(
                        regexp2,
                        this.replaceParams.replace
                      );
                      this._listItemGeneralMethod(item, newFileNameSet);
                    }
                  }
                });
              }
            }
          }
          this._currentList = result;
          this._updateHasError();
          this._updateHasChange();
          this._updateHasCheckedAll();
          this._updateShouldContinue();
          this._emitCurrentListUpdateHandler();
        }
        // 文件列表项通用处理
        _listItemGeneralMethod(item, newFileNameSet) {
          item.isChange = item.oldFileName !== item.newFileName;
          item.isError = item.isChecked && (!item.newFileName || newFileNameSet.has(item.newFileName));
          item.isChecked && newFileNameSet.add(item.newFileName);
        }
        // 绑定文件列表更新回调函数
        onCurrentListUpdate(handler) {
          if (!this._currentListUpdateHandlerSet.has(handler)) {
            this._currentListUpdateHandlerSet.add(handler);
          }
        }
        // 解绑文件列表更新回调函数
        offCurrentListUpdate(handler) {
          if (this._currentListUpdateHandlerSet.has(handler)) {
            this._currentListUpdateHandlerSet.delete(handler);
          }
        }
        // 触发文件列表更新回调函数
        _emitCurrentListUpdateHandler() {
          this._currentListUpdateHandlerSet.forEach((handler) => {
            handler(this._currentList);
          });
        }
        // 更新是否选中文件列表
        updateItemIsCheck(item, val) {
          if (val) {
            this._uncheckedList.delete(item.id);
          } else {
            this._uncheckedList.add(item.id);
          }
          this._updateCurrentList();
        }
        // 更新是否全选
        updateCheckedAll(val) {
          if (val) {
            this._uncheckedList = /* @__PURE__ */ new Set();
          } else {
            this._currentList.forEach((item) => {
              this._uncheckedList.add(item.id);
            });
          }
          this._updateCurrentList();
        }
        _updateHasError() {
          this.hasError = this._currentList.some(
            (item) => item.isChecked && item.isError
          );
        }
        _updateHasChange() {
          this.hasChange = this._currentList.some(
            (item) => item.isChecked && item.isChange
          );
        }
        _updateHasCheckedAll() {
          this.hasCheckedAll = this._uncheckedList.size === 0;
          this.hasUncheckedAll = this._uncheckedList.size === this._currentList.length;
        }
        _updateShouldContinue() {
          this.shouldContinue = !this.hasError && this.hasChange;
        }
        // 批量重命名
        batchRename() {
          if (!this.shouldContinue) {
            return;
          }
          this.isLoading = true;
          const data = this.currentList.filter(
            (item) => item.isChecked && item.isChange && !item.isError
          );
          this.renameRequest(data).then(() => {
            this._resetReplaceParams();
            return this.refresh();
          }).finally(() => {
            this.isLoading = false;
          });
        }
        // 重置
        reset() {
          this._resetReplaceParams();
          this._updateOriginList();
        }
      }
      class ReplaceParams {
        constructor(onUpdateHandler) {
          // 剧名
          __publicField(this, "_title", "");
          // 季数
          __publicField(this, "_season", "");
          // 正则
          __publicField(this, "_pattern", "");
          // 替换文本
          __publicField(this, "_replace", "");
          // 自动集数
          __publicField(this, "_autoEpisode", true);
          // 重命名模式
          __publicField(this, "_renameMode", RENAME_MODE_SERIES);
          // private _onUpdateTimer: NodeJS.Timeout | undefined;
          __publicField(this, "_onUpdate", () => {
            this.onUpdateHandler && this.onUpdateHandler(this);
          });
          __publicField(this, "onUpdateHandler");
          this.onUpdateHandler = onUpdateHandler;
        }
        get title() {
          return this._title;
        }
        set title(val) {
          this._title = val;
          this._onUpdate();
        }
        get season() {
          return this._season;
        }
        set season(val) {
          this._season = val;
          this._onUpdate();
        }
        get pattern() {
          return this._pattern;
        }
        set pattern(val) {
          this._pattern = val;
          this._onUpdate();
        }
        get replace() {
          return this._replace;
        }
        set replace(val) {
          this._replace = val;
          this._onUpdate();
        }
        get autoEpisode() {
          return this._autoEpisode;
        }
        set autoEpisode(val) {
          this._autoEpisode = val;
          this._onUpdate();
        }
        get renameMode() {
          return this._renameMode;
        }
        set renameMode(val) {
          this._renameMode = val;
          this._onUpdate();
        }
        reset(val) {
          this.title = (val == null ? void 0 : val.title) || "";
          this.season = (val == null ? void 0 : val.season) || "";
          this.pattern = (val == null ? void 0 : val.pattern) || "";
          this.replace = (val == null ? void 0 : val.replace) || "";
          this.autoEpisode = val ? !!val.autoEpisode : true;
          this.renameMode = (val == null ? void 0 : val.renameMode) || RENAME_MODE_SERIES;
        }
      }
      const RENAME_MODE_SERIES = "series";
      const RENAME_MODE_PATTERN = "pattern";
      defineAsyncComponent(
        () => __vitePreload(() => module.import('./EnterComponent-dwejL9Yj-sJp_IATP.js'), void 0 )
      );
      const querySelector = (payload, count = 0, timeout = 100) => {
        let element = document.querySelector(payload);
        if (element) {
          return Promise.resolve(element);
        } else if (count > 0) {
          return new Promise((resolve, reject) => {
            const timer = window.setTimeout(() => {
              element = document.querySelector(payload);
              if (element) {
                resolve(element);
                window.clearInterval(timer);
              } else if (--count <= 0) {
                reject();
                window.clearInterval(timer);
              }
            }, timeout);
          });
        } else {
          return Promise.reject();
        }
      };
      const regexp = /^(.+)\.([^.]+)$/;
      const fileNameParse = (payload) => {
        const matchResult = payload.match(regexp);
        return {
          ext: (matchResult == null ? void 0 : matchResult[2]) || "",
          fileName: (matchResult == null ? void 0 : matchResult[1]) || payload
        };
      };
      const EnterComponent = defineAsyncComponent(
        () => __vitePreload(() => module.import('./EnterComponent-CDhV39UO-QAzF1dEG.js'), void 0 )
      );
      class ProviderBaidu extends Provider {
        constructor() {
          super(...arguments);
          __publicField(this, "type", "baidu");
          __publicField(this, "rootElementId", "cloud-disk-plugin");
          __publicField(this, "rootElementInsertTarget", ".wp-s-agile-tool-bar__header");
          __publicField(this, "rootElementInsertMethod", "prepend");
          __publicField(this, "EnterComponent", () => EnterComponent);
        }
        getOriginList() {
          return querySelector(".nd-new-main-list").then((res) => {
            var _a;
            const fileList = (_a = res == null ? void 0 : res.__vue__) == null ? void 0 : _a.fileList;
            if (!fileList) {
              return Promise.reject();
            }
            const result = [];
            fileList.forEach((item) => {
              if (item.isdir === 0) {
                result.push({
                  id: item.fs_id,
                  fullFileName: item.formatName,
                  ...fileNameParse(item.formatName)
                });
              }
            });
            return result;
          });
        }
        // getOriginListByElement() {
        //   const trList = document.querySelectorAll(
        //     "table.wp-s-pan-table__body-table tbody>tr"
        //   );
        //   const result: IOriginListItem[] = [];
        //   trList.forEach((item, index) => {
        //     const elementA = item.querySelector("a");
        //     if (!elementA) {
        //       return;
        //     }
        //     const elementImgAlt = item.querySelector("img[alt]")?.getAttribute("alt");
        //     if (elementImgAlt === "folder" || elementImgAlt === "share") {
        //       return;
        //     }
        //     const fullFileName = elementA.getAttribute("title") || "";
        //     result.push({
        //       id: item.getAttribute("data-id") || fullFileName || index + "",
        //       fullFileName,
        //       ...fileNameParse(fullFileName),
        //     });
        //   });
        //   return Promise.resolve(result);
        // }
        async renameRequest(data) {
          const path = getPath();
          const token = await getToken();
          const filelist = data.map((item) => {
            return {
              id: item.id,
              path: path + item.oldFileName,
              newname: item.newFileName
            };
          });
          const body = new FormData();
          body.append("filelist", JSON.stringify(filelist));
          return fetch(
            `https://pan.baidu.com/api/filemanager?async=2&onnest=fail&opera=rename&bdstoken=${token}&clienttype=0&app_id=250528&web=1`,
            {
              method: "POST",
              body
            }
          ).then((res) => {
            if (res.ok) {
              return res.json();
            } else {
              return Promise.reject(new Error("network error"));
            }
          }).then((res) => {
            if (res.errno === 0) {
              return new Promise((resolve) => {
                setTimeout(() => {
                  resolve(res);
                }, 2e3);
              });
            }
            return Promise.reject(res);
          });
        }
        refresh() {
          this.visible = false;
          return querySelector(".nd-new-main-list").then(
            (res) => {
              var _a;
              return (_a = res == null ? void 0 : res.__vue__) == null ? void 0 : _a.reloadList();
            }
          );
        }
      }
      __publicField(ProviderBaidu, "test", () => location.href.startsWith(
        "https://pan.baidu.com/disk/main/#/index?category=all"
      ));
      const getPath = () => {
        const currentPath = location.href.match(/path=(.+?)(?:&|$)/);
        let result;
        if (currentPath) {
          result = decodeURIComponent(currentPath[1]);
          if (result.charAt(0) !== "/") {
            result = "/" + result;
          }
          if (result.charAt(result.length - 1) !== "/") {
            result += "/";
          }
        } else {
          result = "/";
        }
        return result;
      };
      const getToken = () => {
        return querySelector(".nd-main-list, .nd-new-main-list").then(
          (res) => {
            var _a, _b;
            return ((_b = (_a = res == null ? void 0 : res.__vue__) == null ? void 0 : _a.yunData) == null ? void 0 : _b.bdstoken) ? res.__vue__.yunData.bdstoken : Promise.reject();
          }
        );
      };
      defineAsyncComponent(
        () => __vitePreload(() => module.import('./EnterComponent-1iDO-HqY-IjxwdH7y.js'), void 0 )
      );
      const getProvider = /* @__PURE__ */ ((instance) => {
        return () => {
          if (instance) {
            return Promise.resolve(instance);
          }
          if (ProviderBaidu.test()) {
            instance = new ProviderBaidu();
          }
          return instance ? Promise.resolve(instance) : Promise.reject();
        };
      })();
      const getProviderRef = /* @__PURE__ */ ((instanceRef) => {
        return () => {
          if (!instanceRef) {
            return getProvider().then((res) => {
              instanceRef = ref(res);
              return instanceRef;
            });
          }
          return Promise.resolve(instanceRef);
        };
      })();
      window.setInterval(
        () => getProviderRef().then((providerRef) => init(providerRef)),
        300
      );
      const init = (providerRef) => {
        querySelector(providerRef.value.rootElementInsertTarget).then(
          (target) => querySelector("#" + providerRef.value.rootElementId).catch(() => {
            const app = createApp(App);
            app.provide("providerRef", providerRef);
            app.mount(
              (() => {
                const root = document.createElement("div");
                root.setAttribute("id", providerRef.value.rootElementId);
                target[providerRef.value.rootElementInsertMethod](root);
                return root;
              })()
            );
          })
        );
      };

    })
  };
}));

System.register("./EnterComponent-dwejL9Yj-sJp_IATP.js", ['vue', './__monkey.entry-Cb9Yaawu.js'], (function (exports, module) {
  'use strict';
  var defineComponent, openBlock, createElementBlock, _export_sfc;
  return {
    setters: [module => {
      defineComponent = module.defineComponent;
      openBlock = module.openBlock;
      createElementBlock = module.createElementBlock;
    }, module => {
      _export_sfc = module._;
    }],
    execute: (function () {

      const _sfc_main = defineComponent({
        name: "EnterComponentAli",
        setup() {
          return {};
        }
      });
      const _hoisted_1 = { class: "enter-component" };
      function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
        return openBlock(), createElementBlock("div", _hoisted_1, "EnterComponentAli");
      }
      const EnterComponent = exports("default", /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]));

    })
  };
}));

System.register("./EnterComponent-CDhV39UO-QAzF1dEG.js", ['vue', './__monkey.entry-Cb9Yaawu.js'], (function (exports, module) {
  'use strict';
  var defineComponent, inject, openBlock, createElementBlock, createElementVNode, pushScopeId, popScopeId, _export_sfc;
  return {
    setters: [module => {
      defineComponent = module.defineComponent;
      inject = module.inject;
      openBlock = module.openBlock;
      createElementBlock = module.createElementBlock;
      createElementVNode = module.createElementVNode;
      pushScopeId = module.pushScopeId;
      popScopeId = module.popScopeId;
    }, module => {
      _export_sfc = module._;
    }],
    execute: (function () {

      const _sfc_main = defineComponent({
        name: "EnterComponentBaidu",
        setup() {
          const providerRef = inject("providerRef");
          const onClick = () => {
            providerRef == null ? void 0 : providerRef.value.setVisible(true);
          };
          return {
            onClick
          };
        }
      });
      const _withScopeId = (n) => (pushScopeId("data-v-3ff86bbd"), n = n(), popScopeId(), n);
      const _hoisted_1 = { class: "enter-component" };
      const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", { class: "enter-component-button-text" }, "重命名", -1));
      const _hoisted_3 = [
        _hoisted_2
      ];
      function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
        return openBlock(), createElementBlock("div", _hoisted_1, [
          createElementVNode("button", {
            type: "button",
            class: "enter-component-button",
            onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
          }, _hoisted_3)
        ]);
      }
      const EnterComponent = exports("default", /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-3ff86bbd"]]));

    })
  };
}));

System.register("./EnterComponent-1iDO-HqY-IjxwdH7y.js", ['vue', './__monkey.entry-Cb9Yaawu.js'], (function (exports, module) {
  'use strict';
  var defineComponent, openBlock, createElementBlock, _export_sfc;
  return {
    setters: [module => {
      defineComponent = module.defineComponent;
      openBlock = module.openBlock;
      createElementBlock = module.createElementBlock;
    }, module => {
      _export_sfc = module._;
    }],
    execute: (function () {

      const _sfc_main = defineComponent({
        name: "EnterComponentQuark",
        setup() {
          return {};
        }
      });
      const _hoisted_1 = { class: "enter-component" };
      function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
        return openBlock(), createElementBlock("div", _hoisted_1, "EnterComponentQuark");
      }
      const EnterComponent = exports("default", /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]));

    })
  };
}));

System.import("./__entry.js", "./");function __vite__mapDeps(indexes) {
  if (!__vite__mapDeps.viteFileDeps) {
    __vite__mapDeps.viteFileDeps = []
  }
  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
}