blob: 68feca1a5ece4c2ace6aa97d8048c01c9615ac73 [file] [log] [blame]
ybtda5978b2025-05-31 15:58:05 +08001import request from "../../../services/request";
2
3// 帖子相关API
4export const createPost = (postData) => {
5 const token = localStorage.getItem("token");
6 return request
7 .post(
8 "/posts/create",
9 postData,
10 { headers: { token } }
11 )
12 .then((response) => {
13 if (response.data && response.data.success) {
14 return response.data;
15 } else {
16 return Promise.reject(new Error(response.data.message || "创建帖子失败"));
17 }
18 });
19};
20
21export const getPosts = (filters) => {
22 const token = localStorage.getItem("token");
23
24 // 构建查询参数
25 let queryParams = new URLSearchParams();
26 if (filters) {
27 if (filters.username) queryParams.append("username", filters.username);
28 if (filters.title) queryParams.append("title", filters.title);
29 if (filters.author) queryParams.append("author", filters.author);
30 if (filters.date) queryParams.append("date", filters.date);
31 }
32
33 return request
34 .get(
35 `/posts/list?${queryParams.toString()}`,
36 { headers: { token } }
37 )
38 .then((response) => {
39 if (response.data && response.data.success) {
40 return response.data;
41 } else {
42 return Promise.reject(new Error(response.data.message || "获取帖子列表失败"));
43 }
44 });
45};
46
47export const deletePost = (username, pid) => {
48 const token = localStorage.getItem("token");
49 return request
50 .delete(
51 "/posts/delete",
52 {
53 headers: { token },
54 data: { username, pid }
55 }
56 )
57 .then((response) => {
58 if (response.data && response.data.success) {
59 return response.data;
60 } else {
61 return Promise.reject(new Error(response.data.message || "删除帖子失败"));
62 }
63 });
64};
65
66// 评论相关API
67export const addComment = (commentData) => {
68 const token = localStorage.getItem("token");
69 return request
70 .post(
71 "/comment/add",
72 commentData,
73 { headers: { token } }
74 )
75 .then((response) => {
76 if (response.data && response.data.success) {
77 return response.data;
78 } else {
79 return Promise.reject(new Error(response.data.message || "添加评论失败"));
80 }
81 });
82};
83
84export const getComments = (postId, username) => {
85 const token = localStorage.getItem("token");
86 return request
87 .get(
88 `/comment/get?postId=${postId}&username=${username}`,
89 { headers: { token } }
90 )
91 .then((response) => {
92 if (response.data && response.data.success) {
93 return response.data;
94 } else {
95 return Promise.reject(new Error(response.data.message || "获取评论失败"));
96 }
97 });
98};
99
100export const deleteComment = (username, commentId) => {
101 const token = localStorage.getItem("token");
102 return request
103 .delete(
104 "/comment/delete",
105 {
106 headers: { token },
107 data: { username, commentId }
108 }
109 )
110 .then((response) => {
111 if (response.data && response.data.success) {
112 return response.data;
113 } else {
114 return Promise.reject(new Error(response.data.message || "删除评论失败"));
115 }
116 });
117};