blob: 92d6402f411a50dec2be79fdaac8b9d90e789d66 [file] [log] [blame]
Akane121765b61a72025-05-17 13:52:25 +08001// src/api/helpPost.js
2import { api } from './auth'; // 复用已有的axios实例
3
Akane1217d1e9f712025-05-29 14:36:56 +08004export const createPost = (title, content, authorId, selectedImage) => {
5 // 创建 FormData 对象
6 const formData = new FormData();
7 formData.append('title', title);
8 formData.append('content', content);
9 formData.append('authorId', authorId);
10
11 // 如果有图片,添加到 FormData
12 if (selectedImage) {
13 formData.append('image', selectedImage);
14 }
15
16 return api.post('/help/posts', formData);
Akane121765b61a72025-05-17 13:52:25 +080017};
18
19export const getPosts = (page = 1, size = 5) => {
20 return api.get('/help/posts', {
21 params: { page, size }
22 });
23};
24
25export const getPostDetail = (postId) => {
26 return api.get(`/help/posts/${postId}`);
27};
28
Akane1217d1e9f712025-05-29 14:36:56 +080029export const likePost = (postId, data) => {
30 return api.post(`/help/posts/${postId}/like`, null, {
31 params: data
32 });
Akane121765b61a72025-05-17 13:52:25 +080033};
34
35export const addPostComment = (postId, commentData) => {
Akane1217d1e9f712025-05-29 14:36:56 +080036 // 创建FormData对象来处理文件上传
37 const formData = new FormData();
38 formData.append('authorId', commentData.authorId);
39 formData.append('content', commentData.content);
40
41 // 如果有图片,添加到formData
42 if (commentData.commentImage) {
43 formData.append('image', commentData.commentImage);
44 }
45
46 return api.post(`/help/posts/${postId}/comments`, formData);
47};
48
49export const deletePost = (postId, authorId) => {
50 return api.delete(`/help/posts/${postId}`, {
51 params: { authorId }
52 });
Akane12173a7bb972025-06-01 01:05:27 +080053};
54
55
56export const searchPosts = (keyword, page = 1, size = 5) => {
57 return api.get('/help/posts/search', {
58 params: { keyword, page, size }
59 });
Akane121765b61a72025-05-17 13:52:25 +080060};