export interface IBlog { id: number; title: string; topValue: number; isGreat: boolean; categoryId: number; category: string; summary: string; content: string; wordCount: number; readDuration: number; visitCount: number; createTime: string; updateTime: string; } export interface INewBlog { id: number; title: string; topValue: number; isGreat: boolean; category: string; content: string; } export interface IQueryBlog { category?: string; title?: string; year?: number; } export interface IBasicBlog { category: string; topValue: number; isGreat: boolean; wordCount: number; readDuration: number; visitCount: number; createTime: string; updateTime: string; } export interface IBlogCategory { name: string; count: number; } export interface IBlogStats { blogCount: number; categoryCount: number; wordCount: number; } export interface IBlogLatest { id: number; title: string; } export interface IBlogVisit { ip: string; os: string; browser: string; uri: string; title: string; visitTime: string; } export interface IBlogComment { id: number; blogId: number; name: string; website: string; content: string; ipAddress: string; userAgent: string; parentId: number; isApproved: boolean; createTime: string; } export interface IBlogNestedComment { comment: IBlogComment; replies: IBlogComment[]; }