Files
knowai/types/post/base.ts
2025-11-23 22:26:39 +08:00

45 lines
1.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import type {User} from '../user/base';
import type {PostType} from './enum';
// 基础实体接口
export interface BaseEntity {
id: string; // 唯一标识符
createdAt: Date; // 创建时间
updatedAt: Date; // 更新时间
}
// 用户基础信息接口
export interface BaseUser {
// 其实应该用profile的
user: User;
}
export interface PostComment extends BaseEntity {
// 这里没带postId如果后台管理需要就要带
// 重复了,而且评论没有数据(点赞、收藏等等)
authorId: string; // 作者ID
author: BaseUser; // 作者信息
content: string; // 评论内容
parentId?: string; // 父评论ID用于嵌套评论
}
// 实体内容和统计信息基础接口
export interface BaseEntityContent {
title?: string; // 标题
excerpt: string; // 摘要
tags?: string[]; // 标签数组
metadata?: Record<string, unknown>; // 元数据
stars: number; // 收藏数
likes: number; // 点赞数
comments: number; // 评论数
}
// 帖子接口
export interface Post extends BaseEntity, BaseEntityContent {
type: PostType; // 帖子类型:提问或文章
authorId: string; // 作者ID
author: BaseUser; // 作者信息
images?: string[]; // 图片数组
publishedAt?: Date; // 发布时间
}