🗑️ loadMore

This commit is contained in:
BTMuli
2023-12-10 15:51:56 +08:00
parent 5395304431
commit 8c50da61b1
6 changed files with 107 additions and 19 deletions

View File

@@ -10,7 +10,7 @@ const MysApi = {
Lottery: "https://bbs-api.miyoushe.com/painter/wapi/lottery/user/show?id={lotteryId}",
News: "https://bbs-api.mihoyo.com/post/wapi/getNewsList?gids={gid}&page_size={pageSize}&type={newsType}&last_id={lastId}",
Forum:
"https://bbs-api.miyoushe.com/post/wapi/getForumPostList?forum_id={forum}&gids={gid}&sort_type={type}&page_size=20",
"https://bbs-api.miyoushe.com/post/wapi/getForumPostList?forum_id={forum}&gids={gid}&sort_type={type}&page={page}&page_size=20",
Feed: "https://bbs-api.miyoushe.com/post/api/feeds/posts?gids={gid}",
Navigator: "https://bbs-api.miyoushe.com/apihub/api/home/new?gids={gid}",
Position: "https://api-static.mihoyo.com/common/blackboard/ys_obc/v1/home/position?app_sn=ys_obc",

View File

@@ -14,16 +14,19 @@ import MysApi from "../api";
* @param {number} forumId 特定论坛 ID
* @param {number} gid GID
* @param {number} type 排序方式: 0-按热度排序1-最新回复2-按时间排序
* @param {number} page 页码
* @return {Promise<TGApp.Plugins.Mys.Forum.FullData>}
*/
async function getForumList(
forumId: number,
gid: number = 2,
type: number = 0,
page: number = 1,
): Promise<TGApp.Plugins.Mys.Forum.FullData> {
const url = MysApi.Forum.replace("{forum}", forumId.toString())
.replace("{gid}", gid.toString())
.replace("{type}", type.toString());
.replace("{type}", type.toString())
.replace("{page}", page.toString());
return await http.fetch<TGApp.Plugins.Mys.Forum.Response>(url).then((res) => res.data.data);
}

View File

@@ -30,7 +30,7 @@ declare namespace TGApp.Plugins.Mys.Forum {
* @property {number} last_id 最后一条帖子 ID
* @property {boolean} is_last 是否最后一页
* @property {boolean} is_origin 是否原创
* @property {string} page 页码
* @property {number} page 页码
* @property {unknown} databox 数据盒子
* @property {TGApp.Plugins.Mys.News.Item[]} list 帖子列表
* @return FullData
@@ -39,15 +39,57 @@ declare namespace TGApp.Plugins.Mys.Forum {
last_id: number;
is_last: boolean;
is_origin: boolean;
page: string;
page: number;
databox: unknown;
list: TGApp.Plugins.Mys.News.Item[];
}
/**
* @description 渲染数据
* @description 用于渲染的咨讯卡片
* @since Beta v0.3.7
* @interface RenderCard
* @property {string} title 标题
* @property {string} cover 封面图片 URL
* @property {string} postId 帖子 ID
* @property {string} subtitle 副标题
* @property user 发帖用户
* @property {string} user.nickname 用户昵称
* @property {string} user.pendant 用户头像挂件
* @property {string} user.icon 用户头像
* @property {string} user.label 用户标签
* @property forum 版块
* @property {string} forum.name 版块名称
* @property {string} forum.icon 版块图标
* @property {RenderStatus} status 活动状态,仅活动咨讯有
* @property data 帖子统计
* @property {number} data.mark 帖子收藏数
* @property {number} data.forward 帖子转发数
* @property {number} data.like 帖子点赞数
* @property {number} data.reply 帖子回复数
* @property {number} data.view 帖子浏览数
* @return RenderCard
*/
type RenderCard = TGApp.Plugins.Mys.News.RenderCard;
interface RenderCard {
title: string;
cover: string;
postId: string;
subtitle: string;
user: {
nickname: string;
pendant: string;
icon: string;
label: string;
};
forum: {
name: string;
icon: string;
};
data: {
mark: number;
forward: number;
like: number;
reply: number;
view: number;
};
}
}

View File

@@ -18,7 +18,7 @@ function getPostCard(post: TGApp.Plugins.Mys.News.Item): TGApp.Plugins.Mys.Forum
return {
title: post.post.subject,
cover: postCover,
postId: Number(post.post.post_id),
postId: post.post.post_id,
subtitle: post.post.post_id,
user: {
nickname: post.user.nickname,