Akane1217 | 65b61a7 | 2025-05-17 13:52:25 +0800 | [diff] [blame] | 1 | // src/api/helpPost.js
|
| 2 | import { api } from './auth'; // 复用已有的axios实例
|
| 3 |
|
DREW | ae420b2 | 2025-06-02 14:07:20 +0800 | [diff] [blame] | 4 | export const createHelpPost = (title, content, authorId, selectedImage) => {
|
Akane1217 | d1e9f71 | 2025-05-29 14:36:56 +0800 | [diff] [blame] | 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);
|
Akane1217 | 65b61a7 | 2025-05-17 13:52:25 +0800 | [diff] [blame] | 17 | };
|
| 18 |
|
DREW | ae420b2 | 2025-06-02 14:07:20 +0800 | [diff] [blame] | 19 | export const getHelpPosts = (page = 1, size = 5) => {
|
Akane1217 | 65b61a7 | 2025-05-17 13:52:25 +0800 | [diff] [blame] | 20 | return api.get('/help/posts', {
|
| 21 | params: { page, size }
|
| 22 | });
|
| 23 | };
|
| 24 |
|
DREW | ae420b2 | 2025-06-02 14:07:20 +0800 | [diff] [blame] | 25 | export const getHelpPostDetail = (postId) => {
|
Akane1217 | 65b61a7 | 2025-05-17 13:52:25 +0800 | [diff] [blame] | 26 | return api.get(`/help/posts/${postId}`);
|
| 27 | };
|
| 28 |
|
DREW | ae420b2 | 2025-06-02 14:07:20 +0800 | [diff] [blame] | 29 | export const likeHelpPost = (postId, data) => {
|
Akane1217 | d1e9f71 | 2025-05-29 14:36:56 +0800 | [diff] [blame] | 30 | return api.post(`/help/posts/${postId}/like`, null, {
|
| 31 | params: data
|
| 32 | });
|
Akane1217 | 65b61a7 | 2025-05-17 13:52:25 +0800 | [diff] [blame] | 33 | };
|
| 34 |
|
DREW | ae420b2 | 2025-06-02 14:07:20 +0800 | [diff] [blame] | 35 | export const addHelpPostComment = (postId, commentData) => {
|
Akane1217 | d1e9f71 | 2025-05-29 14:36:56 +0800 | [diff] [blame] | 36 |
|
Akane1217 | d1e9f71 | 2025-05-29 14:36:56 +0800 | [diff] [blame] | 37 |
|
DREW | ae420b2 | 2025-06-02 14:07:20 +0800 | [diff] [blame] | 38 | return api.post(`/help/posts/${postId}/comments`, commentData);
|
Akane1217 | d1e9f71 | 2025-05-29 14:36:56 +0800 | [diff] [blame] | 39 | };
|
| 40 |
|
DREW | ae420b2 | 2025-06-02 14:07:20 +0800 | [diff] [blame] | 41 | export const deleteHelpPost = (postId, authorId) => {
|
Akane1217 | d1e9f71 | 2025-05-29 14:36:56 +0800 | [diff] [blame] | 42 | return api.delete(`/help/posts/${postId}`, {
|
| 43 | params: { authorId }
|
| 44 | });
|
Akane1217 | 3a7bb97 | 2025-06-01 01:05:27 +0800 | [diff] [blame] | 45 | };
|
| 46 |
|
| 47 |
|
DREW | ae420b2 | 2025-06-02 14:07:20 +0800 | [diff] [blame] | 48 | export const searchHelpPosts = (keyword, page = 1, size = 5) => {
|
Akane1217 | 3a7bb97 | 2025-06-01 01:05:27 +0800 | [diff] [blame] | 49 | return api.get('/help/posts/search', {
|
| 50 | params: { keyword, page, size }
|
| 51 | });
|
Akane1217 | 65b61a7 | 2025-05-17 13:52:25 +0800 | [diff] [blame] | 52 | }; |