// api/post.ts import request from './request' import type { Post, PostListParams, PostListResponse } from '@/views/post' export const postApi = { // 获取我的帖子列表 getMyPosts(params: PostListParams): Promise { return request({ url: '/posts/my-posts', method: 'GET', params }) }, // 获取帖子详情 getPostDetail(id: number): Promise { return request({ url: `/posts/${id}`, method: 'GET' }) }, // 创建帖子 createPost(data: Partial): Promise { return request({ url: '/posts', method: 'POST', data }) }, // 更新帖子 updatePost(id: number, data: Partial): Promise { return request({ url: `/posts/${id}`, method: 'PUT', data }) }, // 删除单个帖子 deletePost(id: number): Promise { return request({ url: `/posts/${id}`, method: 'DELETE' }) }, // 批量删除帖子 batchDeletePosts(ids: number[]): Promise { return request({ url: '/posts/batch-delete', method: 'DELETE', data: { ids } }) }, // 发布帖子(从草稿状态发布) publishPost(id: number): Promise { return request({ url: `/posts/${id}/publish`, method: 'POST' }) }, // 将帖子设为草稿 draftPost(id: number): Promise { return request({ url: `/posts/${id}/draft`, method: 'POST' }) }, // 获取帖子统计信息 getPostStats(): Promise<{ totalPosts: number totalViews: number totalLikes: number totalComments: number todayPosts: number weekPosts: number monthPosts: number }> { return request({ url: '/posts/stats', method: 'GET' }) }, // 点赞帖子 likePost(id: number): Promise<{ liked: boolean; likesCount: number }> { return request({ url: `/posts/${id}/like`, method: 'POST' }) }, // 取消点赞 unlikePost(id: number): Promise<{ liked: boolean; likesCount: number }> { return request({ url: `/posts/${id}/unlike`, method: 'POST' }) }, // 增加浏览量 increaseViews(id: number): Promise<{ views: number }> { return request({ url: `/posts/${id}/view`, method: 'POST' }) }, // 搜索帖子 searchPosts(params: { keyword: string category?: string page?: number pageSize?: number }): Promise { return request({ url: '/posts/search', method: 'GET', params }) }, // 获取热门帖子 getHotPosts(params: { period?: 'day' | 'week' | 'month' limit?: number } = {}): Promise { return request({ url: '/posts/hot', method: 'GET', params }) }, // 获取推荐帖子 getRecommendedPosts(limit = 10): Promise { return request({ url: '/posts/recommended', method: 'GET', params: { limit } }) } } //