Files
toutoukan_front/typings/index.d.ts

58 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-08-09 00:30:05 +08:00
/// <reference path="./types/index.d.ts" />
2025-09-26 01:02:43 +08:00
export interface VoteOption {
id: number;
name: string;
votes: number;
is_voted: boolean;
percentage?: number;
isSelected?: boolean;
}
export interface CardData {
article_id: number;
article_title: string;
vote_type: 'single' | 'multiple';
total_voters: number;
end_time: string;
is_ended: boolean;
publisher_id: string;
create_time: string;
options: VoteOption[];
user_has_voted: boolean;
user_voted_option_ids: number[] | null;
}
export interface Comment {
id: number;
article_id: number;
parent_id: number;
content: string;
likes_count: number;
created_at: string;
updated_at: string;
username: string;
avatar_url: string;
replies?: Comment[]; // 子评论可选
}
export interface CommentResponse {
data: Comment[];
message: string;
success: boolean;
}
2025-08-09 00:30:05 +08:00
interface IAppOption {
globalData: {
2025-08-11 00:40:21 +08:00
userInfo?: WechatMiniprogram.CustomUserInfo | null,
2025-09-26 01:02:43 +08:00
token: string,
rawCardData:CardData[],
processedCardsData:CardData[]
2025-08-09 00:30:05 +08:00
}
userInfoReadyCallback?: WechatMiniprogram.GetUserInfoSuccessCallback,
2025-09-26 01:02:43 +08:00
processVoteData(rawData: CardData[]): CardData[],
fetchRawCardData():void,
getComments(articleId: number):Comment[]
2025-08-09 00:30:05 +08:00
}