blob: 224e3e901e435055fa3809040711dbfa9a4ecc6c [file] [log] [blame]
DREWae420b22025-06-02 14:07:20 +08001// src/api/requestPost.js
2import { api } from './auth'; // 复用已有的axios实例
3
4export const createRequestPost = (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('/request/posts', formData);
17};
18
19export const getRequestPosts = (page = 1, size = 5) => {
20 return api.get('/request/posts', {
21 params: { page, size }
22 });
23};
24
25export const getRequestPostDetail = (postId) => {
26 return api.get(`/request/posts/${postId}`);
27};
28
29export const likeRequestPost = (postId, data) => {
30 return api.post(`/request/posts/${postId}/like`, null, {
31 params: data
32 });
33};
34
35export const addRequestPostComment = (postId, commentData) => {
36
37
38 return api.post(`/request/posts/${postId}/comments`, commentData);
39};
40
41export const deleteRequestPost = (postId, authorId) => {
42 return api.delete(`/request/posts/${postId}`, {
43 params: { authorId }
44 });
45};
46
47
48export const searchRequestPosts = (keyword, page = 1, size = 5) => {
49 return api.get('/request/posts/search', {
50 params: { keyword, page, size }
51 });
52};