blob: 8c162451633ba2449f88322e6f8f105985ecdff8 [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({
5 baseURL: 'http://10.126.59.25:5715/api/',
95630366911172812025-06-21 16:41:18 +08006 // 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
95630366911172812025-06-21 16:41:18 +080019export const followUser = (followerId,followeeId) => {
20 return api.post(`/follow/${followerId}/${followeeId}`);
22301008e25b4b02025-06-20 22:15:31 +080021};
95630366911172812025-06-21 16:41:18 +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`);
95630366911172812025-06-21 16:41:18 +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;