mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-18 10:18:14 +08:00
🌱 添加帖子合集相关类型&请求
This commit is contained in:
@@ -1,11 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* @file plugins/Mys/index.ts
|
* @file plugins/Mys/index.ts
|
||||||
* @description Mys plugin index
|
* @description Mys plugin index
|
||||||
* @since Beta v0.3.7
|
* @since Beta v0.3.9
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import MysApi from "./api";
|
import MysApi from "./api";
|
||||||
import { getLoginQr, getLoginStatus } from "./request/doGameLogin";
|
import { getLoginQr, getLoginStatus } from "./request/doGameLogin";
|
||||||
|
import { getCollectionData, getCollectionPosts } from "./request/getCollectionData";
|
||||||
import getForumList from "./request/getForumList";
|
import getForumList from "./request/getForumList";
|
||||||
import getGachaData from "./request/getGachaData";
|
import getGachaData from "./request/getGachaData";
|
||||||
import getHomeNavigator from "./request/getHomeNavigator";
|
import getHomeNavigator from "./request/getHomeNavigator";
|
||||||
@@ -24,6 +25,10 @@ const Mys = {
|
|||||||
Post: {
|
Post: {
|
||||||
get: getPostData,
|
get: getPostData,
|
||||||
},
|
},
|
||||||
|
Collection: {
|
||||||
|
info: getCollectionData,
|
||||||
|
data: getCollectionPosts,
|
||||||
|
},
|
||||||
Posts: {
|
Posts: {
|
||||||
get: getForumList,
|
get: getForumList,
|
||||||
card: getPostsCard,
|
card: getPostsCard,
|
||||||
|
|||||||
58
src/plugins/Mys/request/getCollectionData.ts
Normal file
58
src/plugins/Mys/request/getCollectionData.ts
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
/**
|
||||||
|
* @file plugins/Mys/request/getCollectionPosts.ts
|
||||||
|
* @description Mys 获取合集帖子
|
||||||
|
* @since Beta v0.3.9
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { http } from "@tauri-apps/api";
|
||||||
|
|
||||||
|
import MysApi from "../api";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 获取合集信息
|
||||||
|
* @since Beta v0.3.9
|
||||||
|
* @todo invalid request
|
||||||
|
* @param {number} collectionId 合集 ID
|
||||||
|
* @returns {Promise<TGApp.Plugins.Mys.Collection.ResponseData>} 合集信息
|
||||||
|
*/
|
||||||
|
export async function getCollectionData(
|
||||||
|
collectionId: number,
|
||||||
|
): Promise<TGApp.Plugins.Mys.Collection.ResponseData> {
|
||||||
|
const url = `https://bbs-api.miyoushe.com/collection/wapi/collection/detail?id=${collectionId}`;
|
||||||
|
console.log(url);
|
||||||
|
return await http
|
||||||
|
.fetch<TGApp.Plugins.Mys.Collection.Response>(url, {
|
||||||
|
method: "GET",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
Referer: MysApi.Post.Referer,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
console.log(res.data);
|
||||||
|
return res.data.data;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 获取合集帖子
|
||||||
|
* @since Beta v0.3.9
|
||||||
|
* @param {number} collectionId 合集 ID
|
||||||
|
* @returns {Promise<TGApp.Plugins.Mys.Post.FullData[]>}
|
||||||
|
*/
|
||||||
|
export async function getCollectionPosts(
|
||||||
|
collectionId: number,
|
||||||
|
): Promise<TGApp.Plugins.Mys.Collection.Data[]> {
|
||||||
|
const url = `https://bbs-api.miyoushe.com/post/wapi/getPostFullInCollection?collection_id=${collectionId}`;
|
||||||
|
return await http
|
||||||
|
.fetch<TGApp.Plugins.Mys.Collection.ResponsePosts>(url, {
|
||||||
|
method: "GET",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
Referer: MysApi.Post.Referer,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
return res.data.data.posts;
|
||||||
|
});
|
||||||
|
}
|
||||||
92
src/plugins/Mys/types/Collection.d.ts
vendored
Normal file
92
src/plugins/Mys/types/Collection.d.ts
vendored
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
/**
|
||||||
|
* @file plugins/Mys/types/Collection.d.ts
|
||||||
|
* @description Mys 插件合集类型声明
|
||||||
|
* @since Beta v0.3.9
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description Mys 合集类型
|
||||||
|
* @since Beta v0.3.9
|
||||||
|
* @namespace TGApp.Plugins.Mys.Collection
|
||||||
|
* @memberof TGApp.Plugins.Mys
|
||||||
|
*/
|
||||||
|
declare namespace TGApp.Plugins.Mys.Collection {
|
||||||
|
/**
|
||||||
|
* @description 合集信息返回
|
||||||
|
* @since Beta v0.3.9
|
||||||
|
* @interface Response
|
||||||
|
* @extends TGApp.BBS.Response.BaseWithData
|
||||||
|
* @property {ResponseData} data 返回数据
|
||||||
|
* @return Response
|
||||||
|
*/
|
||||||
|
interface Response extends TGApp.BBS.Response.BaseWithData {
|
||||||
|
data: ResponseData;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 合集信息返回数据
|
||||||
|
* @since Beta v0.3.9
|
||||||
|
* @interface ResponseData
|
||||||
|
* @property {Info} collection_info 合集信息
|
||||||
|
* @property {TGApp.Plugins.Mys.User.Collection} author_info 用户信息
|
||||||
|
* @return ResponseData
|
||||||
|
*/
|
||||||
|
interface ResponseData {
|
||||||
|
collection_info: Info;
|
||||||
|
author_info: TGApp.Plugins.Mys.User.Collection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 合集信息
|
||||||
|
* @since Beta v0.3.9
|
||||||
|
* @interface Info
|
||||||
|
* @property {string} cover 封面
|
||||||
|
* @property {string} desc 描述
|
||||||
|
* @property {number} id 合集 ID
|
||||||
|
* @property {boolean} is_delete 是否删除
|
||||||
|
* @property {boolean} is_following 是否关注
|
||||||
|
* @property {number} post_num 帖子数量
|
||||||
|
* @property {number} post_updated_at 帖子更新时间(秒级时间戳)
|
||||||
|
* @property {number} status 状态 // todo: 未知
|
||||||
|
* @property {string} title 标题
|
||||||
|
* @property {number} uid 用户 ID
|
||||||
|
* @property {number} view_num 浏览量
|
||||||
|
* @return Info
|
||||||
|
*/
|
||||||
|
interface Info {
|
||||||
|
cover: string;
|
||||||
|
desc: string;
|
||||||
|
id: number;
|
||||||
|
is_delete: boolean;
|
||||||
|
is_following: boolean;
|
||||||
|
post_num: number;
|
||||||
|
post_updated_at: number;
|
||||||
|
status: number;
|
||||||
|
title: string;
|
||||||
|
uid: number;
|
||||||
|
view_num: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 获取合集帖子返回
|
||||||
|
* @since Beta v0.3.9
|
||||||
|
* @interface ResponsePosts
|
||||||
|
* @extends TGApp.BBS.Response.BaseWithData
|
||||||
|
* @property {Data[]} data.list 合集帖子列表
|
||||||
|
* @return ResponsePosts
|
||||||
|
*/
|
||||||
|
interface ResponsePosts extends TGApp.BBS.Response.BaseWithData {
|
||||||
|
data: {
|
||||||
|
posts: Data[];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 合集帖子
|
||||||
|
* @since Beta v0.3.9
|
||||||
|
* @interface Data
|
||||||
|
* @see TGApp.Plugins.Mys.Post.FullData
|
||||||
|
* @return Data
|
||||||
|
*/
|
||||||
|
type Data = TGApp.Plugins.Mys.Post.FullData;
|
||||||
|
}
|
||||||
39
src/plugins/Mys/types/Post.d.ts
vendored
39
src/plugins/Mys/types/Post.d.ts
vendored
@@ -1,12 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* @file plugins/Mys/types/post.d.ts
|
* @file plugins/Mys/types/post.d.ts
|
||||||
* @description Mys 插件帖子类型定义文件
|
* @description Mys 插件帖子类型定义文件
|
||||||
* @since Beta v0.3.7
|
* @since Beta v0.3.9
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description Mys 插件帖子类型
|
* @description Mys 插件帖子类型
|
||||||
* @since Beta v0.3.4
|
* @since Beta v0.3.9
|
||||||
* @namespace TGApp.Plugins.Mys.Post
|
* @namespace TGApp.Plugins.Mys.Post
|
||||||
* @memberof TGApp.Plugins.Mys
|
* @memberof TGApp.Plugins.Mys
|
||||||
*/
|
*/
|
||||||
@@ -27,7 +27,7 @@ declare namespace TGApp.Plugins.Mys.Post {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 帖子数据
|
* @description 帖子数据
|
||||||
* @since Alpha v0.2.1
|
* @since Beta v0.3.9
|
||||||
* @interface FullData
|
* @interface FullData
|
||||||
* @property {Post} post 帖子信息
|
* @property {Post} post 帖子信息
|
||||||
* @property {Forum} forum 所属版块
|
* @property {Forum} forum 所属版块
|
||||||
@@ -44,7 +44,7 @@ declare namespace TGApp.Plugins.Mys.Post {
|
|||||||
* @property {number} vot_count 投票数
|
* @property {number} vot_count 投票数
|
||||||
* @property {number} last_modify_time 最后修改时间
|
* @property {number} last_modify_time 最后修改时间
|
||||||
* @property {string} recommend_type 推荐类型
|
* @property {string} recommend_type 推荐类型
|
||||||
* @property {unknown} collection 合集,可能为 null
|
* @property {Collection} collection 合集,可能为 null
|
||||||
* @property {unknown[]} vod_list 视频列表,可能为空
|
* @property {unknown[]} vod_list 视频列表,可能为空
|
||||||
* @property {boolean} is_block_on 是否被屏蔽
|
* @property {boolean} is_block_on 是否被屏蔽
|
||||||
* @property {unknown} forum_rank_info 版块排行信息,可能为 null
|
* @property {unknown} forum_rank_info 版块排行信息,可能为 null
|
||||||
@@ -68,7 +68,7 @@ declare namespace TGApp.Plugins.Mys.Post {
|
|||||||
vot_count: number;
|
vot_count: number;
|
||||||
last_modify_time: number;
|
last_modify_time: number;
|
||||||
recommend_type: string;
|
recommend_type: string;
|
||||||
collection: unknown | null;
|
collection: Collection | null;
|
||||||
vod_list: Vod[];
|
vod_list: Vod[];
|
||||||
is_block_on: boolean;
|
is_block_on: boolean;
|
||||||
forum_rank_info: unknown | null;
|
forum_rank_info: unknown | null;
|
||||||
@@ -304,6 +304,35 @@ declare namespace TGApp.Plugins.Mys.Post {
|
|||||||
answer_num: number;
|
answer_num: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 合集信息
|
||||||
|
* @since Beta v0.3.9
|
||||||
|
* @interface Collection
|
||||||
|
* @property {string} prev_post_id 上一篇帖子 ID,为 0 说明没有上一篇
|
||||||
|
* @property {string} next_post_id 下一篇帖子 ID,为 0 说明没有下一篇
|
||||||
|
* @property {string} collection_id 合集 ID
|
||||||
|
* @property {number} cur 第几篇
|
||||||
|
* @property {number} total 总篇数
|
||||||
|
* @property {string} collection_title 合集标题
|
||||||
|
* @property {number} prev_post_game_id 上一篇帖子游戏 ID
|
||||||
|
* @property {number} next_post_game_id 下一篇帖子游戏 ID
|
||||||
|
* @property {number} prev_post_view_type 上一篇帖子浏览类型
|
||||||
|
* @property {number} next_post_view_type 下一篇帖子浏览类型
|
||||||
|
* @return Collection
|
||||||
|
*/
|
||||||
|
interface Collection {
|
||||||
|
prev_post_id: string;
|
||||||
|
next_post_id: string;
|
||||||
|
collection_id: string;
|
||||||
|
cur: number;
|
||||||
|
total: number;
|
||||||
|
collection_title: string;
|
||||||
|
prev_post_game_id: number;
|
||||||
|
next_post_game_id: number;
|
||||||
|
prev_post_view_type: number;
|
||||||
|
next_post_view_type: number;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 视频信息
|
* @description 视频信息
|
||||||
* @since Beta v0.3.7
|
* @since Beta v0.3.7
|
||||||
|
|||||||
33
src/plugins/Mys/types/User.d.ts
vendored
33
src/plugins/Mys/types/User.d.ts
vendored
@@ -1,12 +1,12 @@
|
|||||||
/**
|
/**
|
||||||
* @file plugins/Mys/types/user.ts
|
* @file plugins/Mys/types/user.ts
|
||||||
* @description Mys 插件用户类型定义文件
|
* @description Mys 插件用户类型定义文件
|
||||||
* @since Beta v0.3.7
|
* @since Beta v0.3.9
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description Mys 插件用户类型
|
* @description Mys 插件用户类型
|
||||||
* @since Beta v0.3.7
|
* @since Beta v0.3.9
|
||||||
* @namespace TGApp.Plugins.Mys.User
|
* @namespace TGApp.Plugins.Mys.User
|
||||||
* @memberof TGApp.Plugins.Mys
|
* @memberof TGApp.Plugins.Mys
|
||||||
*/
|
*/
|
||||||
@@ -310,4 +310,33 @@ declare namespace TGApp.Plugins.Mys.User {
|
|||||||
nickname: string;
|
nickname: string;
|
||||||
avatar_url: string;
|
avatar_url: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description collection中的用户信息
|
||||||
|
* @since Beta v0.3.9
|
||||||
|
* @interface Collection
|
||||||
|
* @property {string} avatar 用户头像
|
||||||
|
* @property {string} avatar_url 用户头像链接
|
||||||
|
* @property {Certification} certification 用户认证信息
|
||||||
|
* @property {number} gender 用户性别
|
||||||
|
* @property {string} introduce 用户简介
|
||||||
|
* @property {boolean} is_followed 是否被关注
|
||||||
|
* @property {boolean} is_following 是否关注
|
||||||
|
* @property {string} nickname 用户昵称
|
||||||
|
* @property {string} pendant 用户挂件 URL,可能为 ""
|
||||||
|
* @property {number} uid 用户 ID
|
||||||
|
* @return Collection
|
||||||
|
*/
|
||||||
|
interface Collection {
|
||||||
|
avatar: string;
|
||||||
|
avatar_url: string;
|
||||||
|
certification: Certification;
|
||||||
|
gender: number;
|
||||||
|
introduce: string;
|
||||||
|
is_followed: boolean;
|
||||||
|
is_following: boolean;
|
||||||
|
nickname: string;
|
||||||
|
pendant: string;
|
||||||
|
uid: string;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user