diff --git a/src/components/viewPost/tp-parser.vue b/src/components/viewPost/tp-parser.vue index c2671c86..2c96b1f9 100644 --- a/src/components/viewPost/tp-parser.vue +++ b/src/components/viewPost/tp-parser.vue @@ -93,6 +93,7 @@ function getParsedText(data: TpTextType): Array { function getTpName(tp: TGApp.BBS.SctPost.Base): Component { if (tp.children) return TpTexts; + if (typeof tp.insert === "undefined") return TpUnknown; if (typeof tp.insert === "string") return TpText; // game_user_info属于backup_text的一种,必须放在backup_text判断的前面 if ("game_user_info" in tp.insert) return TpUid; diff --git a/src/views/t-post.vue b/src/views/t-post.vue index c9ba6bb0..72ac03fa 100644 --- a/src/views/t-post.vue +++ b/src/views/t-post.vue @@ -286,7 +286,9 @@ async function getRenderPost( jsonParse = data.post.structured_content; } } - return JSON.parse(jsonParse); + const res = JSON.parse(jsonParse); + if (!Array.isArray(res) && !res.insert) return [res]; + return res; } async function parseContent(fullData: TGApp.BBS.Post.FullData): Promise {