blob: 5a30068a9d169104b53f8a5fc9e5706a3a87cdd0 [file] [log] [blame]
TRM-coding29174c22025-06-18 23:56:51 +08001import axios from 'axios';
22301008e25b4b02025-06-20 22:15:31 +08002import { getUserInfo } from '../utils/auth';
TRM-coding29174c22025-06-18 23:56:51 +08003
4const api = axios.create({
223010694a960a52025-06-21 12:21:48 +08005 // baseURL: 'http://10.126.59.25:5715/api/',
6 baseURL: 'http://127.0.0.1:5715/api/',
TRM-coding29174c22025-06-18 23:56:51 +08007 withCredentials: true
8});
9
10// 用户相关API
11export const getCurrentUser = () => api.get('/current-user');
12export const getUser = (userId) => api.get(`/user/${userId}`);
13export const updateUser = (userId, data) => api.put(`/user/${userId}`, data);
14
15// 收藏相关API
16export const getFavorites = (userId) => api.get(`/user/${userId}/favorites`);
17
18// 关注相关API
223010694a960a52025-06-21 12:21:48 +080019export const followUser = (followerId,followeeId) => {
20 return api.post(`/follow/${followerId}/${followeeId}`);
22301008e25b4b02025-06-20 22:15:31 +080021};
223010694a960a52025-06-21 12:21:48 +080022export const unfollowUser = (followerId,followeeId) => {
23 return api.delete(`/follow/${followerId}/${followeeId}`);
22301008e25b4b02025-06-20 22:15:31 +080024};
TRM-coding29174c22025-06-18 23:56:51 +080025
26// 帖子相关API
27export const getUserPosts = (userId) => api.get(`/user/${userId}/posts`);
28
29// 关注列表API
30export const getUserFollowing = (userId) => api.get(`/user/${userId}/following`);
31
32// 用户互动数据API
33export const getUserInteractions = (userId) => api.get(`/user/${userId}/interactions`);
34// 获取粉丝
35export const getUserFollowers = (userId) => api.get(`/user/${userId}/followers`);
223010694a960a52025-06-21 12:21:48 +080036// ================= 帖子互动API =================
37
38/**
39 * 点赞帖子
40 * @param {number} userId 用户ID
41 * @param {number} postId 帖子ID
42 * @returns 操作结果
43 */
44export const likePost = (userId, postId) => {
45 return api.post(`/users/${userId}/posts/${postId}/like`);
46};
47
48/**
49 * 取消点赞
50 * @param {number} userId 用户ID
51 * @param {number} postId 帖子ID
52 * @returns 操作结果
53 */
54export const unlikePost = (userId, postId) => {
55 return api.delete(`/users/${userId}/posts/${postId}/like`);
56};
57
58/**
59 * 收藏帖子
60 * @param {number} userId 用户ID
61 * @param {number} postId 帖子ID
62 * @returns 操作结果
63 */
64export const favoritePost = (userId, postId) => {
65 return api.post(`/users/${userId}/posts/${postId}/favorite`);
66};
67
68/**
69 * 取消收藏
70 * @param {number} userId 用户ID
71 * @param {number} postId 帖子ID
72 * @returns 操作结果
73 */
74export const unfavoritePost = (userId, postId) => {
75 return api.delete(`/users/${userId}/posts/${postId}/favorite`);
76};
77
78/**
79 * 获取当前用户对帖子的互动状态
80 * @param {number} userId 用户ID
81 * @param {number} postId 帖子ID
82 * @returns {object} { liked: boolean, favorited: boolean }
83 */
84export const getPostInteractionStatus = (userId, postId) => {
85 return api.get(`/users/${userId}/posts/${postId}/interaction-status`);
86};
TRM-coding29174c22025-06-18 23:56:51 +080087
88export default api;