From d0936a0a605abee577b6bbe72b0f2109dae42504 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=AE=E6=A3=83?= Date: Sat, 1 Mar 2025 14:26:59 +0800 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E9=83=A8=E5=88=86=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/app/t-postcard.vue | 38 +++-- src/components/userScripts/tus-mission.vue | 8 +- src/components/viewPost/vp-btn-reply.vue | 6 +- .../viewPost/vp-overlay-collection.vue | 6 +- .../viewPost/vp-overlay-lottery.vue | 45 +++++- src/components/viewPost/vp-overlay-search.vue | 4 +- src/components/viewPost/vp-reply-debug.vue | 2 +- src/components/viewPost/vp-reply-item.vue | 10 +- src/pages/common/PostCollect.vue | 6 +- src/pages/common/PostForum.vue | 19 +-- src/pages/common/PostNews.vue | 13 +- src/pages/common/PostTopic.vue | 16 +- src/plugins/Mys/index.ts | 8 +- src/plugins/Mys/types/Collection.d.ts | 67 -------- src/plugins/Mys/types/Forum.d.ts | 86 ---------- src/plugins/Mys/types/News.d.ts | 112 ------------- src/plugins/Mys/types/Post.d.ts | 21 ++- src/plugins/Mys/types/Search.d.ts | 44 ------ src/plugins/Mys/types/User.d.ts | 39 +---- src/plugins/Mys/utils/getGachaCard.ts | 4 +- src/plugins/Mys/utils/getLotteryCard.ts | 44 ------ src/types/BBS/Collection.d.ts | 44 +++--- src/types/BBS/Forum.d.ts | 35 ++++- .../Mys/types => types/BBS}/Lottery.d.ts | 86 +++------- src/types/BBS/News.d.ts | 32 ++++ .../Mys/types => types/BBS}/Reply.d.ts | 127 ++++++--------- src/types/BBS/Search.d.ts | 36 +++++ .../Mys/types => types/BBS}/Topic.d.ts | 105 ++++++------- src/utils/TGWindow.ts | 5 +- src/views/t-post-json.vue | 4 +- src/views/t-post.vue | 6 +- src/web/request/bbsReq.ts | 39 +---- .../Mys => web}/request/painterReq.ts | 63 ++++---- src/{plugins/Mys => web}/request/postReq.ts | 147 ++++++++---------- src/web/request/topicReq.ts | 67 ++++++++ 35 files changed, 540 insertions(+), 854 deletions(-) delete mode 100644 src/plugins/Mys/types/Collection.d.ts delete mode 100644 src/plugins/Mys/types/Forum.d.ts delete mode 100644 src/plugins/Mys/types/News.d.ts delete mode 100644 src/plugins/Mys/types/Search.d.ts delete mode 100644 src/plugins/Mys/utils/getLotteryCard.ts rename src/{plugins/Mys/types => types/BBS}/Lottery.d.ts (51%) create mode 100644 src/types/BBS/News.d.ts rename src/{plugins/Mys/types => types/BBS}/Reply.d.ts (73%) create mode 100644 src/types/BBS/Search.d.ts rename src/{plugins/Mys/types => types/BBS}/Topic.d.ts (64%) rename src/{plugins/Mys => web}/request/painterReq.ts (63%) rename src/{plugins/Mys => web}/request/postReq.ts (54%) create mode 100644 src/web/request/topicReq.ts diff --git a/src/components/app/t-postcard.vue b/src/components/app/t-postcard.vue index 0952906e..9e2e322d 100644 --- a/src/components/app/t-postcard.vue +++ b/src/components/app/t-postcard.vue @@ -77,7 +77,21 @@ import { createPost } from "@/utils/TGWindow.js"; type TPostCardProps = { modelValue: TGApp.Plugins.Mys.Post.FullData; selectMode?: boolean }; type TPostCardEmits = (e: "onSelected", v: string) => void; -type TPostStatus = TGApp.Plugins.Mys.News.RenderStatus & { stat: ActStat }; +type TPostStatus = RenderStatus & { stat: ActStat }; +type RenderForum = { name: string; icon: string; id: number }; +type RenderStatus = { stat: number; label: string; color: string }; +type RenderData = { mark: number; forward: number; like: number; reply: number; view: number }; +export type RenderCard = { + title: string; + cover: string; + postId: number; + subtitle: string; + user: TGApp.Plugins.Mys.User.Post | null; + forum: RenderForum | null; + data: RenderData | null; + status?: RenderStatus; + topics: Array; +}; enum ActStat { UNKNOWN, @@ -94,7 +108,7 @@ const stats: Readonly> = [ ]; const props = withDefaults(defineProps(), { selectMode: false }); const emits = defineEmits(); -const card = shallowRef(); +const card = shallowRef(); const cardBg = computed(() => { if (card.value && card.value.status) return card.value.status.color; @@ -108,7 +122,7 @@ watch( async () => (card.value = getPostCard(props.modelValue)), ); -function getActivityStatus(status: number): TGApp.Plugins.Mys.News.RenderStatus { +function getActivityStatus(status: number): RenderStatus { if (status satisfies ActStat) { const stat: ActStat = status; return stats[stat]; @@ -126,15 +140,9 @@ function getPostCover(item: TGApp.Plugins.Mys.Post.FullData): string { return `${cover}?x-oss-process=image/resize,m_fill,w_360,h_130,limit_0/format,png`; } -/** - * @description 获取公共属性 - * @since Beta v0.6.1 - * @param {TGApp.Plugins.Mys.Post.FullData} item 咨讯列表项 - * @returns {TGApp.Plugins.Mys.News.RenderCard} 渲染用咨讯列表项 - */ -function getCommonCard(item: TGApp.Plugins.Mys.Post.FullData): TGApp.Plugins.Mys.News.RenderCard { - let forumData: TGApp.Plugins.Mys.News.RenderForum | null = null; - let statData: TGApp.Plugins.Mys.News.RenderData | null = null; +function getCommonCard(item: TGApp.Plugins.Mys.Post.FullData): RenderCard { + let forumData: RenderForum | null = null; + let statData: RenderData | null = null; if (item.forum !== null) { forumData = { name: item.forum.name, icon: item.forum.icon, id: item.forum.id }; } @@ -159,7 +167,7 @@ function getCommonCard(item: TGApp.Plugins.Mys.Post.FullData): TGApp.Plugins.Mys }; } -function getPostCard(item: TGApp.Plugins.Mys.Post.FullData): TGApp.Plugins.Mys.News.RenderCard { +function getPostCard(item: TGApp.Plugins.Mys.Post.FullData): RenderCard { const commonCard = getCommonCard(item); if ( item.news_meta !== undefined && @@ -186,12 +194,12 @@ async function shareCard(): Promise { await generateShareImg(fileName, shareDom, 2.5); } -async function toTopic(topic: TGApp.Plugins.Mys.Topic.Info): Promise { +async function toTopic(topic: TGApp.BBS.Topic.Info): Promise { const gid = props.modelValue.post.game_id; await emit("active_deep_link", `router?path=/posts/topic/${gid}/${topic.id}`); } -async function toForum(forum: TGApp.Plugins.Mys.News.RenderForum): Promise { +async function toForum(forum: RenderForum): Promise { const gid = props.modelValue.post.game_id; await emit("active_deep_link", `router?path=/posts/forum/${gid}/${forum.id}`); } diff --git a/src/components/userScripts/tus-mission.vue b/src/components/userScripts/tus-mission.vue index 85fc5abd..77e06524 100644 --- a/src/components/userScripts/tus-mission.vue +++ b/src/components/userScripts/tus-mission.vue @@ -31,14 +31,14 @@