mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-12 09:18:14 +08:00
🏷️ fix typo
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @file web/utils/annoParser.ts
|
* @file web/utils/annoParser.ts
|
||||||
* @description 解析游戏内公告数据
|
* @description 解析游戏内公告数据
|
||||||
* @since Beta v0.6.7
|
* @since Beta v0.6.8
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import TpText from "@comp/viewPost/tp-text.vue";
|
import TpText from "@comp/viewPost/tp-text.vue";
|
||||||
@@ -94,7 +94,7 @@ function parseAnnoContent(
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 解析公告节点
|
* @description 解析公告节点
|
||||||
* @since Beta v0.6.0
|
* @since Beta v0.6.8
|
||||||
* @param {Node} node - 节点
|
* @param {Node} node - 节点
|
||||||
* @param {Record<string, string>} attr - 属性
|
* @param {Record<string, string>} attr - 属性
|
||||||
* @returns {TGApp.Plugins.Mys.SctPost.Base} 结构化数据
|
* @returns {TGApp.Plugins.Mys.SctPost.Base} 结构化数据
|
||||||
@@ -107,7 +107,9 @@ function parseAnnoNode(
|
|||||||
insert: { tag: node.nodeName, text: node.textContent, type: node.nodeType },
|
insert: { tag: node.nodeName, text: node.textContent, type: node.nodeType },
|
||||||
};
|
};
|
||||||
if (node.nodeType !== Node.ELEMENT_NODE && node.nodeType !== Node.TEXT_NODE) return [defaultRes];
|
if (node.nodeType !== Node.ELEMENT_NODE && node.nodeType !== Node.TEXT_NODE) return [defaultRes];
|
||||||
if (node.nodeType === Node.TEXT_NODE) return [{ insert: node.textContent, attributes: attr }];
|
if (node.nodeType === Node.TEXT_NODE) {
|
||||||
|
return [{ insert: node.textContent ?? "", attributes: attr }];
|
||||||
|
}
|
||||||
const element = <HTMLElement>node;
|
const element = <HTMLElement>node;
|
||||||
defaultRes = {
|
defaultRes = {
|
||||||
insert: {
|
insert: {
|
||||||
@@ -170,7 +172,7 @@ function parseAnnoNode(
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 解析公告段落
|
* @description 解析公告段落
|
||||||
* @since Beta v0.6.3
|
* @since Beta v0.6.8
|
||||||
* @param {HTMLElement} p - 段落元素
|
* @param {HTMLElement} p - 段落元素
|
||||||
* @param {Record<string, string>} attr - 属性
|
* @param {Record<string, string>} attr - 属性
|
||||||
* @returns {TGApp.Plugins.Mys.SctPost.Base} 结构化数据
|
* @returns {TGApp.Plugins.Mys.SctPost.Base} 结构化数据
|
||||||
@@ -189,7 +191,9 @@ function parseAnnoParagraph(
|
|||||||
childrenLength: p.childNodes.length,
|
childrenLength: p.childNodes.length,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
if (p.childNodes.length === 0) return { insert: p.innerHTML === "" ? "\n" : p.textContent };
|
if (p.childNodes.length === 0) {
|
||||||
|
return { insert: p.innerHTML === "" ? "\n" : (p.textContent ?? "") };
|
||||||
|
}
|
||||||
if (p.childNodes.length === 1) {
|
if (p.childNodes.length === 1) {
|
||||||
if (
|
if (
|
||||||
p.childNodes[0].nodeType !== Node.ELEMENT_NODE &&
|
p.childNodes[0].nodeType !== Node.ELEMENT_NODE &&
|
||||||
@@ -221,7 +225,7 @@ function parseAnnoParagraph(
|
|||||||
p.childNodes.forEach((child) => {
|
p.childNodes.forEach((child) => {
|
||||||
let childRes: TGApp.Plugins.Mys.SctPost.Base;
|
let childRes: TGApp.Plugins.Mys.SctPost.Base;
|
||||||
if (child.nodeType === Node.TEXT_NODE) {
|
if (child.nodeType === Node.TEXT_NODE) {
|
||||||
childRes = { insert: child.textContent };
|
childRes = { insert: child.textContent ?? "" };
|
||||||
} else if (child.nodeType === Node.ELEMENT_NODE) {
|
} else if (child.nodeType === Node.ELEMENT_NODE) {
|
||||||
const element = <HTMLElement>child;
|
const element = <HTMLElement>child;
|
||||||
if (element.tagName === "SPAN") childRes = parseAnnoSpan(element);
|
if (element.tagName === "SPAN") childRes = parseAnnoSpan(element);
|
||||||
@@ -247,7 +251,7 @@ function parseAnnoParagraph(
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 解析公告 span
|
* @description 解析公告 span
|
||||||
* @since Beta v0.5.3
|
* @since Beta v0.6.8
|
||||||
* @param {HTMLElement} span - span 元素
|
* @param {HTMLElement} span - span 元素
|
||||||
* @param {Record<string, string>} attr - 属性
|
* @param {Record<string, string>} attr - 属性
|
||||||
* @returns {TGApp.Plugins.Mys.SctPost.Base} 结构化数据
|
* @returns {TGApp.Plugins.Mys.SctPost.Base} 结构化数据
|
||||||
@@ -291,7 +295,7 @@ function parseAnnoSpan(
|
|||||||
const parse = decodeRegExp(span.innerHTML);
|
const parse = decodeRegExp(span.innerHTML);
|
||||||
if (parse.includes("</t>")) {
|
if (parse.includes("</t>")) {
|
||||||
const dom = new DOMParser().parseFromString(parse, "text/html");
|
const dom = new DOMParser().parseFromString(parse, "text/html");
|
||||||
return { insert: dom.body.textContent, attributes: spanAttrs };
|
return { insert: dom.body.textContent ?? "", attributes: spanAttrs };
|
||||||
}
|
}
|
||||||
return { insert: parse, attributes: spanAttrs };
|
return { insert: parse, attributes: spanAttrs };
|
||||||
}
|
}
|
||||||
@@ -322,7 +326,7 @@ function parseAnnoImage(img: HTMLElement): TGApp.Plugins.Mys.SctPost.Base {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 解析公告锚点
|
* @description 解析公告锚点
|
||||||
* @since Beta v0.5.3
|
* @since Beta v0.6.8
|
||||||
* @param {HTMLElement} a - 锚点元素
|
* @param {HTMLElement} a - 锚点元素
|
||||||
* @returns {TGApp.Plugins.Mys.SctPost.Base} 结构化数据
|
* @returns {TGApp.Plugins.Mys.SctPost.Base} 结构化数据
|
||||||
*/
|
*/
|
||||||
@@ -345,7 +349,7 @@ function parseAnnoAnchor(a: HTMLElement): TGApp.Plugins.Mys.SctPost.Base {
|
|||||||
const res = anchor.href.match(regex);
|
const res = anchor.href.match(regex);
|
||||||
if (res !== null && res.length > 2) link = res[2];
|
if (res !== null && res.length > 2) link = res[2];
|
||||||
}
|
}
|
||||||
return { insert: anchor.textContent, attributes: { link: link } };
|
return { insert: anchor.textContent ?? "", attributes: { link: link } };
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -384,7 +388,7 @@ function parseAnnoDetails(details: HTMLElement): TGApp.Plugins.Mys.SctPost.Base
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 解析公告表格
|
* @description 解析公告表格
|
||||||
* @since Beta v0.5.3
|
* @since Beta v0.6.8
|
||||||
* @param {HTMLElement} table - 表格元素
|
* @param {HTMLElement} table - 表格元素
|
||||||
* @returns {TGApp.Plugins.Mys.SctPost.Base} 结构化数据
|
* @returns {TGApp.Plugins.Mys.SctPost.Base} 结构化数据
|
||||||
*/
|
*/
|
||||||
@@ -411,10 +415,11 @@ function parseAnnoTable(table: HTMLElement): TGApp.Plugins.Mys.SctPost.Base {
|
|||||||
for (const cell of cellParsed) {
|
for (const cell of cellParsed) {
|
||||||
if (cell.children && cell.children.length > 0) {
|
if (cell.children && cell.children.length > 0) {
|
||||||
for (const cellChild of cell.children) {
|
for (const cellChild of cell.children) {
|
||||||
if (cellChild.attributes && JSON.stringify(cellChild.attributes === "{}")) {
|
if (cellChild.attributes && JSON.stringify(cellChild.attributes) === "{}") {
|
||||||
delete cellChild.attributes;
|
delete cellChild.attributes;
|
||||||
}
|
}
|
||||||
const cellSpan = document.createElement("span");
|
const cellSpan = document.createElement("span");
|
||||||
|
// @ts-expect-error No overload matches this call
|
||||||
render(h(TpText, { data: cellChild }), cellSpan);
|
render(h(TpText, { data: cellChild }), cellSpan);
|
||||||
span.appendChild(cellSpan);
|
span.appendChild(cellSpan);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user