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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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,
|
2025-08-09 00:30:05 +08:00
|
|
|
}
|