@whitesev/utils 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.amd.js +1814 -6002
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +1430 -5616
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +1427 -5611
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +1814 -6003
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +1826 -6017
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +1814 -6006
- package/dist/index.umd.js.map +1 -1
- package/dist/src/UtilsCore.d.ts +7 -0
- package/dist/src/ajaxHooker/ajaxHooker.d.ts +6 -0
- package/dist/src/{Utils.d.ts → index.d.ts} +206 -1
- package/index.ts +1 -1
- package/package.json +37 -35
- package/rollup.config.js +14 -1
- package/src/GBKEncoder.ts +2 -0
- package/src/UtilsCore.ts +9 -0
- package/src/UtilsGMCookie.ts +1 -1
- package/src/ajaxHooker/ajaxHooker.js +574 -0
- package/src/{Utils.ts → index.ts} +267 -17
- package/tsconfig.json +1 -2
- package/dist/src/ajaxHooker.d.ts +0 -6
- package/src/GBKEncoder.js +0 -111
- package/src/ajaxHooker.js +0 -558
- package/src/types/DOMUtils.d.ts +0 -188
- package/src/types/UtilsCore.d.ts +0 -7
- package/src/types/global.d.ts +0 -58
- /package/dist/src/{Dictionary.d.ts → Dictionary/Dictionary.d.ts} +0 -0
- /package/dist/src/{Hooks.d.ts → Hooks/Hooks.d.ts} +0 -0
- /package/dist/src/{Httpx.d.ts → Httpx/Httpx.d.ts} +0 -0
- /package/dist/src/{LockFunction.d.ts → LockFunction/LockFunction.d.ts} +0 -0
- /package/dist/src/{Log.d.ts → Log/Log.d.ts} +0 -0
- /package/dist/src/{Progress.d.ts → Progress/Progress.d.ts} +0 -0
- /package/dist/src/{UtilsGMMenu.d.ts → UtilsGMMenu/UtilsGMMenu.d.ts} +0 -0
- /package/dist/src/{indexedDB.d.ts → indexedDB/indexedDB.d.ts} +0 -0
- /package/dist/src/{tryCatch.d.ts → tryCatch/tryCatch.d.ts} +0 -0
- /package/src/{Dictionary.js → Dictionary/Dictionary.js} +0 -0
- /package/src/{types/Dictionary.d.ts → Dictionary/index.d.ts} +0 -0
- /package/src/{Hooks.js → Hooks/Hooks.js} +0 -0
- /package/src/{types/Hook.d.ts → Hooks/index.d.ts} +0 -0
- /package/src/{Httpx.js → Httpx/Httpx.js} +0 -0
- /package/src/{types/Httpx.d.ts → Httpx/index.d.ts} +0 -0
- /package/src/{LockFunction.js → LockFunction/LockFunction.js} +0 -0
- /package/src/{types/LockFunction.d.ts → LockFunction/index.d.ts} +0 -0
- /package/src/{Log.js → Log/Log.js} +0 -0
- /package/src/{types/Log.d.ts → Log/index.d.ts} +0 -0
- /package/src/{Progress.js → Progress/Progress.js} +0 -0
- /package/src/{types/Progress.d.ts → Progress/index.d.ts} +0 -0
- /package/src/{UtilsGMMenu.js → UtilsGMMenu/UtilsGMMenu.js} +0 -0
- /package/src/{types/UtilsGMMenu.d.ts → UtilsGMMenu/index.d.ts} +0 -0
- /package/src/{types/AjaxHooker.d.ts → ajaxHooker/index.d.ts} +0 -0
- /package/src/{types/Indexdb.d.ts → indexedDB/index.d.ts} +0 -0
- /package/src/{indexedDB.js → indexedDB/indexedDB.js} +0 -0
- /package/src/{types/TryCatch.d.ts → tryCatch/index.d.ts} +0 -0
- /package/src/{tryCatch.js → tryCatch/tryCatch.js} +0 -0
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/ColorConversion.ts","../../src/GBKEncoder.ts","../../src/UtilsCore.ts","../../src/UtilsGMCookie.ts","../src/ajaxHooker.js","../src/UtilsGMMenu.js","../src/Hooks.js","../src/Httpx.js","../src/indexedDB.js","../src/LockFunction.js","../src/Log.js","../src/Progress.js","../src/tryCatch.js","../src/Dictionary.js","../../src/Utils.ts"],"sourcesContent":[null,null,null,null,"// @name ajaxHooker\r\n// @author cxxjackie\r\n// @version 1.4.1\r\n// @supportURL https://bbs.tampermonkey.net.cn/thread-3284-1-1.html\r\n\r\nvar ajaxHooker = (function () {\r\n\t\"use strict\";\r\n\tconst version = \"1.4.1\";\r\n\tconst hookInst = {\r\n\t\thookFns: [],\r\n\t\tfilters: [],\r\n\t};\r\n\tconst win = window.unsafeWindow || document.defaultView || window;\r\n\tlet winAh = win.__ajaxHooker;\r\n\tconst resProto = win.Response.prototype;\r\n\tconst xhrResponses = [\"response\", \"responseText\", \"responseXML\"];\r\n\tconst fetchResponses = [\"arrayBuffer\", \"blob\", \"formData\", \"json\", \"text\"];\r\n\tconst fetchInitProps = [\r\n\t\t\"method\",\r\n\t\t\"headers\",\r\n\t\t\"body\",\r\n\t\t\"mode\",\r\n\t\t\"credentials\",\r\n\t\t\"cache\",\r\n\t\t\"redirect\",\r\n\t\t\"referrer\",\r\n\t\t\"referrerPolicy\",\r\n\t\t\"integrity\",\r\n\t\t\"keepalive\",\r\n\t\t\"signal\",\r\n\t\t\"priority\",\r\n\t];\r\n\tconst xhrAsyncEvents = [\"readystatechange\", \"load\", \"loadend\"];\r\n\tconst getType = {}.toString.call.bind({}.toString);\r\n\tconst getDescriptor = Object.getOwnPropertyDescriptor.bind(Object);\r\n\tconst emptyFn = () => {};\r\n\tconst errorFn = (e) => console.error(e);\r\n\tfunction isThenable(obj) {\r\n\t\treturn (\r\n\t\t\tobj &&\r\n\t\t\t[\"object\", \"function\"].includes(typeof obj) &&\r\n\t\t\ttypeof obj.then === \"function\"\r\n\t\t);\r\n\t}\r\n\tfunction catchError(fn, ...args) {\r\n\t\ttry {\r\n\t\t\tconst result = fn(...args);\r\n\t\t\tif (isThenable(result)) return result.then(null, errorFn);\r\n\t\t\treturn result;\r\n\t\t} catch (err) {\r\n\t\t\tconsole.error(err);\r\n\t\t}\r\n\t}\r\n\tfunction defineProp(obj, prop, getter, setter) {\r\n\t\tObject.defineProperty(obj, prop, {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: true,\r\n\t\t\tget: getter,\r\n\t\t\tset: setter,\r\n\t\t});\r\n\t}\r\n\tfunction readonly(obj, prop, value = obj[prop]) {\r\n\t\tdefineProp(obj, prop, () => value, emptyFn);\r\n\t}\r\n\tfunction writable(obj, prop, value = obj[prop]) {\r\n\t\tObject.defineProperty(obj, prop, {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: true,\r\n\t\t\twritable: true,\r\n\t\t\tvalue: value,\r\n\t\t});\r\n\t}\r\n\tfunction parseHeaders(obj) {\r\n\t\tconst headers = {};\r\n\t\tswitch (getType(obj)) {\r\n\t\t\tcase \"[object String]\":\r\n\t\t\t\tfor (const line of obj.trim().split(/[\\r\\n]+/)) {\r\n\t\t\t\t\tconst [header, value] = line.split(/\\s*:\\s*/);\r\n\t\t\t\t\tif (!header) break;\r\n\t\t\t\t\tconst lheader = header.toLowerCase();\r\n\t\t\t\t\theaders[lheader] =\r\n\t\t\t\t\t\tlheader in headers ? `${headers[lheader]}, ${value}` : value;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"[object Headers]\":\r\n\t\t\t\tfor (const [key, val] of obj) {\r\n\t\t\t\t\theaders[key] = val;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"[object Object]\":\r\n\t\t\t\treturn { ...obj };\r\n\t\t}\r\n\t\treturn headers;\r\n\t}\r\n\tfunction stopImmediatePropagation() {\r\n\t\tthis.ajaxHooker_isStopped = true;\r\n\t}\r\n\tclass SyncThenable {\r\n\t\tthen(fn) {\r\n\t\t\tfn && fn();\r\n\t\t\treturn new SyncThenable();\r\n\t\t}\r\n\t}\r\n\tclass AHRequest {\r\n\t\tconstructor(request) {\r\n\t\t\tthis.request = request;\r\n\t\t\tthis.requestClone = { ...this.request };\r\n\t\t}\r\n\t\tshouldFilter(filters) {\r\n\t\t\tconst { type, url, method, async } = this.request;\r\n\t\t\treturn (\r\n\t\t\t\tfilters.length &&\r\n\t\t\t\t!filters.find((obj) => {\r\n\t\t\t\t\tswitch (true) {\r\n\t\t\t\t\t\tcase obj.type && obj.type !== type:\r\n\t\t\t\t\t\tcase getType(obj.url) === \"[object String]\" &&\r\n\t\t\t\t\t\t\t!url.includes(obj.url):\r\n\t\t\t\t\t\tcase getType(obj.url) === \"[object RegExp]\" && !obj.url.test(url):\r\n\t\t\t\t\t\tcase obj.method &&\r\n\t\t\t\t\t\t\tobj.method.toUpperCase() !== method.toUpperCase():\r\n\t\t\t\t\t\tcase \"async\" in obj && obj.async !== async:\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t\twaitForRequestKeys() {\r\n\t\t\tconst requestKeys = [\"url\", \"method\", \"abort\", \"headers\", \"data\"];\r\n\t\t\tif (!this.request.async) {\r\n\t\t\t\twin.__ajaxHooker.hookInsts.forEach(({ hookFns, filters }) => {\r\n\t\t\t\t\tif (this.shouldFilter(filters)) return;\r\n\t\t\t\t\thookFns.forEach((fn) => {\r\n\t\t\t\t\t\tif (getType(fn) === \"[object Function]\")\r\n\t\t\t\t\t\t\tcatchError(fn, this.request);\r\n\t\t\t\t\t});\r\n\t\t\t\t\trequestKeys.forEach((key) => {\r\n\t\t\t\t\t\tif (isThenable(this.request[key]))\r\n\t\t\t\t\t\t\tthis.request[key] = this.requestClone[key];\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\treturn new SyncThenable();\r\n\t\t\t}\r\n\t\t\tconst promises = [];\r\n\t\t\twin.__ajaxHooker.hookInsts.forEach(({ hookFns, filters }) => {\r\n\t\t\t\tif (this.shouldFilter(filters)) return;\r\n\t\t\t\tpromises.push(\r\n\t\t\t\t\tPromise.all(hookFns.map((fn) => catchError(fn, this.request))).then(\r\n\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\tPromise.all(\r\n\t\t\t\t\t\t\t\trequestKeys.map((key) =>\r\n\t\t\t\t\t\t\t\t\tPromise.resolve(this.request[key]).then(\r\n\t\t\t\t\t\t\t\t\t\t(val) => (this.request[key] = val),\r\n\t\t\t\t\t\t\t\t\t\t() => (this.request[key] = this.requestClone[key])\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t)\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t\t\treturn Promise.all(promises);\r\n\t\t}\r\n\t\twaitForResponseKeys(response) {\r\n\t\t\tconst responseKeys =\r\n\t\t\t\tthis.request.type === \"xhr\" ? xhrResponses : fetchResponses;\r\n\t\t\tif (!this.request.async) {\r\n\t\t\t\tif (getType(this.request.response) === \"[object Function]\") {\r\n\t\t\t\t\tcatchError(this.request.response, response);\r\n\t\t\t\t\tresponseKeys.forEach((key) => {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\"get\" in getDescriptor(response, key) ||\r\n\t\t\t\t\t\t\tisThenable(response[key])\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tdelete response[key];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn new SyncThenable();\r\n\t\t\t}\r\n\t\t\treturn Promise.resolve(catchError(this.request.response, response)).then(\r\n\t\t\t\t() =>\r\n\t\t\t\t\tPromise.all(\r\n\t\t\t\t\t\tresponseKeys.map((key) => {\r\n\t\t\t\t\t\t\tconst descriptor = getDescriptor(response, key);\r\n\t\t\t\t\t\t\tif (descriptor && \"value\" in descriptor) {\r\n\t\t\t\t\t\t\t\treturn Promise.resolve(descriptor.value).then(\r\n\t\t\t\t\t\t\t\t\t(val) => (response[key] = val),\r\n\t\t\t\t\t\t\t\t\t() => delete response[key]\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tdelete response[key];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\tconst proxyHandler = {\r\n\t\tget(target, prop) {\r\n\t\t\tconst descriptor = getDescriptor(target, prop);\r\n\t\t\tif (\r\n\t\t\t\tdescriptor &&\r\n\t\t\t\t!descriptor.configurable &&\r\n\t\t\t\t!descriptor.writable &&\r\n\t\t\t\t!descriptor.get\r\n\t\t\t)\r\n\t\t\t\treturn target[prop];\r\n\t\t\tconst ah = target.__ajaxHooker;\r\n\t\t\tif (ah && ah.proxyProps) {\r\n\t\t\t\tif (prop in ah.proxyProps) {\r\n\t\t\t\t\tconst pDescriptor = ah.proxyProps[prop];\r\n\t\t\t\t\tif (\"get\" in pDescriptor) return pDescriptor.get();\r\n\t\t\t\t\tif (typeof pDescriptor.value === \"function\")\r\n\t\t\t\t\t\treturn pDescriptor.value.bind(ah);\r\n\t\t\t\t\treturn pDescriptor.value;\r\n\t\t\t\t}\r\n\t\t\t\tif (typeof target[prop] === \"function\")\r\n\t\t\t\t\treturn target[prop].bind(target);\r\n\t\t\t}\r\n\t\t\treturn target[prop];\r\n\t\t},\r\n\t\tset(target, prop, value) {\r\n\t\t\tconst descriptor = getDescriptor(target, prop);\r\n\t\t\tif (\r\n\t\t\t\tdescriptor &&\r\n\t\t\t\t!descriptor.configurable &&\r\n\t\t\t\t!descriptor.writable &&\r\n\t\t\t\t!descriptor.set\r\n\t\t\t)\r\n\t\t\t\treturn true;\r\n\t\t\tconst ah = target.__ajaxHooker;\r\n\t\t\tif (ah && ah.proxyProps && prop in ah.proxyProps) {\r\n\t\t\t\tconst pDescriptor = ah.proxyProps[prop];\r\n\t\t\t\tpDescriptor.set ? pDescriptor.set(value) : (pDescriptor.value = value);\r\n\t\t\t} else {\r\n\t\t\t\ttarget[prop] = value;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t},\r\n\t};\r\n\tclass XhrHooker {\r\n\t\tconstructor(xhr) {\r\n\t\t\tconst ah = this;\r\n\t\t\tObject.assign(ah, {\r\n\t\t\t\toriginalXhr: xhr,\r\n\t\t\t\tproxyXhr: new Proxy(xhr, proxyHandler),\r\n\t\t\t\tresThenable: new SyncThenable(),\r\n\t\t\t\tproxyProps: {},\r\n\t\t\t\tproxyEvents: {},\r\n\t\t\t});\r\n\t\t\txhr.addEventListener(\"readystatechange\", (e) => {\r\n\t\t\t\tif (\r\n\t\t\t\t\tah.proxyXhr.readyState === 4 &&\r\n\t\t\t\t\tah.request &&\r\n\t\t\t\t\ttypeof ah.request.response === \"function\"\r\n\t\t\t\t) {\r\n\t\t\t\t\tconst response = {\r\n\t\t\t\t\t\tfinalUrl: ah.proxyXhr.responseURL,\r\n\t\t\t\t\t\tstatus: ah.proxyXhr.status,\r\n\t\t\t\t\t\tresponseHeaders: parseHeaders(ah.proxyXhr.getAllResponseHeaders()),\r\n\t\t\t\t\t};\r\n\t\t\t\t\tconst tempValues = {};\r\n\t\t\t\t\tfor (const key of xhrResponses) {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\ttempValues[key] = ah.originalXhr[key];\r\n\t\t\t\t\t\t} catch (err) {}\r\n\t\t\t\t\t\tdefineProp(\r\n\t\t\t\t\t\t\tresponse,\r\n\t\t\t\t\t\t\tkey,\r\n\t\t\t\t\t\t\t() => {\r\n\t\t\t\t\t\t\t\treturn (response[key] = tempValues[key]);\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t(val) => {\r\n\t\t\t\t\t\t\t\tdelete response[key];\r\n\t\t\t\t\t\t\t\tresponse[key] = val;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tah.resThenable = new AHRequest(ah.request)\r\n\t\t\t\t\t\t.waitForResponseKeys(response)\r\n\t\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\t\tfor (const key of xhrResponses) {\r\n\t\t\t\t\t\t\t\tah.proxyProps[key] = {\r\n\t\t\t\t\t\t\t\t\tget: () => {\r\n\t\t\t\t\t\t\t\t\t\tif (!(key in response)) response[key] = tempValues[key];\r\n\t\t\t\t\t\t\t\t\t\treturn response[key];\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tah.dispatchEvent(e);\r\n\t\t\t});\r\n\t\t\txhr.addEventListener(\"load\", (e) => ah.dispatchEvent(e));\r\n\t\t\txhr.addEventListener(\"loadend\", (e) => ah.dispatchEvent(e));\r\n\t\t\tfor (const evt of xhrAsyncEvents) {\r\n\t\t\t\tconst onEvt = \"on\" + evt;\r\n\t\t\t\tah.proxyProps[onEvt] = {\r\n\t\t\t\t\tget: () => ah.proxyEvents[onEvt] || null,\r\n\t\t\t\t\tset: (val) => ah.addEvent(onEvt, val),\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tfor (const method of [\r\n\t\t\t\t\"setRequestHeader\",\r\n\t\t\t\t\"addEventListener\",\r\n\t\t\t\t\"removeEventListener\",\r\n\t\t\t\t\"open\",\r\n\t\t\t\t\"send\",\r\n\t\t\t]) {\r\n\t\t\t\tah.proxyProps[method] = { value: ah[method] };\r\n\t\t\t}\r\n\t\t}\r\n\t\ttoJSON() {} // Converting circular structure to JSON\r\n\t\taddEvent(type, event) {\r\n\t\t\tif (type.startsWith(\"on\")) {\r\n\t\t\t\tthis.proxyEvents[type] = typeof event === \"function\" ? event : null;\r\n\t\t\t} else {\r\n\t\t\t\tif (typeof event === \"object\" && event !== null)\r\n\t\t\t\t\tevent = event.handleEvent;\r\n\t\t\t\tif (typeof event !== \"function\") return;\r\n\t\t\t\tthis.proxyEvents[type] = this.proxyEvents[type] || new Set();\r\n\t\t\t\tthis.proxyEvents[type].add(event);\r\n\t\t\t}\r\n\t\t}\r\n\t\tremoveEvent(type, event) {\r\n\t\t\tif (type.startsWith(\"on\")) {\r\n\t\t\t\tthis.proxyEvents[type] = null;\r\n\t\t\t} else {\r\n\t\t\t\tif (typeof event === \"object\" && event !== null)\r\n\t\t\t\t\tevent = event.handleEvent;\r\n\t\t\t\tthis.proxyEvents[type] && this.proxyEvents[type].delete(event);\r\n\t\t\t}\r\n\t\t}\r\n\t\tdispatchEvent(e) {\r\n\t\t\te.stopImmediatePropagation = stopImmediatePropagation;\r\n\t\t\tdefineProp(e, \"target\", () => this.proxyXhr);\r\n\t\t\tthis.proxyEvents[e.type] &&\r\n\t\t\t\tthis.proxyEvents[e.type].forEach((fn) => {\r\n\t\t\t\t\tthis.resThenable.then(\r\n\t\t\t\t\t\t() => !e.ajaxHooker_isStopped && fn.call(this.proxyXhr, e)\r\n\t\t\t\t\t);\r\n\t\t\t\t});\r\n\t\t\tif (e.ajaxHooker_isStopped) return;\r\n\t\t\tconst onEvent = this.proxyEvents[\"on\" + e.type];\r\n\t\t\tonEvent && this.resThenable.then(onEvent.bind(this.proxyXhr, e));\r\n\t\t}\r\n\t\tsetRequestHeader(header, value) {\r\n\t\t\tthis.originalXhr.setRequestHeader(header, value);\r\n\t\t\tif (this.originalXhr.readyState !== 1) return;\r\n\t\t\tconst headers = this.request.headers;\r\n\t\t\theaders[header] =\r\n\t\t\t\theader in headers ? `${headers[header]}, ${value}` : value;\r\n\t\t}\r\n\t\taddEventListener(...args) {\r\n\t\t\tif (xhrAsyncEvents.includes(args[0])) {\r\n\t\t\t\tthis.addEvent(args[0], args[1]);\r\n\t\t\t} else {\r\n\t\t\t\tthis.originalXhr.addEventListener(...args);\r\n\t\t\t}\r\n\t\t}\r\n\t\tremoveEventListener(...args) {\r\n\t\t\tif (xhrAsyncEvents.includes(args[0])) {\r\n\t\t\t\tthis.removeEvent(args[0], args[1]);\r\n\t\t\t} else {\r\n\t\t\t\tthis.originalXhr.removeEventListener(...args);\r\n\t\t\t}\r\n\t\t}\r\n\t\topen(method, url, async = true, ...args) {\r\n\t\t\tthis.request = {\r\n\t\t\t\ttype: \"xhr\",\r\n\t\t\t\turl: url.toString(),\r\n\t\t\t\tmethod: method.toUpperCase(),\r\n\t\t\t\tabort: false,\r\n\t\t\t\theaders: {},\r\n\t\t\t\tdata: null,\r\n\t\t\t\tresponse: null,\r\n\t\t\t\tasync: !!async,\r\n\t\t\t};\r\n\t\t\tthis.openArgs = args;\r\n\t\t\tthis.resThenable = new SyncThenable();\r\n\t\t\t[\r\n\t\t\t\t\"responseURL\",\r\n\t\t\t\t\"readyState\",\r\n\t\t\t\t\"status\",\r\n\t\t\t\t\"statusText\",\r\n\t\t\t\t...xhrResponses,\r\n\t\t\t].forEach((key) => {\r\n\t\t\t\tdelete this.proxyProps[key];\r\n\t\t\t});\r\n\t\t\treturn this.originalXhr.open(method, url, async, ...args);\r\n\t\t}\r\n\t\tsend(data) {\r\n\t\t\tconst ah = this;\r\n\t\t\tconst xhr = ah.originalXhr;\r\n\t\t\tconst request = ah.request;\r\n\t\t\tif (!request) return xhr.send(data);\r\n\t\t\trequest.data = data;\r\n\t\t\tnew AHRequest(request).waitForRequestKeys().then(() => {\r\n\t\t\t\tif (request.abort) {\r\n\t\t\t\t\tif (typeof request.response === \"function\") {\r\n\t\t\t\t\t\tObject.assign(ah.proxyProps, {\r\n\t\t\t\t\t\t\tresponseURL: { value: request.url },\r\n\t\t\t\t\t\t\treadyState: { value: 4 },\r\n\t\t\t\t\t\t\tstatus: { value: 200 },\r\n\t\t\t\t\t\t\tstatusText: { value: \"OK\" },\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\txhrAsyncEvents.forEach((evt) => xhr.dispatchEvent(new Event(evt)));\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\txhr.open(request.method, request.url, request.async, ...ah.openArgs);\r\n\t\t\t\t\tfor (const header in request.headers) {\r\n\t\t\t\t\t\txhr.setRequestHeader(header, request.headers[header]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\txhr.send(request.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\tfunction fakeXHR() {\r\n\t\tconst xhr = new winAh.realXHR();\r\n\t\tif (\"__ajaxHooker\" in xhr)\r\n\t\t\tconsole.warn(\"检测到不同版本的ajaxHooker,可能发生冲突!\");\r\n\t\txhr.__ajaxHooker = new XhrHooker(xhr);\r\n\t\treturn xhr.__ajaxHooker.proxyXhr;\r\n\t}\r\n\tfakeXHR.prototype = win.XMLHttpRequest.prototype;\r\n\tObject.keys(win.XMLHttpRequest).forEach(\r\n\t\t(key) => (fakeXHR[key] = win.XMLHttpRequest[key])\r\n\t);\r\n\tfunction fakeFetch(url, options = {}) {\r\n\t\tif (!url) return winAh.realFetch.call(win, url, options);\r\n\t\tconst init = {};\r\n\t\tif (getType(url) === \"[object Request]\") {\r\n\t\t\tfor (const prop of fetchInitProps) init[prop] = url[prop];\r\n\t\t\turl = url.url;\r\n\t\t}\r\n\t\turl = url.toString();\r\n\t\tObject.assign(init, options);\r\n\t\tinit.method = init.method || \"GET\";\r\n\t\tinit.headers = init.headers || {};\r\n\t\tconst request = {\r\n\t\t\ttype: \"fetch\",\r\n\t\t\turl: url,\r\n\t\t\tmethod: init.method.toUpperCase(),\r\n\t\t\tabort: false,\r\n\t\t\theaders: parseHeaders(init.headers),\r\n\t\t\tdata: init.body,\r\n\t\t\tresponse: null,\r\n\t\t\tasync: true,\r\n\t\t};\r\n\t\tconst req = new AHRequest(request);\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\treq\r\n\t\t\t\t.waitForRequestKeys()\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tif (request.abort) {\r\n\t\t\t\t\t\tif (typeof request.response === \"function\") {\r\n\t\t\t\t\t\t\tconst response = {\r\n\t\t\t\t\t\t\t\tfinalUrl: request.url,\r\n\t\t\t\t\t\t\t\tstatus: 200,\r\n\t\t\t\t\t\t\t\tresponseHeaders: {},\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\treq.waitForResponseKeys(response).then(() => {\r\n\t\t\t\t\t\t\t\tconst key = fetchResponses.find((k) => k in response);\r\n\t\t\t\t\t\t\t\tlet val = response[key];\r\n\t\t\t\t\t\t\t\tif (key === \"json\" && typeof val === \"object\") {\r\n\t\t\t\t\t\t\t\t\tval = catchError(JSON.stringify.bind(JSON), val);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tconst res = new Response(val, {\r\n\t\t\t\t\t\t\t\t\tstatus: 200,\r\n\t\t\t\t\t\t\t\t\tstatusText: \"OK\",\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tdefineProp(res, \"type\", () => \"basic\");\r\n\t\t\t\t\t\t\t\tdefineProp(res, \"url\", () => request.url);\r\n\t\t\t\t\t\t\t\tresolve(res);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treject(new DOMException(\"aborted\", \"AbortError\"));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tinit.method = request.method;\r\n\t\t\t\t\tinit.headers = request.headers;\r\n\t\t\t\t\tinit.body = request.data;\r\n\t\t\t\t\twinAh.realFetch.call(win, request.url, init).then((res) => {\r\n\t\t\t\t\t\tif (typeof request.response === \"function\") {\r\n\t\t\t\t\t\t\tconst response = {\r\n\t\t\t\t\t\t\t\tfinalUrl: res.url,\r\n\t\t\t\t\t\t\t\tstatus: res.status,\r\n\t\t\t\t\t\t\t\tresponseHeaders: parseHeaders(res.headers),\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tfetchResponses.forEach(\r\n\t\t\t\t\t\t\t\t(key) =>\r\n\t\t\t\t\t\t\t\t\t(res[key] = function () {\r\n\t\t\t\t\t\t\t\t\t\tif (key in response) return Promise.resolve(response[key]);\r\n\t\t\t\t\t\t\t\t\t\treturn resProto[key].call(this).then((val) => {\r\n\t\t\t\t\t\t\t\t\t\t\tresponse[key] = val;\r\n\t\t\t\t\t\t\t\t\t\t\treturn req\r\n\t\t\t\t\t\t\t\t\t\t\t\t.waitForResponseKeys(response)\r\n\t\t\t\t\t\t\t\t\t\t\t\t.then(() => (key in response ? response[key] : val));\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tresolve(res);\r\n\t\t\t\t\t}, reject);\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tconsole.error(err);\r\n\t\t\t\t\tresolve(winAh.realFetch.call(win, url, init));\r\n\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\tfunction fakeFetchClone() {\r\n\t\tconst descriptors = Object.getOwnPropertyDescriptors(this);\r\n\t\tconst res = winAh.realFetchClone.call(this);\r\n\t\tObject.defineProperties(res, descriptors);\r\n\t\treturn res;\r\n\t}\r\n\twinAh = win.__ajaxHooker = winAh || {\r\n\t\tversion,\r\n\t\tfakeXHR,\r\n\t\tfakeFetch,\r\n\t\tfakeFetchClone,\r\n\t\trealXHR: win.XMLHttpRequest,\r\n\t\trealFetch: win.fetch,\r\n\t\trealFetchClone: resProto.clone,\r\n\t\thookInsts: new Set(),\r\n\t};\r\n\tif (winAh.version !== version)\r\n\t\tconsole.warn(\"检测到不同版本的ajaxHooker,可能发生冲突!\");\r\n\twin.XMLHttpRequest = winAh.fakeXHR;\r\n\twin.fetch = winAh.fakeFetch;\r\n\tresProto.clone = winAh.fakeFetchClone;\r\n\twinAh.hookInsts.add(hookInst);\r\n\treturn {\r\n\t\thook: (fn) => hookInst.hookFns.push(fn),\r\n\t\tfilter: (arr) => {\r\n\t\t\tif (Array.isArray(arr)) hookInst.filters = arr;\r\n\t\t},\r\n\t\tprotect: () => {\r\n\t\t\treadonly(win, \"XMLHttpRequest\", winAh.fakeXHR);\r\n\t\t\treadonly(win, \"fetch\", winAh.fakeFetch);\r\n\t\t\treadonly(resProto, \"clone\", winAh.fakeFetchClone);\r\n\t\t},\r\n\t\tunhook: () => {\r\n\t\t\twinAh.hookInsts.delete(hookInst);\r\n\t\t\tif (!winAh.hookInsts.size) {\r\n\t\t\t\twritable(win, \"XMLHttpRequest\", winAh.realXHR);\r\n\t\t\t\twritable(win, \"fetch\", winAh.realFetch);\r\n\t\t\t\twritable(resProto, \"clone\", winAh.realFetchClone);\r\n\t\t\t\tdelete win.__ajaxHooker;\r\n\t\t\t}\r\n\t\t},\r\n\t};\r\n})();\r\n\r\nexport { ajaxHooker };\r\n","/**\r\n * \r\n * @param {UtilsGMMenuConstructorOptions} details \r\n */\r\nconst GMMenu = function (details) {\r\n\tconst GM_Api = {\r\n\t\t/**\r\n\t\t * 获取存储的数据\r\n\t\t * @type {GM_getValue}\r\n\t\t */\r\n\t\tgetValue: details.GM_getValue,\r\n\t\t/**\r\n\t\t * 设置数据到存储\r\n\t\t * @type {GM_setValue}\r\n\t\t */\r\n\t\tsetValue: details.GM_setValue,\r\n\t\t/**\r\n\t\t * 注册菜单\r\n\t\t * @type {GM_registerMenuCommand}\r\n\t\t */\r\n\t\tregisterMenuCommand: details.GM_registerMenuCommand,\r\n\t\t/**\r\n\t\t * 卸载菜单\r\n\t\t * @type {GM_unregisterMenuCommand}\r\n\t\t */\r\n\t\tunregisterMenuCommand: details.GM_unregisterMenuCommand,\r\n\t};\r\n\tfor (const keyName of Object.keys(GM_Api)) {\r\n\t\tif (typeof GM_Api[keyName] !== \"function\") {\r\n\t\t\tthrow new Error(\r\n\t\t\t\t`Utils.GM_Menu 请在脚本开头加上 @grant ${keyName},且传入该对象`\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\t/** 上下文 */\r\n\tconst context = this;\r\n\r\n\tconst MenuHandle = {\r\n\t\t$data: {\r\n\t\t\t/**\r\n\t\t\t * 菜单数据\r\n\t\t\t * @type {UtilsGMMenuOptionData[]}\r\n\t\t\t */\r\n\t\t\tdata: [],\r\n\t\t\t/**\r\n\t\t\t * 本地存储的键名\r\n\t\t\t */\r\n\t\t\tkey: \"GM_Menu_Local_Map\",\r\n\t\t},\r\n\t\t$default: {\r\n\t\t\t/** 自动刷新网页,默认为true */\r\n\t\t\tautoReload:\r\n\t\t\t\ttypeof details.autoReload === \"boolean\" ? details.autoReload : true,\r\n\t\t\t/**\r\n\t\t\t * 菜单isStoreValue的默认值\r\n\t\t\t */\r\n\t\t\tisStoreValue: true,\r\n\t\t},\r\n\t\t$emoji: {\r\n\t\t\t/**\r\n\t\t\t * 菜单enable为true的emoji\r\n\t\t\t */\r\n\t\t\tsuccess: \"✅\",\r\n\t\t\t/**\r\n\t\t\t * 菜单enable为false的emoji\r\n\t\t\t */\r\n\t\t\terror: \"❌\",\r\n\t\t},\r\n\t\t/**\r\n\t\t * 初始化数据\r\n\t\t */\r\n\t\tinit() {\r\n\t\t\tfor (let index = 0; index < this.$data.data.length; index++) {\r\n\t\t\t\tlet menuOption = this.$data.data[index][\"data\"];\r\n\t\t\t\tmenuOption.enable = Boolean(\r\n\t\t\t\t\tthis.getLocalMenuData(menuOption.key, menuOption.enable)\r\n\t\t\t\t);\r\n\t\t\t\tif (typeof menuOption.showText !== \"function\") {\r\n\t\t\t\t\tmenuOption.showText = (menuText, menuEnable) => {\r\n\t\t\t\t\t\tif (menuEnable) {\r\n\t\t\t\t\t\t\treturn this.$emoji.success + \" \" + menuText;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn this.$emoji.error + \" \" + menuText;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * 注册油猴菜单\r\n\t\t * @param { ?UtilsGMMenuOptionData[] } menuOptions 如果存在,使用它\r\n\t\t */\r\n\t\tregister(menuOptions) {\r\n\t\t\tif (menuOptions == null) {\r\n\t\t\t\tthrow new TypeError(\"register菜单数据不能为空\");\r\n\t\t\t}\r\n\t\t\tif (!Array.isArray(menuOptions)) {\r\n\t\t\t\tmenuOptions = [menuOptions];\r\n\t\t\t}\r\n\t\t\tfor (let index = 0; index < menuOptions.length; index++) {\r\n\t\t\t\tlet cloneMenuOptionData = Utils.deepClone(menuOptions[index].data);\r\n\t\t\t\tconst { showText, clickCallBack } =\r\n\t\t\t\t\tthis.handleMenuData(cloneMenuOptionData);\r\n\t\t\t\tlet menuId = GM_Api.registerMenuCommand(showText, clickCallBack);\r\n\t\t\t\tmenuOptions[index].id = menuId;\r\n\t\t\t\tcloneMenuOptionData.deleteMenu = function () {\r\n\t\t\t\t\tGM_Api.unregisterMenuCommand(menuId);\r\n\t\t\t\t};\r\n\t\t\t\tReflect.deleteProperty(menuOptions[index], \"handleData\");\r\n\t\t\t\tmenuOptions[index].handleData = cloneMenuOptionData;\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * 获取本地存储菜单键值\r\n\t\t * @param {string} key 键\r\n\t\t * @returns {boolean}\r\n\t\t */\r\n\t\tgetLocalMenuData(key, defaultValue) {\r\n\t\t\tlet localData = GM_Api.getValue(this.$data.key, {});\r\n\t\t\tif (key in localData) {\r\n\t\t\t\treturn localData[key];\r\n\t\t\t} else {\r\n\t\t\t\treturn defaultValue;\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * 设置本地存储菜单键值\r\n\t\t * @param {string} key 键\r\n\t\t * @param {boolean} value 值\r\n\t\t */\r\n\t\tsetLocalMenuData(key, value) {\r\n\t\t\tlet localData = GM_Api.getValue(this.$data.key, {});\r\n\t\t\tlocalData[key] = value;\r\n\t\t\tGM_Api.setValue(this.$data.key, localData);\r\n\t\t},\r\n\t\t/**\r\n\t\t * 处理初始化配置\r\n\t\t * @param { UtilsGMMenuOption } menuOption\r\n\t\t */\r\n\t\thandleInitDetail(menuOption) {\r\n\t\t\tmenuOption.enable = Boolean(\r\n\t\t\t\tthis.getLocalMenuData(menuOption.key, menuOption.enable)\r\n\t\t\t);\r\n\t\t\tif (typeof menuOption.showText !== \"function\") {\r\n\t\t\t\tmenuOption.showText = (menuText, menuEnable) => {\r\n\t\t\t\t\tif (menuEnable) {\r\n\t\t\t\t\t\treturn this.$emoji.success + \" \" + menuText;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn this.$emoji.error + \" \" + menuText;\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn menuOption;\r\n\t\t},\r\n\t\t/**\r\n\t\t * 对菜单数据进行处理\r\n\t\t * @param { UtilsGMMenuOption } menuOption\r\n\t\t */\r\n\t\thandleMenuData(menuOption) {\r\n\t\t\tlet menuLocalDataItemKey = menuOption.key;\r\n\t\t\t/* 菜单默认开启的状态 */\r\n\t\t\tlet defaultEnable = Boolean(\r\n\t\t\t\tthis.getLocalMenuData(menuLocalDataItemKey, menuOption.enable)\r\n\t\t\t);\r\n\t\t\t/** 油猴菜单上显示的文本 */\r\n\t\t\tlet showText = menuOption.showText(menuOption.text, defaultEnable);\r\n\t\t\tconst that = this;\r\n\t\t\tconst GMMenuOptions = {\r\n\t\t\t\t/**\r\n\t\t\t\t * 菜单的id\r\n\t\t\t\t */\r\n\t\t\t\tid: menuOption.id,\r\n\t\t\t\t/**\r\n\t\t\t\t * 点击菜单项后是否应关闭弹出菜单\r\n\t\t\t\t */\r\n\t\t\t\tautoClose: menuOption.autoClose,\r\n\t\t\t\t/**\r\n\t\t\t\t * 菜单项的可选访问键\r\n\t\t\t\t */\r\n\t\t\t\taccessKey: menuOption.accessKey,\r\n\t\t\t\t/**\r\n\t\t\t\t * 菜单项的鼠标悬浮上的工具提示\r\n\t\t\t\t */\r\n\t\t\t\ttitle: menuOption.title,\r\n\t\t\t};\r\n\t\t\t/* 点击菜单后触发callback后的网页是否刷新 */\r\n\t\t\tmenuOption.autoReload =\r\n\t\t\t\ttypeof menuOption.autoReload !== \"boolean\"\r\n\t\t\t\t\t? this.$default.autoReload\r\n\t\t\t\t\t: menuOption.autoReload;\r\n\t\t\t/* 点击菜单后触发callback后的网页是否存储值 */\r\n\t\t\tmenuOption.isStoreValue =\r\n\t\t\t\ttypeof menuOption.isStoreValue !== \"boolean\"\r\n\t\t\t\t\t? this.$default.isStoreValue\r\n\t\t\t\t\t: menuOption.isStoreValue;\r\n\t\t\t/**\r\n\t\t\t * 用户点击菜单后的回调函数\r\n\t\t\t * @param {MouseEvent|PointerEvent} event\r\n\t\t\t */\r\n\t\t\tfunction clickCallBack(event) {\r\n\t\t\t\tlet localEnable = Boolean(\r\n\t\t\t\t\tthat.getLocalMenuData(menuLocalDataItemKey, defaultEnable)\r\n\t\t\t\t);\r\n\t\t\t\tif (menuOption.isStoreValue) {\r\n\t\t\t\t\tthat.setLocalMenuData(menuLocalDataItemKey, !localEnable);\r\n\t\t\t\t}\r\n\t\t\t\tif (typeof menuOption.callback === \"function\") {\r\n\t\t\t\t\tmenuOption.callback({\r\n\t\t\t\t\t\tkey: menuLocalDataItemKey,\r\n\t\t\t\t\t\tenable: !localEnable,\r\n\t\t\t\t\t\toldEnable: localEnable,\r\n\t\t\t\t\t\tevent: event,\r\n\t\t\t\t\t\tstoreValue(value) {\r\n\t\t\t\t\t\t\tthat.setLocalMenuData(menuLocalDataItemKey, value);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\t/* 不刷新网页就刷新菜单 */\r\n\t\t\t\tif (menuOption.autoReload) {\r\n\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcontext.update();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tshowText,\r\n\t\t\t\tclickCallBack,\r\n\t\t\t};\r\n\t\t},\r\n\t\t/**\r\n\t\t * 获取目标菜单配置数据\r\n\t\t * @param {string} menuKey 菜单-键key\r\n\t\t */\r\n\t\tgetMenuData(menuKey) {\r\n\t\t\treturn this.$data.data.find((item) => item.data.key === menuKey);\r\n\t\t},\r\n\t\t/**\r\n\t\t * 获取目标菜单配置\r\n\t\t * @param {string} menuKey 菜单-键key\r\n\t\t */\r\n\t\tgetMenuOption(menuKey) {\r\n\t\t\treturn this.$data.data.find((item) => item.data.key === menuKey)?.data;\r\n\t\t},\r\n\t\t/**\r\n\t\t * 获取目标菜单处理后的配置\r\n\t\t * @param {string} menuKey 菜单-键key\r\n\t\t */\r\n\t\tgetMenuHandledOption(menuKey) {\r\n\t\t\treturn this.$data.data.find((item) => item.handleData.key === menuKey)\r\n\t\t\t\t?.handleData;\r\n\t\t},\r\n\t};\r\n\r\n\t/**\r\n\t * 新增菜单数据\r\n\t * @param {UtilsGMMenuOption[]|UtilsGMMenuOption} paramData\r\n\t */\r\n\tthis.add = function (paramData) {\r\n\t\tif (Array.isArray(paramData)) {\r\n\t\t\tfor (const _paramData of paramData) {\r\n\t\t\t\tMenuHandle.$data.data.push({\r\n\t\t\t\t\tdata: _paramData,\r\n\t\t\t\t\tid: void 0,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tMenuHandle.$data.data.push({\r\n\t\t\t\tdata: paramData,\r\n\t\t\t\tid: void 0,\r\n\t\t\t});\r\n\t\t}\r\n\t\tthis.update();\r\n\t};\r\n\t/**\r\n\t * 更新菜单数据\r\n\t * @param { ?UtilsGMMenuOption[]|UtilsGMMenuOption } options 数据\r\n\t */\r\n\tthis.update = function (options) {\r\n\t\t/**\r\n\t\t * @type {UtilsGMMenuOption[]}\r\n\t\t */\r\n\t\tlet optionsList = [];\r\n\t\tif (Array.isArray(options)) {\r\n\t\t\toptionsList = [...optionsList, ...options];\r\n\t\t} else if (options != null) {\r\n\t\t\toptionsList = [...optionsList, options];\r\n\t\t}\r\n\t\toptionsList.forEach((item) => {\r\n\t\t\tlet targetMenu = MenuHandle.getMenuOption(item.key);\r\n\t\t\tif (targetMenu) {\r\n\t\t\t\tObject.assign(targetMenu, item);\r\n\t\t\t}\r\n\t\t});\r\n\t\tMenuHandle.$data.data.forEach((value) => {\r\n\t\t\tif (value.handleData) {\r\n\t\t\t\tvalue.handleData.deleteMenu();\r\n\t\t\t}\r\n\t\t});\r\n\t\tMenuHandle.init();\r\n\t\tMenuHandle.register(MenuHandle.$data.data);\r\n\t};\r\n\t/**\r\n\t * 卸载菜单\r\n\t * @param {number} menuId 已注册的菜单id\r\n\t */\r\n\tthis.delete = function (menuId) {\r\n\t\tGM_Api.unregisterMenuCommand(menuId);\r\n\t};\r\n\t/**\r\n\t * 根据键值获取enable值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {boolean}\r\n\t */\r\n\tthis.get = function (menuKey) {\r\n\t\treturn this.getEnable(menuKey);\r\n\t};\r\n\t/**\r\n\t * 根据键值获取enable值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {boolean}\r\n\t */\r\n\tthis.getEnable = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).enable;\r\n\t};\r\n\t/**\r\n\t * 根据键值获取text值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {string}\r\n\t */\r\n\tthis.getText = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).text;\r\n\t};\r\n\t/**\r\n\t * 根据键值获取showText函数的值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {string}\r\n\t */\r\n\tthis.getShowTextValue = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).showText(\r\n\t\t\tthis.getText(menuKey),\r\n\t\t\tthis.get(menuKey)\r\n\t\t);\r\n\t};\r\n\t/**\r\n\t * 获取当前已注册菜单的id\r\n\t * @param {string} menuKey\r\n\t * @returns {?number}\r\n\t */\r\n\tthis.getMenuId = function (menuKey) {\r\n\t\tlet result = null;\r\n\t\tfor (let index = 0; index < MenuHandle.$data.data.length; index++) {\r\n\t\t\tconst optionData = MenuHandle.$data.data[index];\r\n\t\t\tif (optionData.handleData.key === menuKey) {\r\n\t\t\t\tresult = optionData.id;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t};\r\n\t/**\r\n\t * 根据键值获取accessKey值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {?string}\r\n\t */\r\n\tthis.getAccessKey = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).accessKey;\r\n\t};\r\n\t/**\r\n\t * 根据键值获取autoClose值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {?boolean}\r\n\t */\r\n\tthis.getAutoClose = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).autoClose;\r\n\t};\r\n\t/**\r\n\t * 根据键值获取autoReload值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {boolean}\r\n\t */\r\n\tthis.getAutoReload = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).autoReload;\r\n\t};\r\n\t/**\r\n\t * 根据键值获取callback函数\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {?Function}\r\n\t */\r\n\tthis.getCallBack = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).callback;\r\n\t};\r\n\t/**\r\n\t * 获取当enable为true时默认显示在菜单中前面的emoji图标\r\n\t * @returns {string}\r\n\t */\r\n\tthis.getEnableTrueEmoji = function () {\r\n\t\treturn MenuHandle.$emoji.success;\r\n\t};\r\n\t/**\r\n\t * 获取当enable为false时默认显示在菜单中前面的emoji图标\r\n\t * @returns {string}\r\n\t */\r\n\tthis.getEnableFalseEmoji = function () {\r\n\t\treturn MenuHandle.$emoji.error;\r\n\t};\r\n\t/**\r\n\t * 获取本地存储的菜单外部的键名\r\n\t * @param {string} keyName\r\n\t */\r\n\tthis.getLocalStorageKeyName = function () {\r\n\t\treturn MenuHandle.$data.key;\r\n\t};\r\n\t/**\r\n\t * 设置菜单的值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @param {any} value 需要设置的值\r\n\t */\r\n\tthis.setValue = function (menuKey, value) {\r\n\t\tMenuHandle.setLocalMenuData(menuKey, value);\r\n\t};\r\n\t/**\r\n\t * 设置菜单的值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @param {boolean} value 需要设置的值\r\n\t */\r\n\tthis.setEnable = function (menuKey, value) {\r\n\t\tthis.setValue(menuKey, Boolean(value));\r\n\t};\r\n\t/**\r\n\t * 设置当enable为true时默认显示在菜单中前面的emoji图标\r\n\t * @param {string} emojiString\r\n\t */\r\n\tthis.setEnableTrueEmoji = function (emojiString) {\r\n\t\tif (typeof emojiString !== \"string\") {\r\n\t\t\tthrow new Error(\"参数emojiString必须是string类型\");\r\n\t\t}\r\n\t\tMenuHandle.$emoji.success = emojiString;\r\n\t};\r\n\t/**\r\n\t * 设置当enable为false时默认显示在菜单中前面的emoji图标\r\n\t * @param {string} emojiString\r\n\t */\r\n\tthis.setEnableFalseEmoji = function (emojiString) {\r\n\t\tif (typeof emojiString !== \"string\") {\r\n\t\t\tthrow new Error(\"参数emojiString必须是string类型\");\r\n\t\t}\r\n\t\tMenuHandle.$emoji.error = emojiString;\r\n\t};\r\n\t/**\r\n\t * 设置本地存储的菜单外部的键名\r\n\t * @param {string} keyName\r\n\t */\r\n\tthis.setLocalStorageKeyName = function (keyName) {\r\n\t\tif (typeof keyName !== \"string\") {\r\n\t\t\tthrow new Error(\"参数keyName必须是string类型\");\r\n\t\t}\r\n\t\tMenuHandle.$data.key = keyName;\r\n\t};\r\n\r\n\tthis.add(details?.data || []);\r\n};\r\n\r\nexport { GMMenu };\r\n","const Hooks = function () {\r\n\tthis.initEnv = function () {\r\n\t\tFunction.prototype.hook = function (realFunc, hookFunc, context) {\r\n\t\t\tlet _context = null; //函数上下文\r\n\t\t\tlet _funcName = null; //函数名\r\n\r\n\t\t\t_context = context || window;\r\n\t\t\t_funcName = getFuncName(this);\r\n\t\t\t_context[\"realFunc_\" + _funcName] = this;\r\n\r\n\t\t\tif (\r\n\t\t\t\t_context[_funcName].prototype &&\r\n\t\t\t\t_context[_funcName].prototype.isHooked\r\n\t\t\t) {\r\n\t\t\t\tconsole.log(\"Already has been hooked,unhook first\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tfunction getFuncName(fn) {\r\n\t\t\t\t// 获取函数名\r\n\t\t\t\tlet strFunc = fn.toString();\r\n\t\t\t\tlet _regex = /function\\s+(\\w+)\\s*\\(/;\r\n\t\t\t\tlet patten = strFunc.match(_regex);\r\n\t\t\t\tif (patten) {\r\n\t\t\t\t\treturn patten[1];\r\n\t\t\t\t}\r\n\t\t\t\treturn \"\";\r\n\t\t\t}\r\n\t\t\ttry {\r\n\t\t\t\teval(\r\n\t\t\t\t\t\"_context[_funcName] = function \" +\r\n\t\t\t\t\t\t_funcName +\r\n\t\t\t\t\t\t\"(){\\n\" +\r\n\t\t\t\t\t\t\"let args = Array.prototype.slice.call(arguments,0);\\n\" +\r\n\t\t\t\t\t\t\"let obj = this;\\n\" +\r\n\t\t\t\t\t\t\"hookFunc.apply(obj,args);\\n\" +\r\n\t\t\t\t\t\t\"return _context['realFunc_\" +\r\n\t\t\t\t\t\t_funcName +\r\n\t\t\t\t\t\t\"'].apply(obj,args);\\n\" +\r\n\t\t\t\t\t\t\"};\"\r\n\t\t\t\t);\r\n\t\t\t\t_context[_funcName].prototype.isHooked = true;\r\n\t\t\t\treturn true;\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.log(\"Hook failed,check the params.\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tFunction.prototype.unhook = function (realFunc, funcName, context) {\r\n\t\t\tlet _context = null;\r\n\t\t\tlet _funcName = null;\r\n\t\t\t_context = context || window;\r\n\t\t\t_funcName = funcName;\r\n\t\t\tif (!_context[_funcName].prototype.isHooked) {\r\n\t\t\t\tconsole.log(\"No function is hooked on\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\t_context[_funcName] = _context[\"realFunc\" + _funcName];\r\n\t\t\tReflect.deleteProperty(_context, \"realFunc_\" + _funcName);\r\n\t\t\treturn true;\r\n\t\t};\r\n\t};\r\n\tthis.cleanEnv = function () {\r\n\t\tif (Function.prototype.hasOwnProperty(\"hook\")) {\r\n\t\t\tReflect.deleteProperty(unction.prototype, \"hook\");\r\n\t\t}\r\n\t\tif (Function.prototype.hasOwnProperty(\"unhook\")) {\r\n\t\t\tReflect.deleteProperty(unction.prototype, \"unhook\");\r\n\t\t}\r\n\t\treturn true;\r\n\t};\r\n};\r\n\r\nexport { Hooks };\r\n","const Httpx = function (__xmlHttpRequest__) {\r\n\tif (typeof __xmlHttpRequest__ !== \"function\") {\r\n\t\tconsole.warn(\"Httpx未传入GM_xmlhttpRequest函数,强制默认使用fetch\");\r\n\t}\r\n\tconst GM_Api = {\r\n\t\t/**\r\n\t\t * @type {GM_xmlhttpRequest}\r\n\t\t */\r\n\t\txmlHttpRequest: __xmlHttpRequest__,\r\n\t};\r\n\t/**\r\n\t * @type {HttpxDetails}\r\n\t */\r\n\tlet defaultDetails = {\r\n\t\turl: void 0,\r\n\t\ttimeout: 5000,\r\n\t\tasync: false,\r\n\t\tresponseType: void 0,\r\n\t\theaders: void 0,\r\n\t\tdata: void 0,\r\n\t\tredirect: void 0,\r\n\t\tcookie: void 0,\r\n\t\tbinary: void 0,\r\n\t\tnocache: void 0,\r\n\t\trevalidate: void 0,\r\n\t\tcontext: void 0,\r\n\t\toverrideMimeType: void 0,\r\n\t\tanonymous: void 0,\r\n\t\tfetch: void 0,\r\n\t\tfetchInit: void 0,\r\n\t\tuser: void 0,\r\n\t\tpassword: void 0,\r\n\t\tonabort() {},\r\n\t\tonerror() {},\r\n\t\tontimeout() {},\r\n\t\tonloadstart() {},\r\n\t\tonreadystatechange() {},\r\n\t\tonprogress() {},\r\n\t};\r\n\t/**\r\n\t * 输出请求配置\r\n\t */\r\n\tlet LOG_DETAILS = false;\r\n\r\n\tconst HttpxRequestHook = {\r\n\t\t/**\r\n\t\t * 发送请求前的回调\r\n\t\t * 如果返回false则阻止本次返回\r\n\t\t * @param {HttpxDetails} details 当前的请求配置\r\n\t\t */\r\n\t\tbeforeRequestCallBack(details) {},\r\n\t};\r\n\r\n\tconst HttpxRequestDetails = {\r\n\t\t/**\r\n\t\t * 获取请求配置\r\n\t\t * @param {HttpxMethod} method 当前请求方法,默认get\r\n\t\t * @param {(...args: any[])=>void} resolve promise回调\r\n\t\t * @param {HttpxDetails} details 请求配置\r\n\t\t * @returns\r\n\t\t */\r\n\t\tgetDetails(method, resolve, details) {\r\n\t\t\t/**\r\n\t\t\t * @type {HttpxDetails}\r\n\t\t\t */\r\n\t\t\tlet result = {\r\n\t\t\t\turl: details.url || defaultDetails.url,\r\n\t\t\t\tmethod: (method || \"GET\").toString().toUpperCase(),\r\n\t\t\t\ttimeout: details.timeout || defaultDetails.timeout,\r\n\t\t\t\tresponseType: details.responseType || defaultDetails.responseType,\r\n\t\t\t\t/* 对象使用深拷贝 */\r\n\t\t\t\theaders: Utils.deepClone(defaultDetails.headers),\r\n\t\t\t\tdata: details.data || defaultDetails.data,\r\n\t\t\t\tredirect: details.redirect || defaultDetails.redirect,\r\n\t\t\t\tcookie: details.cookie || defaultDetails.cookie,\r\n\t\t\t\tbinary: details.binary || defaultDetails.binary,\r\n\t\t\t\tnocache: details.nocache || defaultDetails.nocache,\r\n\t\t\t\trevalidate: details.revalidate || defaultDetails.revalidate,\r\n\t\t\t\t/* 对象使用深拷贝 */\r\n\t\t\t\tcontext: Utils.deepClone(details.context || defaultDetails.context),\r\n\t\t\t\toverrideMimeType:\r\n\t\t\t\t\tdetails.overrideMimeType || defaultDetails.overrideMimeType,\r\n\t\t\t\tanonymous: details.anonymous || defaultDetails.anonymous,\r\n\t\t\t\tfetch: details.fetch || defaultDetails.fetch,\r\n\t\t\t\t/* 对象使用深拷贝 */\r\n\t\t\t\tfetchInit: Utils.deepClone(defaultDetails.fetchInit),\r\n\t\t\t\tuser: details.user || defaultDetails.user,\r\n\t\t\t\tpassword: details.password || defaultDetails.password,\r\n\t\t\t\tonabort(...args) {\r\n\t\t\t\t\tHttpxCallBack.onAbort(details, resolve, args);\r\n\t\t\t\t},\r\n\t\t\t\tonerror(...args) {\r\n\t\t\t\t\tHttpxCallBack.onError(details, resolve, args);\r\n\t\t\t\t},\r\n\t\t\t\tonloadstart(...args) {\r\n\t\t\t\t\tHttpxCallBack.onLoadStart(details, args);\r\n\t\t\t\t},\r\n\t\t\t\tonprogress(...args) {\r\n\t\t\t\t\tHttpxCallBack.onProgress(details, args);\r\n\t\t\t\t},\r\n\t\t\t\tonreadystatechange(...args) {\r\n\t\t\t\t\tHttpxCallBack.onReadyStateChange(details, args);\r\n\t\t\t\t},\r\n\t\t\t\tontimeout(...args) {\r\n\t\t\t\t\tHttpxCallBack.onTimeout(details, resolve, args);\r\n\t\t\t\t},\r\n\t\t\t\tonload(...args) {\r\n\t\t\t\t\tHttpxCallBack.onLoad(details, resolve, args);\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t\tif (typeof GM_Api.xmlHttpRequest !== \"function\") {\r\n\t\t\t\tresult.fetch = true;\r\n\t\t\t}\r\n\t\t\tif (typeof result.headers === \"object\") {\r\n\t\t\t\tif (typeof details.headers === \"object\") {\r\n\t\t\t\t\tObject.keys(details.headers).forEach((keyName, index) => {\r\n\t\t\t\t\t\tif (keyName in result.headers && details.headers[keyName] == null) {\r\n\t\t\t\t\t\t\t/* 在默认的header中存在,且设置它新的值为空,那么就是默认的值 */\r\n\t\t\t\t\t\t\tReflect.deleteProperty(result.headers, keyName);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tresult.headers[keyName] = details.headers[keyName];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\t/* details.headers为空 */\r\n\t\t\t\t\t/* 不做处理 */\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tresult.headers = details.headers;\r\n\t\t\t}\r\n\t\t\tif (typeof result.fetchInit === \"object\") {\r\n\t\t\t\t/* 使用assign替换且添加 */\r\n\t\t\t\tif (typeof details.fetchInit === \"object\") {\r\n\t\t\t\t\tObject.keys(details.fetchInit).forEach((keyName, index) => {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tkeyName in result.fetchInit &&\r\n\t\t\t\t\t\t\tdetails.fetchInit[keyName] == null\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t/* 在默认的fetchInit中存在,且设置它新的值为空,那么就是默认的值 */\r\n\t\t\t\t\t\t\tReflect.deleteProperty(result.fetchInit, keyName);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tresult.fetchInit[keyName] = details.fetchInit[keyName];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tresult.fetchInit = details.fetchInit;\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t},\r\n\t\t/**\r\n\t\t * 处理发送请求的details,去除值为undefined、空function的值\r\n\t\t * @param {HttpxDetails} details\r\n\t\t * @returns {HttpxDetails}\r\n\t\t */\r\n\t\thandle(details) {\r\n\t\t\tObject.keys(details).forEach((keyName) => {\r\n\t\t\t\tif (\r\n\t\t\t\t\tdetails[keyName] == null ||\r\n\t\t\t\t\t(details[keyName] instanceof Function &&\r\n\t\t\t\t\t\tUtils.isNull(details[keyName]))\r\n\t\t\t\t) {\r\n\t\t\t\t\tReflect.deleteProperty(details, keyName);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (Utils.isNull(details.url)) {\r\n\t\t\t\tthrow new TypeError(`Utils.Httpx 参数 url不符合要求: ${details.url}`);\r\n\t\t\t}\r\n\t\t\t/* method值统一大写,兼容Via */\r\n\t\t\tdetails.method = details.method.toUpperCase();\r\n\t\t\t/* 判断是否是以http开头,否则主动加上origin */\r\n\t\t\ttry {\r\n\t\t\t\tnew URL(details.url);\r\n\t\t\t} catch (error) {\r\n\t\t\t\tif (details.url.startsWith(\"//\")) {\r\n\t\t\t\t\tdetails.url = globalThis.location.protocol + details.url;\r\n\t\t\t\t} else if (details.url.startsWith(\"/\")) {\r\n\t\t\t\t\tdetails.url = globalThis.location.origin + details.url;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdetails.url = globalThis.location.origin + \"/\" + details.url;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn details;\r\n\t\t},\r\n\t\t/**\r\n\t\t * 处理fetch的配置\r\n\t\t * @param {HttpxDetails} details\r\n\t\t */\r\n\t\thandleFetchDetail(details) {\r\n\t\t\t/**\r\n\t\t\t * fetch的请求配置\r\n\t\t\t * @type {RequestInit}\r\n\t\t\t **/\r\n\t\t\tlet fetchRequestInit = {};\r\n\t\t\tif (\r\n\t\t\t\t(details.method === \"GET\" || details.method === \"HEAD\") &&\r\n\t\t\t\tdetails.data != null\r\n\t\t\t) {\r\n\t\t\t\t/* GET 或 HEAD 方法的请求不能包含 body 信息 */\r\n\t\t\t\tReflect.deleteProperty(details, \"data\");\r\n\t\t\t}\r\n\t\t\t/* 中止信号控制器 */\r\n\t\t\tlet abortController = new AbortController();\r\n\t\t\tlet signal = abortController.signal;\r\n\t\t\tsignal.onabort = () => {\r\n\t\t\t\tdetails.onabort({\r\n\t\t\t\t\tisFetch: true,\r\n\t\t\t\t\tresponseText: \"\",\r\n\t\t\t\t\tresponse: null,\r\n\t\t\t\t\treadyState: 4,\r\n\t\t\t\t\tresponseHeaders: \"\",\r\n\t\t\t\t\tstatus: 0,\r\n\t\t\t\t\tstatusText: \"\",\r\n\t\t\t\t\terror: \"aborted\",\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\tfetchRequestInit.method = details.method ?? \"GET\";\r\n\t\t\tfetchRequestInit.headers = details.headers;\r\n\t\t\tfetchRequestInit.body = details.data;\r\n\t\t\tfetchRequestInit.mode = \"cors\";\r\n\t\t\tfetchRequestInit.credentials = \"include\";\r\n\t\t\tfetchRequestInit.cache = \"no-cache\";\r\n\t\t\tfetchRequestInit.redirect = \"follow\";\r\n\t\t\tfetchRequestInit.referrerPolicy = \"origin-when-cross-origin\";\r\n\t\t\tfetchRequestInit.signal = signal;\r\n\t\t\tObject.assign(fetchRequestInit, details.fetchInit || {});\r\n\t\t\treturn {\r\n\t\t\t\tfetchDetails: details,\r\n\t\t\t\tfetchRequestInit: fetchRequestInit,\r\n\t\t\t\tabortController: abortController,\r\n\t\t\t};\r\n\t\t},\r\n\t};\r\n\tconst HttpxCallBack = {\r\n\t\t/**\r\n\t\t * onabort请求被取消-触发\r\n\t\t * @param {HttpxDetails} details 配置\r\n\t\t * @param {()=>void} resolve 回调\r\n\t\t * @param {any[]} argumentsList 参数列表\r\n\t\t */\r\n\t\tonAbort(details, resolve, argumentsList) {\r\n\t\t\tif (\"onabort\" in details) {\r\n\t\t\t\tdetails.onabort.apply(this, argumentsList);\r\n\t\t\t} else if (\"onabort\" in defaultDetails) {\r\n\t\t\t\tdefaultDetails.onabort.apply(this, argumentsList);\r\n\t\t\t}\r\n\t\t\tresolve({\r\n\t\t\t\tstatus: false,\r\n\t\t\t\tdata: [...argumentsList],\r\n\t\t\t\tmsg: \"请求被取消\",\r\n\t\t\t\ttype: \"onabort\",\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * onerror请求异常-触发\r\n\t\t * @param {HttpxDetails} details 配置\r\n\t\t * @param {()=>void} resolve 回调\r\n\t\t * @param {any[]} argumentsList 响应的参数列表\r\n\t\t */\r\n\t\tonError(details, resolve, argumentsList) {\r\n\t\t\tif (\"onerror\" in details) {\r\n\t\t\t\tdetails.onerror.apply(this, argumentsList);\r\n\t\t\t} else if (\"onerror\" in defaultDetails) {\r\n\t\t\t\tdefaultDetails.onerror.apply(this, argumentsList);\r\n\t\t\t}\r\n\t\t\tlet response = argumentsList;\r\n\t\t\tif (response.length) {\r\n\t\t\t\tresponse = response[0];\r\n\t\t\t}\r\n\t\t\tresolve({\r\n\t\t\t\tstatus: false,\r\n\t\t\t\tdata: response,\r\n\t\t\t\tdetails: details,\r\n\t\t\t\tmsg: \"请求异常\",\r\n\t\t\t\ttype: \"onerror\",\r\n\t\t\t});\r\n\t\t},\r\n\t\t/**\r\n\t\t * ontimeout请求超时-触发\r\n\t\t * @param {HttpxDetails} details 配置\r\n\t\t * @param {()=>void} resolve 回调\r\n\t\t * @param {any[]} argumentsList 参数列表\r\n\t\t */\r\n\t\tonTimeout(details, resolve, argumentsList) {\r\n\t\t\tif (\"ontimeout\" in details) {\r\n\t\t\t\tdetails.ontimeout.apply(this, argumentsList);\r\n\t\t\t} else if (\"ontimeout\" in defaultDetails) {\r\n\t\t\t\tdefaultDetails.ontimeout.apply(this, argumentsList);\r\n\t\t\t}\r\n\t\t\tresolve({\r\n\t\t\t\tstatus: false,\r\n\t\t\t\tdata: [...argumentsList],\r\n\t\t\t\tmsg: \"请求超时\",\r\n\t\t\t\ttype: \"ontimeout\",\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * onloadstart请求开始-触发\r\n\t\t * @param {HttpxDetails} details 配置\r\n\t\t * @param {any[]} argumentsList 参数列表\r\n\t\t */\r\n\t\tonLoadStart(details, argumentsList) {\r\n\t\t\tif (\"onloadstart\" in details) {\r\n\t\t\t\tdetails.onloadstart.apply(this, argumentsList);\r\n\t\t\t} else if (\"onloadstart\" in defaultDetails) {\r\n\t\t\t\tdefaultDetails.onloadstart.apply(this, argumentsList);\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * onload加载完毕-触发\r\n\t\t * @param {HttpxDetails} details 请求的配置\r\n\t\t * @param {()=>void} resolve 回调\r\n\t\t * @param {...HttpxAsyncResultData[]} argumentsList 参数列表\r\n\t\t */\r\n\t\tonLoad(details, resolve, argumentsList) {\r\n\t\t\t/* X浏览器会因为设置了responseType导致不返回responseText */\r\n\t\t\tlet Response = argumentsList[0];\r\n\t\t\t/* responseText为空,response不为空的情况 */\r\n\t\t\tif (\r\n\t\t\t\tUtils.isNull(Response[\"responseText\"]) &&\r\n\t\t\t\tUtils.isNotNull(Response[\"response\"])\r\n\t\t\t) {\r\n\t\t\t\tif (typeof Response[\"response\"] === \"object\") {\r\n\t\t\t\t\tUtils.tryCatch().run(() => {\r\n\t\t\t\t\t\tResponse[\"responseText\"] = JSON.stringify(Response[\"response\"]);\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tResponse[\"responseText\"] = Response[\"response\"];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t/* response为空,responseText不为空的情况 */\r\n\t\t\tif (\r\n\t\t\t\tResponse[\"response\"] == null &&\r\n\t\t\t\ttypeof Response[\"responseText\"] === \"string\" &&\r\n\t\t\t\tResponse[\"responseText\"].trim() !== \"\"\r\n\t\t\t) {\r\n\t\t\t\tlet newResponse = Response[\"responseText\"];\r\n\t\t\t\tif (details.responseType === \"json\") {\r\n\t\t\t\t\tnewResponse = Utils.toJSON(Response[\"responseText\"]);\r\n\t\t\t\t} else if (details.responseType === \"document\") {\r\n\t\t\t\t\tlet parser = new DOMParser();\r\n\t\t\t\t\tnewResponse = parser.parseFromString(\r\n\t\t\t\t\t\tResponse[\"responseText\"],\r\n\t\t\t\t\t\t\"text/html\"\r\n\t\t\t\t\t);\r\n\t\t\t\t} else if (details.responseType === \"arraybuffer\") {\r\n\t\t\t\t\tlet encoder = new TextEncoder();\r\n\t\t\t\t\tlet arrayBuffer = encoder.encode(Response[\"responseText\"]);\r\n\t\t\t\t\tnewResponse = arrayBuffer;\r\n\t\t\t\t} else if (details.responseType === \"blob\") {\r\n\t\t\t\t\tlet encoder = new TextEncoder();\r\n\t\t\t\t\tlet arrayBuffer = encoder.encode(Response[\"responseText\"]);\r\n\t\t\t\t\tnewResponse = new Blob([arrayBuffer]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewResponse = Response[\"responseText\"];\r\n\t\t\t\t}\r\n\t\t\t\ttry {\r\n\t\t\t\t\tResponse[\"response\"] = newResponse;\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.warn(\"response 无法被覆盖\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t/* Stay扩展中没有finalUrl,对应的是responseURL */\r\n\t\t\tif (Response[\"finalUrl\"] == null && Response[\"responseURL\"] != null) {\r\n\t\t\t\tResponse[\"finalUrl\"] = Response[\"responseURL\"];\r\n\t\t\t}\r\n\t\t\t/* 状态码2xx都是成功的 */\r\n\t\t\tif (Math.floor(Response.status / 100) === 2) {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\tstatus: true,\r\n\t\t\t\t\tdata: Response,\r\n\t\t\t\t\tdetails: details,\r\n\t\t\t\t\tmsg: \"请求完毕\",\r\n\t\t\t\t\ttype: \"onload\",\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tHttpxCallBack.onError(details, resolve, argumentsList);\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * onprogress上传进度-触发\r\n\t\t * @param {HttpxDetails} details 配置\r\n\t\t * @param {any[]} argumentsList 参数列表\r\n\t\t */\r\n\t\tonProgress(details, argumentsList) {\r\n\t\t\tif (\"onprogress\" in details) {\r\n\t\t\t\tdetails.onprogress.apply(this, argumentsList);\r\n\t\t\t} else if (\"onprogress\" in defaultDetails) {\r\n\t\t\t\tdefaultDetails.onprogress.apply(this, argumentsList);\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * onreadystatechange准备状态改变-触发\r\n\t\t * @param {HttpxDetails} details 配置\r\n\t\t * @param {any[]} argumentsList 参数列表\r\n\t\t */\r\n\t\tonReadyStateChange(details, argumentsList) {\r\n\t\t\tif (\"onreadystatechange\" in details) {\r\n\t\t\t\tdetails.onreadystatechange.apply(this, argumentsList);\r\n\t\t\t} else if (\"onreadystatechange\" in defaultDetails) {\r\n\t\t\t\tdefaultDetails.onreadystatechange.apply(this, argumentsList);\r\n\t\t\t}\r\n\t\t},\r\n\t};\r\n\r\n\tconst HttpxRequest = {\r\n\t\t/**\r\n\t\t * 发送请求\r\n\t\t * @param {HttpxDetails} details\r\n\t\t */\r\n\t\trequest(details) {\r\n\t\t\tif (LOG_DETAILS) {\r\n\t\t\t\tconsole.log(\"Httpx请求配置👇\", details);\r\n\t\t\t}\r\n\t\t\tif (typeof HttpxRequestHook.beforeRequestCallBack === \"function\") {\r\n\t\t\t\tlet hookResult = HttpxRequestHook.beforeRequestCallBack(details);\r\n\t\t\t\tif (typeof hookResult === \"boolean\" && !hookResult) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (details.fetch) {\r\n\t\t\t\tconst { fetchDetails, fetchRequestInit, abortController } =\r\n\t\t\t\t\tHttpxRequestDetails.handleFetchDetail(details);\r\n\t\t\t\tthis.fetch(fetchDetails, fetchRequestInit, abortController);\r\n\t\t\t} else {\r\n\t\t\t\tReflect.deleteProperty(details, \"fetchInit\");\r\n\t\t\t\tthis.xmlHttpRequest(details);\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * 使用油猴函数GM_xmlhttpRequest发送请求\r\n\t\t * @param {HttpxDetails} details\r\n\t\t */\r\n\t\txmlHttpRequest(details) {\r\n\t\t\tGM_Api.xmlHttpRequest(details);\r\n\t\t},\r\n\t\t/**\r\n\t\t * 使用fetch发送请求\r\n\t\t * @param {HttpxDetails} details\r\n\t\t * @param {RequestInit} fetchRequestInit\r\n\t\t * @param {AbortController} abortController\r\n\t\t */\r\n\t\tfetch(details, fetchRequestInit, abortController) {\r\n\t\t\tfetch(details.url, fetchRequestInit)\r\n\t\t\t\t.then(async (resp) => {\r\n\t\t\t\t\t/**\r\n\t\t\t\t\t * @type {HttpxAsyncResultData}\r\n\t\t\t\t\t */\r\n\t\t\t\t\tlet httpxResponse = {\r\n\t\t\t\t\t\tisFetch: true,\r\n\t\t\t\t\t\tfinalUrl: resp.url,\r\n\t\t\t\t\t\treadyState: 4,\r\n\t\t\t\t\t\tstatus: resp.status,\r\n\t\t\t\t\t\tstatusText: resp.statusText,\r\n\t\t\t\t\t\tresponse: void 0,\r\n\t\t\t\t\t\tresponseFetchHeaders: resp.headers,\r\n\t\t\t\t\t\tresponseHeaders: \"\",\r\n\t\t\t\t\t\tresponseText: void 0,\r\n\t\t\t\t\t\tresponseType: details.responseType,\r\n\t\t\t\t\t\tresponseXML: void 0,\r\n\t\t\t\t\t};\r\n\t\t\t\t\tObject.assign(httpxResponse, details.context || {});\r\n\r\n\t\t\t\t\tfor (const [key, value] of resp.headers.entries()) {\r\n\t\t\t\t\t\thttpxResponse.responseHeaders += `${key}: ${value}\\n`;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t/* 如果是流式传输,直接返回 */\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tdetails.responseType === \"stream\" ||\r\n\t\t\t\t\t\t(resp.headers.has(\"Content-Type\") &&\r\n\t\t\t\t\t\t\tresp.headers.get(\"Content-Type\").includes(\"text/event-stream\"))\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\thttpxResponse[\"isStream\"] = true;\r\n\t\t\t\t\t\thttpxResponse.response = resp.body;\r\n\t\t\t\t\t\tReflect.deleteProperty(httpxResponse, \"responseText\");\r\n\t\t\t\t\t\tReflect.deleteProperty(httpxResponse, \"responseXML\");\r\n\t\t\t\t\t\tdetails.onload(httpxResponse);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t/** 响应 */\r\n\t\t\t\t\tlet response = \"\";\r\n\t\t\t\t\t/** 响应字符串 */\r\n\t\t\t\t\tlet responseText = \"\";\r\n\t\t\t\t\t/** 响应xml文档 */\r\n\t\t\t\t\tlet responseXML = \"\";\r\n\r\n\t\t\t\t\tlet arrayBuffer = await resp.arrayBuffer;\r\n\r\n\t\t\t\t\tlet encoding = \"utf-8\";\r\n\t\t\t\t\tif (resp.headers.has(\"Content-Type\")) {\r\n\t\t\t\t\t\tlet charsetMatched = resp.headers\r\n\t\t\t\t\t\t\t.get(\"Content-Type\")\r\n\t\t\t\t\t\t\t.match(/charset=(.+)/);\r\n\t\t\t\t\t\tif (charsetMatched) {\r\n\t\t\t\t\t\t\tencoding = charsetMatched[1];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet textDecoder = new TextDecoder(encoding);\r\n\t\t\t\t\tresponseText = textDecoder.decode(await resp.arrayBuffer());\r\n\t\t\t\t\tresponse = responseText;\r\n\r\n\t\t\t\t\tif (details.responseType === \"arraybuffer\") {\r\n\t\t\t\t\t\tresponse = arrayBuffer;\r\n\t\t\t\t\t} else if (details.responseType === \"blob\") {\r\n\t\t\t\t\t\tresponse = new Blob([arrayBuffer]);\r\n\t\t\t\t\t} else if (\r\n\t\t\t\t\t\tdetails.responseType === \"document\" ||\r\n\t\t\t\t\t\tdetails.responseType == null\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tlet parser = new DOMParser();\r\n\t\t\t\t\t\tresponse = parser.parseFromString(responseText, \"text/html\");\r\n\t\t\t\t\t} else if (details.responseType === \"json\") {\r\n\t\t\t\t\t\tresponse = Utils.toJSON(responseText);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet parser = new DOMParser();\r\n\t\t\t\t\tresponseXML = parser.parseFromString(responseText, \"text/xml\");\r\n\r\n\t\t\t\t\thttpxResponse.response = response;\r\n\t\t\t\t\thttpxResponse.responseText = responseText;\r\n\t\t\t\t\thttpxResponse.responseXML = responseXML;\r\n\r\n\t\t\t\t\tdetails.onload(httpxResponse);\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tif (err.name === \"AbortError\") {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdetails.onerror({\r\n\t\t\t\t\t\tisFetch: true,\r\n\t\t\t\t\t\tfinalUrl: details.url,\r\n\t\t\t\t\t\treadyState: 4,\r\n\t\t\t\t\t\tstatus: 0,\r\n\t\t\t\t\t\tstatusText: \"\",\r\n\t\t\t\t\t\tresponseHeaders: \"\",\r\n\t\t\t\t\t\tresponseText: \"\",\r\n\t\t\t\t\t\terror: err,\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\tdetails.onloadstart({\r\n\t\t\t\tisFetch: true,\r\n\t\t\t\tfinalUrl: details.url,\r\n\t\t\t\treadyState: 1,\r\n\t\t\t\tresponseHeaders: \"\",\r\n\t\t\t\tresponseText: \"\",\r\n\t\t\t\tstatus: 0,\r\n\t\t\t\tstatusText: \"\",\r\n\t\t\t});\r\n\t\t\treturn {\r\n\t\t\t\tabort() {\r\n\t\t\t\t\tabortController.abort();\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t},\r\n\t};\r\n\r\n\t/**\r\n\t * 覆盖当前配置\r\n\t * @param {HttpxDetailsConfig} details\r\n\t */\r\n\tthis.config = function (details = {}) {\r\n\t\tif (\"logDetails\" in details && typeof details[\"logDetails\"] === \"boolean\") {\r\n\t\t\tLOG_DETAILS = details[\"logDetails\"];\r\n\t\t}\r\n\r\n\t\tdefaultDetails = Utils.assign(defaultDetails, details);\r\n\t};\r\n\r\n\t/**\r\n\t * 修改xmlHttpRequest\r\n\t * @param {Function} httpRequest 网络请求函数\r\n\t */\r\n\tthis.setXMLHttpRequest = function (httpRequest) {\r\n\t\tGM_Api.xmlHttpRequest = httpRequest;\r\n\t};\r\n\r\n\t/**\r\n\t * GET 请求\r\n\t * @param {...HttpxDetails|string} args\r\n\t * @returns {Promise< HttpxAsyncResult >}\r\n\t */\r\n\tthis.get = async function (...args) {\r\n\t\tlet details = {};\r\n\t\tif (typeof args[0] === \"string\") {\r\n\t\t\tdetails.url = args[0];\r\n\t\t\tif (typeof args[1] === \"object\") {\r\n\t\t\t\tdetails = args[1];\r\n\t\t\t\tdetails.url = args[0];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdetails = args[0];\r\n\t\t}\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tlet requestDetails = HttpxRequestDetails.getDetails(\r\n\t\t\t\t\"get\",\r\n\t\t\t\tresolve,\r\n\t\t\t\tdetails\r\n\t\t\t);\r\n\t\t\tReflect.deleteProperty(requestDetails, \"onprogress\");\r\n\t\t\trequestDetails = HttpxRequestDetails.handle(requestDetails);\r\n\t\t\tHttpxRequest.request(requestDetails);\r\n\t\t});\r\n\t};\r\n\t/**\r\n\t * POST 请求\r\n\t * @param {...HttpxDetails|string} args\r\n\t * @returns {Promise< HttpxAsyncResult >}\r\n\t */\r\n\tthis.post = async function (...args) {\r\n\t\tlet details = {};\r\n\t\tif (typeof args[0] === \"string\") {\r\n\t\t\tdetails.url = args[0];\r\n\t\t\tif (typeof args[1] === \"object\") {\r\n\t\t\t\tdetails = args[1];\r\n\t\t\t\tdetails.url = args[0];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdetails = args[0];\r\n\t\t}\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tlet requestDetails = HttpxRequestDetails.getDetails(\r\n\t\t\t\t\"post\",\r\n\t\t\t\tresolve,\r\n\t\t\t\tdetails\r\n\t\t\t);\r\n\t\t\trequestDetails = HttpxRequestDetails.handle(requestDetails);\r\n\t\t\tHttpxRequest.request(requestDetails);\r\n\t\t});\r\n\t};\r\n\t/**\r\n\t * HEAD 请求\r\n\t * @param {...HttpxDetails|string} args\r\n\t * @returns {Promise< HttpxAsyncResult >}\r\n\t */\r\n\tthis.head = async function (...args) {\r\n\t\tlet details = {};\r\n\t\tif (typeof args[0] === \"string\") {\r\n\t\t\tdetails.url = args[0];\r\n\t\t\tif (typeof args[1] === \"object\") {\r\n\t\t\t\tdetails = args[1];\r\n\t\t\t\tdetails.url = args[0];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdetails = args[0];\r\n\t\t}\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tlet requestDetails = HttpxRequestDetails.getDetails(\r\n\t\t\t\t\"head\",\r\n\t\t\t\tresolve,\r\n\t\t\t\tdetails\r\n\t\t\t);\r\n\t\t\tReflect.deleteProperty(requestDetails, \"onprogress\");\r\n\t\t\trequestDetails = HttpxRequestDetails.handle(requestDetails);\r\n\t\t\tHttpxRequest.request(requestDetails);\r\n\t\t});\r\n\t};\r\n\r\n\t/**\r\n\t * OPTIONS 请求\r\n\t * @param {...HttpxDetails|string} args\r\n\t * @returns {Promise< HttpxAsyncResult >}\r\n\t */\r\n\tthis.options = async function (...args) {\r\n\t\tlet details = {};\r\n\t\tif (typeof args[0] === \"string\") {\r\n\t\t\tdetails.url = args[0];\r\n\t\t\tif (typeof args[1] === \"object\") {\r\n\t\t\t\tdetails = args[1];\r\n\t\t\t\tdetails.url = args[0];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdetails = args[0];\r\n\t\t}\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tlet requestDetails = HttpxRequestDetails.getDetails(\r\n\t\t\t\t\"options\",\r\n\t\t\t\tresolve,\r\n\t\t\t\tdetails\r\n\t\t\t);\r\n\t\t\tReflect.deleteProperty(requestDetails, \"onprogress\");\r\n\t\t\trequestDetails = HttpxRequestDetails.handle(requestDetails);\r\n\t\t\tHttpxRequest.request(requestDetails);\r\n\t\t});\r\n\t};\r\n\r\n\t/**\r\n\t * DELETE 请求\r\n\t * @param {...HttpxDetails|string} args\r\n\t * @returns {Promise< HttpxAsyncResult >}\r\n\t */\r\n\tthis.delete = async function (...args) {\r\n\t\tlet details = {};\r\n\t\tif (typeof args[0] === \"string\") {\r\n\t\t\tdetails.url = args[0];\r\n\t\t\tif (typeof args[1] === \"object\") {\r\n\t\t\t\tdetails = args[1];\r\n\t\t\t\tdetails.url = args[0];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdetails = args[0];\r\n\t\t}\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tlet requestDetails = HttpxRequestDetails.getDetails(\r\n\t\t\t\t\"delete\",\r\n\t\t\t\tresolve,\r\n\t\t\t\tdetails\r\n\t\t\t);\r\n\t\t\tReflect.deleteProperty(requestDetails, \"onprogress\");\r\n\t\t\trequestDetails = HttpxRequestDetails.handle(requestDetails);\r\n\t\t\tHttpxRequest.request(requestDetails);\r\n\t\t});\r\n\t};\r\n\r\n\t/**\r\n\t * PUT 请求\r\n\t * @param {...HttpxDetails|string} args\r\n\t * @returns {Promise< HttpxAsyncResult >}\r\n\t */\r\n\tthis.put = async function (...args) {\r\n\t\tlet details = {};\r\n\t\tif (typeof args[0] === \"string\") {\r\n\t\t\tdetails.url = args[0];\r\n\t\t\tif (typeof args[1] === \"object\") {\r\n\t\t\t\tdetails = args[1];\r\n\t\t\t\tdetails.url = args[0];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdetails = args[0];\r\n\t\t}\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tlet requestDetails = HttpxRequestDetails.getDetails(\r\n\t\t\t\t\"put\",\r\n\t\t\t\tresolve,\r\n\t\t\t\tdetails\r\n\t\t\t);\r\n\t\t\trequestDetails = HttpxRequestDetails.handle(requestDetails);\r\n\t\t\tHttpxRequest.request(requestDetails);\r\n\t\t});\r\n\t};\r\n};\r\n\r\nexport { Httpx };\r\n","const indexedDB = function (\r\n\tdbName = \"default_db\",\r\n\tstoreName = \"default_form\",\r\n\tdbVersion = 1\r\n) {\r\n\tthis.dbName = dbName;\r\n\t/* websql的版本号,由于ios的问题,版本号的写法不一样 */\r\n\tthis.slqVersion = \"1\";\r\n\tthis.dbVersion = dbVersion;\r\n\tthis.storeName = storeName;\r\n\t/* 监听IndexDB */\r\n\tthis.indexedDB =\r\n\t\twindow.indexedDB ||\r\n\t\twindow.mozIndexedDB ||\r\n\t\twindow.webkitIndexedDB ||\r\n\t\twindow.msIndexedDB;\r\n\tif (!this.indexedDB) {\r\n\t\talert(\"很抱歉,您的浏览器不支持indexedDB\");\r\n\t}\r\n\t/* 缓存数据库,避免同一个页面重复创建和销毁 */\r\n\tthis.db = {};\r\n\tthis.store = null;\r\n\tthis.errorCode = {\r\n\t\t/* 错误码 */\r\n\t\tsuccess: {\r\n\t\t\tcode: 200,\r\n\t\t\tmsg: \"操作成功\",\r\n\t\t},\r\n\t\terror: {\r\n\t\t\tcode: 401,\r\n\t\t\tmsg: \"操作失败\",\r\n\t\t},\r\n\t\topen: { code: 91001, msg: \"打开数据库失败\" },\r\n\t\tsave: { code: 91002, msg: \"保存数据失败\" },\r\n\t\tget: { code: 91003, msg: \"获取数据失败\" },\r\n\t\tdelete: { code: 91004, msg: \"删除数据失败\" },\r\n\t\tdeleteAll: { code: 91005, msg: \"清空数据库失败\" },\r\n\t};\r\n\tlet that = this;\r\n\t/**\r\n\t * 创建 “表”\r\n\t * @param {string} dbName 表名\r\n\t * @returns\r\n\t */\r\n\tthis.createStore = function (dbName) {\r\n\t\tlet txn, store;\r\n\t\tif (that.indexedDB) {\r\n\t\t\t/* 如果是支持IndexDB的 */\r\n\t\t\ttxn = that.db[dbName].transaction(that.storeName, \"readwrite\");\r\n\t\t\t/* IndexDB的读写权限 */\r\n\t\t\tstore = txn.objectStore(that.storeName);\r\n\t\t}\r\n\t\treturn store;\r\n\t};\r\n\t/**\r\n\t * 打开数据库\r\n\t * @param {function} callback 回调\r\n\t * @param {string} dbName 数据库名\r\n\t */\r\n\tthis.open = function (callback, dbName) {\r\n\t\t/* 打开数据库 */\r\n\t\tif (that.indexedDB) {\r\n\t\t\t/* 如果支持IndexDB */\r\n\t\t\tif (!that.db[dbName]) {\r\n\t\t\t\t/* 如果缓存中没有,则进行数据库的创建或打开,提高效率 */\r\n\t\t\t\tlet request = that.indexedDB.open(dbName, that.dbVersion);\r\n\t\t\t\trequest.onerror = function (e) {\r\n\t\t\t\t\tcallback({\r\n\t\t\t\t\t\tcode: that.errorCode.open.code,\r\n\t\t\t\t\t\tmsg: that.errorCode.open.msg,\r\n\t\t\t\t\t\terror: e,\r\n\t\t\t\t\t});\r\n\t\t\t\t};\r\n\t\t\t\trequest.onsuccess = function (e) {\r\n\t\t\t\t\tif (!that.db[dbName]) {\r\n\t\t\t\t\t\tthat.db[dbName] = e.target.result;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet store = that.createStore(dbName);\r\n\t\t\t\t\tcallback(store);\r\n\t\t\t\t};\r\n\t\t\t\trequest.onupgradeneeded = function (e) {\r\n\t\t\t\t\tthat.db[dbName] = e.target.result;\r\n\t\t\t\t\tlet store = that.db[dbName].createObjectStore(that.storeName, {\r\n\t\t\t\t\t\tkeyPath: \"key\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\tstore.transaction.oncomplete = function (event) {\r\n\t\t\t\t\t\tcallback(store);\r\n\t\t\t\t\t};\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\t/* 如果缓存中已经打开了数据库,就直接使用 */\r\n\t\t\t\tlet store = that.createStore(dbName);\r\n\t\t\t\tcallback(store);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 保存数据到数据库\r\n\t * @param {string} key 数据key\r\n\t * @param {any} value 数据值\r\n\t * @returns {Promise< {\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * success: boolean\r\n\t * }>}\r\n\t */\r\n\tthis.save = async function (key, value) {\r\n\t\tif (that.indexedDB) {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\tlet dbName = that.dbName;\r\n\t\t\t\tlet inData = {\r\n\t\t\t\t\tkey: key,\r\n\t\t\t\t\tvalue: value,\r\n\t\t\t\t};\r\n\t\t\t\tthat.open(function (result) {\r\n\t\t\t\t\tlet error = result.hasOwnProperty(\"error\");\r\n\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\tresolve(result);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlet request = result.put(inData);\r\n\t\t\t\t\t\trequest.onsuccess = function (e) {\r\n\t\t\t\t\t\t\t/* 保存成功有success 字段 */\r\n\t\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\t\tcode: that.errorCode.success.code,\r\n\t\t\t\t\t\t\t\tmsg: that.errorCode.success.msg,\r\n\t\t\t\t\t\t\t\tsuccess: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\trequest.onerror = function (e) {\r\n\t\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\t\tcode: that.errorCode.save.code,\r\n\t\t\t\t\t\t\t\tmsg: that.errorCode.save.msg,\r\n\t\t\t\t\t\t\t\terror: e,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}, dbName);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 根据key获取值\r\n\t * @param {string} key 数据key\r\n\t * @returns {Promise< {\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * data: [...any],\r\n\t * success: true\r\n\t * }| {\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * error: Error,\r\n\t * result: any,\r\n\t * } >}\r\n\t */\r\n\tthis.get = async function (key) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tlet dbName = that.dbName;\r\n\t\t\tif (that.indexedDB) {\r\n\t\t\t\tthat.open(function (result) {\r\n\t\t\t\t\t/* 判断返回的数据中是否有error字段 */\r\n\t\t\t\t\tlet error = result.hasOwnProperty(\"error\");\r\n\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\treject({\r\n\t\t\t\t\t\t\tcode: that.errorCode.open.get,\r\n\t\t\t\t\t\t\tmsg: that.errorCode.get.msg,\r\n\t\t\t\t\t\t\terror: error,\r\n\t\t\t\t\t\t\tresult: result,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlet request = result.get(key);\r\n\t\t\t\t\t\trequest.onsuccess = function (e) {\r\n\t\t\t\t\t\t\tlet result = e.target.result;\r\n\t\t\t\t\t\t\tlet data = result ? result.value : void 0;\r\n\t\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\t\tcode: data\r\n\t\t\t\t\t\t\t\t\t? that.errorCode.success.code\r\n\t\t\t\t\t\t\t\t\t: that.errorCode.error.code,\r\n\t\t\t\t\t\t\t\tmsg: data\r\n\t\t\t\t\t\t\t\t\t? that.errorCode.success.msg\r\n\t\t\t\t\t\t\t\t\t: that.errorCode.error.msg,\r\n\t\t\t\t\t\t\t\tdata: data || [],\r\n\t\t\t\t\t\t\t\tsuccess: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\trequest.onerror = function (e) {\r\n\t\t\t\t\t\t\treject({\r\n\t\t\t\t\t\t\t\tcode: that.errorCode.get.code,\r\n\t\t\t\t\t\t\t\tmsg: that.errorCode.get.msg,\r\n\t\t\t\t\t\t\t\tresult: result,\r\n\t\t\t\t\t\t\t\terror: e,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}, dbName);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\t/**\r\n\t * 正则获取数据\r\n\t * @param {string} key 数据键\r\n\t * @returns { Promise<{\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * data: [...any],\r\n\t * success: true\r\n\t * }|{\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * error: Error,\r\n\t * result: any,\r\n\t * }> }\r\n\t */\r\n\tthis.regexpGet = async function (key) {\r\n\t\tlet list = [];\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t/* 正则查询 */\r\n\t\t\tlet dbName = that.dbName;\r\n\t\t\tif (that.indexedDB) {\r\n\t\t\t\tthat.open(function (result) {\r\n\t\t\t\t\t/* 判断返回的数据中是否有error字段 */\r\n\t\t\t\t\tlet error = result.hasOwnProperty(\"error\");\r\n\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\treject({\r\n\t\t\t\t\t\t\tcode: that.errorCode.open.get,\r\n\t\t\t\t\t\t\tmsg: that.errorCode.get.msg,\r\n\t\t\t\t\t\t\terror: error,\r\n\t\t\t\t\t\t\tresult: result,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlet request = result.getAll();\r\n\t\t\t\t\t\trequest.onsuccess = function (e) {\r\n\t\t\t\t\t\t\tlet result = e.target.result;\r\n\t\t\t\t\t\t\tif (result.length !== 0) {\r\n\t\t\t\t\t\t\t\tresult.forEach((item, index) => {\r\n\t\t\t\t\t\t\t\t\tif (item[\"key\"].match(key)) {\r\n\t\t\t\t\t\t\t\t\t\tlet concatList = item[\"value\"];\r\n\t\t\t\t\t\t\t\t\t\tconcatList[\"key\"] = item[\"key\"];\r\n\t\t\t\t\t\t\t\t\t\tlist = [...list, concatList];\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\t\tcode: that.errorCode.success.code,\r\n\t\t\t\t\t\t\t\tmsg: that.errorCode.success.msg,\r\n\t\t\t\t\t\t\t\tdata: list,\r\n\t\t\t\t\t\t\t\tsuccess: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\trequest.onerror = function (e) {\r\n\t\t\t\t\t\t\treject({\r\n\t\t\t\t\t\t\t\tcode: that.errorCode.get.code,\r\n\t\t\t\t\t\t\t\tmsg: that.errorCode.get.msg,\r\n\t\t\t\t\t\t\t\tresult: result,\r\n\t\t\t\t\t\t\t\terror: e,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}, dbName);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\t/**\r\n\t * 删除数据\r\n\t * @param {string} key 数据键\r\n\t * @returns {Promise<{\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * success: true,\r\n\t * }|{\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * error: Error,\r\n\t * }>}\r\n\t */\r\n\tthis.delete = async function (key) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t/* 根据key删除某条数据 */\r\n\t\t\tlet dbName = that.dbName;\r\n\t\t\tif (that.indexedDB) {\r\n\t\t\t\tthat.open(function (result) {\r\n\t\t\t\t\tlet error = result.hasOwnProperty(\"error\");\r\n\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\tresolve(result);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlet request = result.get(key);\r\n\t\t\t\t\t\trequest.onsuccess = function (e) {\r\n\t\t\t\t\t\t\tlet recode = e.target.result;\r\n\t\t\t\t\t\t\tif (recode) {\r\n\t\t\t\t\t\t\t\trequest = result.delete(key);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\t\tcode: recode\r\n\t\t\t\t\t\t\t\t\t? that.errorCode.success.code\r\n\t\t\t\t\t\t\t\t\t: that.errorCode.error.code,\r\n\t\t\t\t\t\t\t\tmsg: recode\r\n\t\t\t\t\t\t\t\t\t? that.errorCode.success.msg\r\n\t\t\t\t\t\t\t\t\t: that.errorCode.error.msg,\r\n\t\t\t\t\t\t\t\tsuccess: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\trequest.onerror = function (e) {\r\n\t\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\t\tcode: that.errorCode.delete.code,\r\n\t\t\t\t\t\t\t\tmsg: that.errorCode.delete.msg,\r\n\t\t\t\t\t\t\t\terror: e,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}, dbName);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\t/**\r\n\t * 删除所有数据\r\n\t * @returns {Promise<{\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * error: Error,\r\n\t * result: any,\r\n\t * }|{\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * success: true,\r\n\t * }>}\r\n\t */\r\n\tthis.deleteAll = async function () {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t/* 清空数据库 */\r\n\t\t\tlet dbName = that.dbName;\r\n\t\t\tif (that.indexedDB) {\r\n\t\t\t\tthat.open(function (result) {\r\n\t\t\t\t\tlet error = result.hasOwnProperty(\"error\");\r\n\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\tcode: that.errorCode.deleteAll.code,\r\n\t\t\t\t\t\t\tmsg: that.errorCode.deleteAll.msg,\r\n\t\t\t\t\t\t\terror: error,\r\n\t\t\t\t\t\t\tresult: result,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tresult.clear();\r\n\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\tcode: that.errorCode.success.code,\r\n\t\t\t\t\t\t\tmsg: that.errorCode.success.msg,\r\n\t\t\t\t\t\t\tsuccess: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}, dbName);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n};\r\n\r\nexport { indexedDB };\r\n","const LockFunction = function (callback, context, delayTime = 0) {\r\n\tlet flag = false;\r\n\tlet that = this;\r\n\tcontext = context || this;\r\n\t/**\r\n\t * 锁\r\n\t */\r\n\tthis.lock = function () {\r\n\t\tflag = true;\r\n\t};\r\n\t/**\r\n\t * 解锁\r\n\t */\r\n\tthis.unlock = function () {\r\n\t\tsetTimeout(() => {\r\n\t\t\tflag = false;\r\n\t\t}, delayTime);\r\n\t};\r\n\t/**\r\n\t * 执行\r\n\t */\r\n\tthis.run = async function (...args) {\r\n\t\tif (flag) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthat.lock();\r\n\t\tawait callback.apply(context, args);\r\n\t\tthat.unlock();\r\n\t};\r\n};\r\n\r\n\r\nexport {\r\n LockFunction\r\n}","const Log = function (\r\n\t_GM_info_ = {\r\n\t\tscript: {\r\n\t\t\tname: \"Utils.Log\",\r\n\t\t},\r\n\t},\r\n\tconsole = globalThis.console\r\n) {\r\n\tlet msgColorDetails = [\r\n\t\t\"font-weight: bold; color: cornflowerblue\",\r\n\t\t\"font-weight: bold; color: cornflowerblue\",\r\n\t\t\"font-weight: bold; color: darkorange\",\r\n\t\t\"font-weight: bold; color: cornflowerblue\",\r\n\t];\r\n\t/**\r\n\t * @type {UtilsLogOptions}\r\n\t */\r\n\tlet details = {\r\n\t\ttag: true,\r\n\t\tsuccessColor: \"#0000FF\",\r\n\t\terrorColor: \"#FF0000\",\r\n\t\tinfoColor: \"0\",\r\n\t\twarnColor: \"0\",\r\n\t\tdebug: false,\r\n\t\tautoClearConsole: false,\r\n\t\tlogMaxCount: 999,\r\n\t};\r\n\tlet logCount = 0;\r\n\t/**\r\n\t * 解析Error的堆栈获取实际调用者的函数名及函数所在的位置\r\n\t * @param {string[]} stack\r\n\t * @returns {{\r\n\t * name: string,\r\n\t * position: string,\r\n\t * }}\r\n\t */\r\n\tlet parseErrorStack = function (stack) {\r\n\t\tlet result = {\r\n\t\t\tname: \"\",\r\n\t\t\tposition: \"\",\r\n\t\t};\r\n\t\tfor (let stackString of stack) {\r\n\t\t\tstackString = stackString.trim();\r\n\t\t\tlet stackFunctionName = stackString.match(/^at[\\s]+(.+?)[\\s]+/i);\r\n\t\t\tlet stackFunctionNamePosition = stackString.match(\r\n\t\t\t\t/^at[\\s]+.+[\\s]+\\((.+?)\\)/i\r\n\t\t\t);\r\n\t\t\tif (stackFunctionName == null) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tstackFunctionName = stackFunctionName[stackFunctionName.length - 1];\r\n\t\t\tstackFunctionNamePosition =\r\n\t\t\t\tstackFunctionNamePosition[stackFunctionNamePosition.length - 1];\r\n\t\t\tif (\r\n\t\t\t\tstackFunctionName === \"\" ||\r\n\t\t\t\tstackFunctionName.match(\r\n\t\t\t\t\tnew RegExp(\r\n\t\t\t\t\t\t\"(^Utils.Log.|.<anonymous>$|^Function.each|^NodeList.forEach|^k.fn.init.each)\",\r\n\t\t\t\t\t\t\"g\"\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tcontinue;\r\n\t\t\t} else {\r\n\t\t\t\tresult.name = stackFunctionName;\r\n\t\t\t\tresult.position = stackFunctionNamePosition;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (result.position === \"\") {\r\n\t\t\tlet lastStackString = stack[stack.length - 1].trim();\r\n\t\t\tif (lastStackString.startsWith(\"at chrome-extension://\")) {\r\n\t\t\t\tlet lastStackMatch = lastStackString.match(/^at[\\s]+(.+)/);\r\n\t\t\t\tif (lastStackMatch) {\r\n\t\t\t\t\tresult.position = lastStackMatch[lastStackMatch.length - 1];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (result.position === \"\") {\r\n\t\t\tresult.position = stack[stack.length - 1].trim().replace(/^at[\\s]*/g, \"\");\r\n\t\t}\r\n\t\treturn result;\r\n\t};\r\n\t/**\r\n\t * 待恢复的函数或对象\r\n\t */\r\n\tlet recoveryList = [];\r\n\t/**\r\n\t * 检测清理控制台\r\n\t * @this {Utils.Log}\r\n\t */\r\n\tlet checkClearConsole = function () {\r\n\t\tlogCount++;\r\n\t\tif (details.autoClearConsole && logCount > details.logMaxCount) {\r\n\t\t\tconsole.clear();\r\n\t\t\tlogCount = 0;\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 输出内容\r\n\t * @param {any} msg 需要输出的内容\r\n\t * @param {string} color 颜色\r\n\t * @param {string|undefined} otherStyle 其它CSS\r\n\t * @this {Utils.Log}\r\n\t */\r\n\tlet printContent = function (msg, color, otherStyle) {\r\n\t\tcheckClearConsole.apply(this);\r\n\t\totherStyle = otherStyle || \"\";\r\n\t\tlet stackSplit = new Error().stack.split(\"\\n\");\r\n\t\tstackSplit.splice(0, 2);\r\n\t\tlet { name: callerName, position: callerPosition } =\r\n\t\t\tparseErrorStack(stackSplit);\r\n\t\tlet tagName = this.tag;\r\n\t\tfunction consoleMsg(_msg_) {\r\n\t\t\tif (typeof _msg_ === \"string\") {\r\n\t\t\t\tconsole.log(\r\n\t\t\t\t\t`%c[${tagName}%c-%c${callerName}%c]%c %s`,\r\n\t\t\t\t\t...msgColorDetails,\r\n\t\t\t\t\t`color: ${color};${otherStyle}`,\r\n\t\t\t\t\t_msg_\r\n\t\t\t\t);\r\n\t\t\t} else if (typeof _msg_ === \"number\") {\r\n\t\t\t\tconsole.log(\r\n\t\t\t\t\t`%c[${tagName}%c-%c${callerName}%c]%c %d`,\r\n\t\t\t\t\t...msgColorDetails,\r\n\t\t\t\t\t`color: ${color};${otherStyle}`,\r\n\t\t\t\t\t_msg_\r\n\t\t\t\t);\r\n\t\t\t} else if (typeof _msg_ === \"object\") {\r\n\t\t\t\tconsole.log(\r\n\t\t\t\t\t`%c[${tagName}%c-%c${callerName}%c]%c %o`,\r\n\t\t\t\t\t...msgColorDetails,\r\n\t\t\t\t\t`color: ${color};${otherStyle}`,\r\n\t\t\t\t\t_msg_\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log(_msg_);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (Array.isArray(msg)) {\r\n\t\t\tmsg.forEach((item) => {\r\n\t\t\t\tconsoleMsg(item);\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tconsoleMsg(msg);\r\n\t\t}\r\n\t\tif (details.debug) {\r\n\t\t\t/* 如果开启调试模式,输出堆栈位置 */\r\n\t\t\tconsole.log(callerPosition);\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 前面的TAG标志\r\n\t */\r\n\tthis.tag = _GM_info_?.script?.name || \"Utils.Log\";\r\n\t/**\r\n\t * 控制台-普通输出\r\n\t * @param {any} msg 需要输出的内容,如果想输出多个,修改成数组,且数组内的长度最大值为4个\r\n\t * @param {string|undefined} color 输出的颜色\r\n\t * @param {string|undefined} otherStyle 其它CSS\r\n\t */\r\n\tthis.info = function (msg, color = details.infoColor, otherStyle) {\r\n\t\tprintContent.call(this, msg, color, otherStyle);\r\n\t};\r\n\t/**\r\n\t * 控制台-警告输出\r\n\t * @param {any} msg 需要输出的内容,如果想输出多个,修改成数组,且数组内的长度最大值为4个\r\n\t * @param {string|undefined} color 输出的颜色\r\n\t * @param {string|undefined} otherStyle 其它CSS\r\n\t */\r\n\tthis.warn = function (\r\n\t\tmsg,\r\n\t\tcolor = details.warnColor,\r\n\t\totherStyle = \"background: #FEF6D5;padding: 4px 6px 4px 0px;\"\r\n\t) {\r\n\t\tprintContent.call(this, msg, color, otherStyle);\r\n\t};\r\n\t/**\r\n\t * 控制台-错误输出\r\n\t * @param {any} msg 需要输出的内容,如果想输出多个,修改成数组,且数组内的长度最大值为4个\r\n\t * @param {string|undefined} color 输出的颜色\r\n\t * @param {string|undefined} otherStyle 其它CSS\r\n\t */\r\n\tthis.error = function (msg, color = details.errorColor, otherStyle) {\r\n\t\tprintContent.call(this, msg, color, otherStyle);\r\n\t};\r\n\t/**\r\n\t * 控制台-成功输出\r\n\t * @param {any} msg 需要输出的内容,如果想输出多个,修改成数组,且数组内的长度最大值为4个\r\n\t * @param {string|undefined} color 输出的颜色\r\n\t * @param {string|undefined} otherStyle 其它CSS\r\n\t */\r\n\tthis.success = function (msg, color = details.successColor, otherStyle) {\r\n\t\tprintContent.call(this, msg, color, otherStyle);\r\n\t};\r\n\t/**\r\n\t * 控制台-输出表格\r\n\t * @param {object[]} msg\r\n\t * @param {string|undefined} color 输出的颜色\r\n\t * @param {string|undefined} otherStyle 其它CSS\r\n\t * @example\r\n\t * log.table([{\"名字\":\"example\",\"值\":\"123\"},{\"名字\":\"example2\",\"值\":\"345\"}])\r\n\t */\r\n\tthis.table = function (msg, color = details.infoColor, otherStyle = \"\") {\r\n\t\tcheckClearConsole.apply(this);\r\n\t\tlet stack = new Error().stack.split(\"\\n\");\r\n\t\tstack.splice(0, 1);\r\n\t\tlet errorStackParse = parseErrorStack(stack);\r\n\t\tlet stackFunctionName = errorStackParse.name;\r\n\t\tlet stackFunctionNamePosition = errorStackParse.position;\r\n\t\tlet callerName = stackFunctionName;\r\n\t\tconsole.log(\r\n\t\t\t`%c[${this.tag}%c-%c${callerName}%c]%c`,\r\n\t\t\t...msgColorDetails,\r\n\t\t\t`color: ${color};${otherStyle}`\r\n\t\t);\r\n\t\tconsole.table(msg);\r\n\t\tif (details.debug) {\r\n\t\t\tconsole.log(stackFunctionNamePosition);\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 配置Log对象的颜色\r\n\t * @param {UtilsLogOptions} paramDetails 配置信息\r\n\t */\r\n\tthis.config = function (paramDetails) {\r\n\t\tdetails = Object.assign(details, paramDetails);\r\n\t};\r\n\t/**\r\n\t * 禁用输出\r\n\t */\r\n\tthis.disable = function () {\r\n\t\tlet that = this;\r\n\t\tObject.keys(this)\r\n\t\t\t.filter((keyName) => Boolean(keyName.match(/info|error|success|table/)))\r\n\t\t\t.forEach((keyName) => {\r\n\t\t\t\tlet value = {};\r\n\t\t\t\tvalue[keyName] = that[keyName];\r\n\t\t\t\trecoveryList = [...recoveryList, value];\r\n\t\t\t\tthat[keyName] = () => {};\r\n\t\t\t});\r\n\t};\r\n\t/**\r\n\t * 恢复输出\r\n\t */\r\n\tthis.recovery = function () {\r\n\t\tlet that = this;\r\n\t\trecoveryList.forEach((item) => {\r\n\t\t\tlet keyName = Object.keys(item);\r\n\t\t\tthat[keyName] = item[keyName];\r\n\t\t});\r\n\t\trecoveryList = [];\r\n\t};\r\n};\r\n\r\nexport { Log };\r\n","const Progress = function (paramConfig) {\r\n\tthis.config = {\r\n\t\t/**\r\n\t\t * canvas元素节点\r\n\t\t * @type {HTMLCanvasElement}\r\n\t\t */\r\n\t\tcanvasNode: null,\r\n\t\t/**\r\n\t\t * 绘制角度\r\n\t\t */\r\n\t\tdeg: 95,\r\n\t\t/**\r\n\t\t * 进度\r\n\t\t */\r\n\t\tprogress: 0,\r\n\t\t/**\r\n\t\t * 绘制的线宽度\r\n\t\t */\r\n\t\tlineWidth: 10,\r\n\t\t/**\r\n\t\t * 绘制的背景颜色\r\n\t\t */\r\n\t\tlineBgColor: \"#1e637c\",\r\n\t\t/**\r\n\t\t * 绘制的线的颜色\r\n\t\t */\r\n\t\tlineColor: \"#25deff\",\r\n\t\t/**\r\n\t\t * 绘制的字体颜色\r\n\t\t */\r\n\t\ttextColor: \"#000000\",\r\n\t\t/**\r\n\t\t * 绘制的字体大小(px)\r\n\t\t */\r\n\t\tfontSize: 22,\r\n\t\t/**\r\n\t\t * 绘制的圆的半径\r\n\t\t */\r\n\t\tcircleRadius: 50,\r\n\t\t/**\r\n\t\t * 控制绘制的函数\r\n\t\t */\r\n\t\tdraw: () => {},\r\n\t};\r\n\tthis.config = Utils.assign(this.config, paramConfig);\r\n\tif (!(this.config.canvasNode instanceof HTMLCanvasElement)) {\r\n\t\tthrow new Error(\"Utils.Progress 参数 canvasNode 必须是 HTMLCanvasElement\");\r\n\t}\r\n\t/* 获取画笔 */\r\n\tlet ctx = this.config.canvasNode.getContext(\"2d\");\r\n\t/* 元素宽度 */\r\n\tlet width = this.config.canvasNode.width;\r\n\t/* 元素高度 */\r\n\tlet height = this.config.canvasNode.height;\r\n\r\n\t/* 清除锯齿 */\r\n\tif (window.devicePixelRatio) {\r\n\t\tthis.config.canvasNode.style.width = width + \"px\";\r\n\t\tthis.config.canvasNode.style.height = height + \"px\";\r\n\t\tthis.config.canvasNode.height = height * window.devicePixelRatio;\r\n\t\tthis.config.canvasNode.width = width * window.devicePixelRatio;\r\n\t\tctx.scale(window.devicePixelRatio, window.devicePixelRatio);\r\n\t}\r\n\t/* 设置线宽 */\r\n\tctx.lineWidth = this.config.lineWidth;\r\n\t/* 绘制 */\r\n\tthis.draw = function () {\r\n\t\tlet degActive = (this.config.progress * 360) / 100;\r\n\t\t/* 清除画布 */\r\n\t\tctx.clearRect(0, 0, width, height);\r\n\t\t/* 开始绘制底圆 */\r\n\t\tctx.beginPath();\r\n\t\tctx.arc(width / 2, height / 2, this.config.circleRadius, 1, 8);\r\n\t\tctx.strokeStyle = this.config.lineBgColor;\r\n\t\tctx.stroke();\r\n\t\t/* 开始绘制动态圆 */\r\n\t\tctx.beginPath();\r\n\t\tctx.arc(\r\n\t\t\twidth / 2,\r\n\t\t\theight / 2,\r\n\t\t\tthis.config.circleRadius,\r\n\t\t\t-Math.PI / 2,\r\n\t\t\t(degActive * Math.PI) / 180 - Math.PI / 2\r\n\t\t);\r\n\t\tctx.strokeStyle = this.config.lineColor;\r\n\t\tctx.stroke();\r\n\t\t/* 获取百分比 */\r\n\t\tlet txt = parseInt(this.config.progress) + \"%\";\r\n\t\tctx.font = this.config.fontSize + \"px SimHei\";\r\n\t\t/* 获取文本宽度 */\r\n\t\tlet w = ctx.measureText(txt).width;\r\n\t\tlet h = this.config.fontSize / 2;\r\n\t\tctx.fillStyle = this.config.textColor;\r\n\t\tctx.fillText(txt, width / 2 - w / 2, height / 2 + h / 2);\r\n\t}.bind(this);\r\n};\r\n\r\nexport { Progress };\r\n","/**\r\n * \r\n * @param {...any} args \r\n * @returns \r\n */\r\nconst TryCatch = function (...args) {\r\n\t/* 定义变量和函数 */\r\n\tlet callbackFunction = null;\r\n\tlet context = null;\r\n\tlet handleError = null;\r\n\tlet defaultDetails = {\r\n\t\tlog: true,\r\n\t};\r\n\t/**\r\n\t * @function tryCatchObj\r\n\t * @description 空函数,用于链式调用。\r\n\t */\r\n\tfunction tryCatchObj() {}\r\n\r\n\t/**\r\n\t * 配置\r\n\t * @param {{\r\n\t * log: boolean\r\n\t * }} paramDetails\r\n\t */\r\n\ttryCatchObj.config = function (paramDetails) {\r\n\t\tdefaultDetails = Utils.assign(defaultDetails, paramDetails);\r\n\t\treturn tryCatchObj;\r\n\t};\r\n\t/**\r\n\t * 设置错误处理函数。\r\n\t * @param {function|string} handler 错误处理函数,可以是 function 或者 string 类型。如果是 string 类型,则会被当做代码进行执行。\r\n\t * @returns 返回 tryCatchObj 函数。\r\n\t */\r\n\ttryCatchObj.error = function (handler) {\r\n\t\thandleError = handler;\r\n\t\treturn tryCatchObj;\r\n\t};\r\n\r\n\t/**\r\n\t * 执行传入的函数并捕获其可能抛出的错误,并通过传入的错误处理函数进行处理。\r\n\t * @param {function|string} callback 待执行函数,可以是 function 或者 string 类型。如果是 string 类型,则会被当做代码进行执行。\r\n\t * @param {object|null} [__context__] 待执行函数的作用域,用于apply指定\r\n\t * @returns 如果函数有返回值,则返回该返回值;否则返回 tryCatchObj 函数以支持链式调用。\r\n\t * @throws {Error} 如果传入参数不符合要求,则会抛出相应类型的错误。\r\n\t */\r\n\ttryCatchObj.run = function (callback, __context__) {\r\n\t\tcallbackFunction = callback;\r\n\t\tcontext = __context__;\r\n\t\tlet result = executeTryCatch(callbackFunction, handleError, context);\r\n\t\treturn result !== void 0 ? result : tryCatchObj;\r\n\t};\r\n\r\n\t/**\r\n\t * 执行传入的函数并捕获其可能抛出的错误,并通过传入的错误处理函数进行处理。\r\n\t * @param {function|string} callback - 待执行函数,可以是 function 或者 string 类型。如果是 string 类型,则会被当做代码进行执行。\r\n\t * @param {function|string|null} handleErrorFunc - 错误处理函数,可以是 function 或者 string 类型。如果是 string 类型,则会被当做代码进行执行。\r\n\t * @param {object|null} funcThis - 待执行函数的作用域,用于apply指定\r\n\t * @returns {any|undefined} - 如果函数有返回值,则返回该返回值;否则返回 undefined。\r\n\t */\r\n\tfunction executeTryCatch(callback, handleErrorFunc, funcThis) {\r\n\t\tlet result = void 0;\r\n\t\ttry {\r\n\t\t\tif (typeof callback === \"string\") {\r\n\t\t\t\t(function () {\r\n\t\t\t\t\teval(callback);\r\n\t\t\t\t}).apply(funcThis, args);\r\n\t\t\t} else {\r\n\t\t\t\tresult = callback.apply(funcThis, args);\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tif (defaultDetails.log) {\r\n\t\t\t\tconsole.log(\r\n\t\t\t\t\t`%c ${callback?.name ? callback?.name : callback + \"出现错误\"} `,\r\n\t\t\t\t\t\"color: #f20000\"\r\n\t\t\t\t);\r\n\t\t\t\tconsole.log(`%c 错误原因:${error}`, \"color: #f20000\");\r\n\t\t\t\tconsole.trace(callback);\r\n\t\t\t}\r\n\t\t\tif (handleErrorFunc) {\r\n\t\t\t\tif (typeof handleErrorFunc === \"string\") {\r\n\t\t\t\t\tresult = function () {\r\n\t\t\t\t\t\treturn eval(handleErrorFunc);\r\n\t\t\t\t\t}.apply(funcThis, [...args, error]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresult = handleErrorFunc.apply(funcThis, [...args, error]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n\r\n\t// 返回 tryCatchObj 函数\r\n\treturn tryCatchObj;\r\n};\r\n\r\n\r\nexport {\r\n TryCatch\r\n}","class UtilsDictionary {\r\n\titems = {};\r\n\t/**\r\n\t * 检查是否有某一个键\r\n\t * @param {string} key 键\r\n\t * @returns {boolean}\r\n\t */\r\n\thas(key) {\r\n\t\treturn this.items.hasOwnProperty(key);\r\n\t}\r\n\t/**\r\n\t * 检查已有的键中是否以xx开头\r\n\t * @param {string} key 需要匹配的键\r\n\t * @returns {boolean}\r\n\t */\r\n\tstartsWith(key) {\r\n\t\tlet allKeys = this.keys();\r\n\t\tfor (const keyName of allKeys) {\r\n\t\t\tif (keyName.startsWith(key)) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\t/**\r\n\t * 获取以xx开头的键的值\r\n\t * @param {string} key 需要匹配的键\r\n\t * @returns {any}\r\n\t */\r\n\tgetStartsWith(key) {\r\n\t\tlet allKeys = this.keys();\r\n\t\tfor (const keyName of allKeys) {\r\n\t\t\tif (keyName.startsWith(key)) {\r\n\t\t\t\treturn this.items[keyName];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t/**\r\n\t * 为字典添加某一个值\r\n\t * @param {string} key 键\r\n\t * @param {any} val 值,默认为\"\"\r\n\t */\r\n\tset(key, val = \"\") {\r\n\t\tif (key === void 0) {\r\n\t\t\tthrow new Error(\"Utils.Dictionary().set 参数 key 不能为空\");\r\n\t\t}\r\n\t\tthis.items[key] = val;\r\n\t}\r\n\t/**\r\n\t * 删除某一个键\r\n\t * @param {string} key 键\r\n\t * @returns {boolean}\r\n\t */\r\n\tdelete(key) {\r\n\t\tif (this.has(key)) {\r\n\t\t\tReflect.deleteProperty(this.items, key);\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\t/**\r\n\t * 获取某个键的值\r\n\t * @param {string} key 键\r\n\t * @returns {any}\r\n\t */\r\n\tget(key) {\r\n\t\treturn this.has(key) ? this.items[key] : void 0;\r\n\t}\r\n\t/**\r\n\t * 返回字典中的所有值\r\n\t * @returns {any[]}\r\n\t */\r\n\tvalues() {\r\n\t\tlet resultList = [];\r\n\t\tfor (let prop in this.items) {\r\n\t\t\tif (this.has(prop)) {\r\n\t\t\t\tresultList.push(this.items[prop]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn resultList;\r\n\t}\r\n\t/**\r\n\t * 清空字典\r\n\t */\r\n\tclear() {\r\n\t\tthis.items = null;\r\n\t\tthis.items = {};\r\n\t}\r\n\t/**\r\n\t * 获取字典的长度\r\n\t * @returns {number}\r\n\t */\r\n\tsize() {\r\n\t\treturn Object.keys(this.items).length;\r\n\t}\r\n\t/**\r\n\t * 获取字典所有的键\r\n\t */\r\n\tkeys() {\r\n\t\treturn Object.keys(this.items);\r\n\t}\r\n\t/**\r\n\t * 返回字典本身\r\n\t * @returns {object}\r\n\t */\r\n\tgetItems() {\r\n\t\treturn this.items;\r\n\t}\r\n\t/**\r\n\t * 合并另一个字典\r\n\t * @param {object} data 需要合并的字典\r\n\t */\r\n\tconcat(data) {\r\n\t\tthis.items = Utils.assign(this.items, data.getItems());\r\n\t}\r\n\tforEach(callbackfn) {\r\n\t\tfor (const key in this.items) {\r\n\t\t\tcallbackfn(this.get(key), key, this.items);\r\n\t\t}\r\n\t}\r\n\t/**\r\n\t * 获取字典的长度,同this.size\r\n\t * @returns {number}\r\n\t */\r\n\tget length() {\r\n\t\treturn this.size();\r\n\t}\r\n\t/**\r\n\t * 迭代器\r\n\t */\r\n\tget entries() {\r\n\t\tlet that = this;\r\n\t\treturn function* () {\r\n\t\t\tlet itemKeys = Object.keys(that.getItems());\r\n\t\t\tfor (const keyName of itemKeys) {\r\n\t\t\t\tyield [keyName, that.get(keyName)];\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\t/**\r\n\t * 是否可遍历\r\n\t */\r\n\tget [Symbol.iterator]() {\r\n\t\tlet that = this;\r\n\t\treturn function () {\r\n\t\t\treturn that.entries();\r\n\t\t};\r\n\t}\r\n\t/**\r\n\t * .toString()和.toLocaleString()输出的字符串\r\n\t */\r\n\tget [Symbol.toStringTag]() {\r\n\t\treturn \"UtilsDictionary\";\r\n\t}\r\n}\r\n\r\nexport { UtilsDictionary };\r\n",null],"names":["Utils"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|