From d56a2e2ed7c798e11b5a06c60529be6da5a0ae5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=84=86=E8=96=AF=E9=A5=BC?= Date: Sun, 10 Nov 2024 21:04:41 +0800 Subject: [PATCH] build: @nsnanocat/url --- CHANGELOG.md | 1 + package-lock.json | 11 +++++-- package.json | 3 +- src/Composite.Subtitles.response.dev.js | 3 +- src/Composite.Subtitles.response.js | 3 +- src/External.Lyrics.response.dev.js | 1 + src/External.Lyrics.response.js | 1 + src/External.Subtitles.response.dev.js | 39 ++++++++++++++----------- src/Manifest.response.dev.js | 3 +- src/Manifest.response.js | 3 +- src/Translate.response.dev.js | 3 +- src/Translate.response.js | 3 +- 12 files changed, 48 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 219b383b..1e920444 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### 🔣 Dependencies * 升级了 `@nsnanocat/util` * `$platform` 改为 `$app` + * 增加了 `@nsnanocat/url` * 使用了全新的 `URL` 和 `URLSearchParams` polyfill ### 🔄 Other Changes diff --git a/package-lock.json b/package-lock.json index 29b77c74..fcaafd3f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14 +1,15 @@ { "name": "@dualsubs/universal", - "version": "1.6.4", + "version": "1.6.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@dualsubs/universal", - "version": "1.6.4", + "version": "1.6.5", "license": "Apache-2.0", "dependencies": { + "@nsnanocat/url": "^1.0.1", "@nsnanocat/util": "^1.4.7", "crypto-js": "^4.2.0", "text-encoding": "^0.7.0" @@ -358,6 +359,12 @@ "node": ">= 8" } }, + "node_modules/@nsnanocat/url": { + "version": "1.0.1", + "resolved": "https://npm.pkg.github.com/download/@nsnanocat/url/1.0.1/93844072008c45fcc3f1df24983ec71f2fdb7ee4", + "integrity": "sha512-/Qk/rx1bocowP5Hq0YbSTZikpdr+7+VLkebCVBidTNsZWPhEbhQZyH7XBjMPk1uhd2i0Mh09qiA/vxP9hC8VhA==", + "license": "Apache-2.0" + }, "node_modules/@nsnanocat/util": { "version": "1.4.7", "resolved": "https://npm.pkg.github.com/download/@nsnanocat/util/1.4.7/63688bfd44291d5f4401afbe45d142c61302be8f", diff --git a/package.json b/package.json index 6ae5cf29..e539530e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@dualsubs/universal", - "version": "1.6.4", + "version": "1.6.5", "organizationName": "🍿️ DualSubs", "displayName": "🍿️ DualSubs: 🔣 Universal", "description": "流媒体平台字幕增强及双语模块\n如需恢复TV完整支持\n请配合“ iRingo: 📺 TV”使用", @@ -46,6 +46,7 @@ "node-polyfill-webpack-plugin": "^4.0.0" }, "dependencies": { + "@nsnanocat/url": "^1.0.1", "@nsnanocat/util": "^1.4.7", "crypto-js": "^4.2.0", "text-encoding": "^0.7.0" diff --git a/src/Composite.Subtitles.response.dev.js b/src/Composite.Subtitles.response.dev.js index 86258405..bbf3911c 100644 --- a/src/Composite.Subtitles.response.dev.js +++ b/src/Composite.Subtitles.response.dev.js @@ -1,4 +1,5 @@ -import { $app, URL, Lodash as _, Storage, fetch, notification, log, logError, wait, done, getScript, runScript } from "@nsnanocat/util"; +import { $app, Lodash as _, Storage, fetch, notification, log, logError, wait, done } from "@nsnanocat/util"; +import { URL } from "@nsnanocat/url"; import XML from "./XML/XML.mjs"; import VTT from "./WebVTT/WebVTT.mjs"; import database from "./database/index.mjs"; diff --git a/src/Composite.Subtitles.response.js b/src/Composite.Subtitles.response.js index c6029912..44a02fcb 100644 --- a/src/Composite.Subtitles.response.js +++ b/src/Composite.Subtitles.response.js @@ -1,4 +1,5 @@ -import { $app, URL, Lodash as _, Storage, fetch, notification, log, logError, wait, done, getScript, runScript } from "@nsnanocat/util"; +import { $app, Lodash as _, Storage, fetch, notification, log, logError, wait, done } from "@nsnanocat/util"; +import { URL } from "@nsnanocat/url"; import XML from "./XML/XML.mjs"; import VTT from "./WebVTT/WebVTT.mjs"; import database from "./database/index.mjs"; diff --git a/src/External.Lyrics.response.dev.js b/src/External.Lyrics.response.dev.js index e16d6f35..20be4bbb 100644 --- a/src/External.Lyrics.response.dev.js +++ b/src/External.Lyrics.response.dev.js @@ -1,4 +1,5 @@ import { $app, Lodash as _, Storage, fetch, notification, log, logError, wait, done } from "@nsnanocat/util"; +import { URL } from "@nsnanocat/url"; import LRC from "./LRC/LRC.mjs"; import database from "./database/index.mjs"; import setENV from "./function/setENV.mjs"; diff --git a/src/External.Lyrics.response.js b/src/External.Lyrics.response.js index 62ab119a..b165b24d 100644 --- a/src/External.Lyrics.response.js +++ b/src/External.Lyrics.response.js @@ -1,4 +1,5 @@ import { $app, Lodash as _, Storage, fetch, notification, log, logError, wait, done } from "@nsnanocat/util"; +import { URL } from "@nsnanocat/url"; import LRC from "./LRC/LRC.mjs"; import database from "./database/index.mjs"; import setENV from "./function/setENV.mjs"; diff --git a/src/External.Subtitles.response.dev.js b/src/External.Subtitles.response.dev.js index 30f49e88..f717aab0 100644 --- a/src/External.Subtitles.response.dev.js +++ b/src/External.Subtitles.response.dev.js @@ -1,4 +1,5 @@ -import { $app, URL, Lodash as _, Storage, fetch, notification, log, logError, wait, done, getScript, runScript } from "@nsnanocat/util"; +import { $app, Lodash as _, Storage, fetch, notification, log, logError, wait, done } from "@nsnanocat/util"; +import { URL } from "@nsnanocat/url"; import XML from "./XML/XML.mjs"; import VTT from "./WebVTT/WebVTT.mjs"; import database from "./database/index.mjs"; @@ -11,8 +12,11 @@ import Composite from "./function/Composite.mjs"; const url = new URL($request.url); log(`⚠ url: ${url.toJSON()}`, ""); // 获取连接参数 -const METHOD = $request.method, HOST = url.hostname, PATH = url.pathname, PATHs = url.pathname.split("/").filter(Boolean); -log(`⚠ METHOD: ${METHOD}, HOST: ${HOST}, PATH: ${PATH}` , ""); +const METHOD = $request.method, + HOST = url.hostname, + PATH = url.pathname, + PATHs = url.pathname.split("/").filter(Boolean); +log(`⚠ METHOD: ${METHOD}, HOST: ${HOST}, PATH: ${PATH}`, ""); // 解析格式 let FORMAT = ($response.headers?.["Content-Type"] ?? $response.headers?.["content-type"])?.split(";")?.[0]; if (FORMAT === "application/octet-stream" || FORMAT === "text/plain") FORMAT = detectFormat(URL, $response?.body, FORMAT); @@ -25,13 +29,14 @@ log(`⚠ FORMAT: ${FORMAT}`, ""); * 设置 * @type {{Settings: import('./types').Settings}} */ - const { Settings, Caches, Configs } = setENV("DualSubs", [(["YouTube", "Netflix", "BiliBili", "Spotify"].includes(PLATFORM)) ? PLATFORM : "Universal", "External", "API"], database); + const { Settings, Caches, Configs } = setENV("DualSubs", [["YouTube", "Netflix", "BiliBili", "Spotify"].includes(PLATFORM) ? PLATFORM : "Universal", "External", "API"], database); log(`⚠ Settings.Switch: ${Settings?.Switch}`, ""); switch (Settings.Switch) { case true: default: // 获取字幕类型与语言 - const Type = url.searchParams?.get("subtype") ?? Settings.Type, Languages = [url.searchParams?.get("lang")?.toUpperCase?.() ?? Settings.Languages[0], (url.searchParams?.get("tlang") ?? Caches?.tlang)?.toUpperCase?.() ?? Settings.Languages[1]]; + const Type = url.searchParams?.get("subtype") ?? Settings.Type, + Languages = [url.searchParams?.get("lang")?.toUpperCase?.() ?? Settings.Languages[0], (url.searchParams?.get("tlang") ?? Caches?.tlang)?.toUpperCase?.() ?? Settings.Languages[1]]; log(`⚠ Type: ${Type}, Languages: ${Languages}`, ""); // 创建字幕请求队列 let body = {}; @@ -49,18 +54,18 @@ log(`⚠ FORMAT: ${FORMAT}`, ""); switch (Settings.SubVendor) { case "URL": request = { - "url": Settings.URL, - "headers": { - "Accept": "*/*", - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1" - } + url: Settings.URL, + headers: { + Accept: "*/*", + "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1", + }, }; break; - }; + } break; - }; + } // 创建字幕Object - let externalSubtitle = await fetch(request).then(response => response.body);; + let externalSubtitle = await fetch(request).then(response => response.body); // 格式判断 switch (FORMAT) { case undefined: // 视为无body @@ -124,11 +129,11 @@ log(`⚠ FORMAT: ${FORMAT}`, ""); //log(`🚧 rawBody: ${JSON.stringify(rawBody)}`, ""); //$response.body = rawBody; break; - }; + } break; case false: break; - }; + } })() - .catch((e) => logError(e)) - .finally(() => done($response)) + .catch(e => logError(e)) + .finally(() => done($response)); diff --git a/src/Manifest.response.dev.js b/src/Manifest.response.dev.js index 9b555625..4dace98f 100644 --- a/src/Manifest.response.dev.js +++ b/src/Manifest.response.dev.js @@ -1,4 +1,5 @@ -import { $app, URL, Lodash as _, Storage, fetch, notification, log, logError, wait, done } from "@nsnanocat/util"; +import { $app, Lodash as _, Storage, fetch, notification, log, logError, wait, done } from "@nsnanocat/util"; +import { URL } from "@nsnanocat/url"; import M3U8 from "./EXTM3U/EXTM3U.mjs"; import AttrList from "./class/AttrList.mjs"; import database from "./database/index.mjs"; diff --git a/src/Manifest.response.js b/src/Manifest.response.js index 9b555625..4dace98f 100644 --- a/src/Manifest.response.js +++ b/src/Manifest.response.js @@ -1,4 +1,5 @@ -import { $app, URL, Lodash as _, Storage, fetch, notification, log, logError, wait, done } from "@nsnanocat/util"; +import { $app, Lodash as _, Storage, fetch, notification, log, logError, wait, done } from "@nsnanocat/util"; +import { URL } from "@nsnanocat/url"; import M3U8 from "./EXTM3U/EXTM3U.mjs"; import AttrList from "./class/AttrList.mjs"; import database from "./database/index.mjs"; diff --git a/src/Translate.response.dev.js b/src/Translate.response.dev.js index 3bd04701..3306caa4 100644 --- a/src/Translate.response.dev.js +++ b/src/Translate.response.dev.js @@ -1,4 +1,5 @@ -import { $app, URL, Lodash as _, Storage, fetch, notification, log, logError, wait, done } from "@nsnanocat/util"; +import { $app, Lodash as _, Storage, fetch, notification, log, logError, wait, done } from "@nsnanocat/util"; +import { URL } from "@nsnanocat/url"; import XML from "./XML/XML.mjs"; import VTT from "./WebVTT/WebVTT.mjs"; import database from "./database/index.mjs"; diff --git a/src/Translate.response.js b/src/Translate.response.js index ff6f0d35..ff1db0ff 100644 --- a/src/Translate.response.js +++ b/src/Translate.response.js @@ -1,4 +1,5 @@ -import { $app, URL, Lodash as _, Storage, fetch, notification, log, logError, wait, done } from "@nsnanocat/util"; +import { $app, Lodash as _, Storage, fetch, notification, log, logError, wait, done } from "@nsnanocat/util"; +import { URL } from "@nsnanocat/url"; import XML from "./XML/XML.mjs"; import VTT from "./WebVTT/WebVTT.mjs"; import database from "./database/index.mjs";