blob: 8c162451633ba2449f88322e6f8f105985ecdff8 [file] [log] [blame]
import axios from 'axios';
import { getUserInfo } from '../utils/auth';
const api = axios.create({
baseURL: 'http://10.126.59.25:5715/api/',
// baseURL: 'http://127.0.0.1:5715/api/',
withCredentials: true
});
// 用户相关API
export const getCurrentUser = () => api.get('/current-user');
export const getUser = (userId) => api.get(`/user/${userId}`);
export const updateUser = (userId, data) => api.put(`/user/${userId}`, data);
// 收藏相关API
export const getFavorites = (userId) => api.get(`/user/${userId}/favorites`);
// 关注相关API
export const followUser = (followerId,followeeId) => {
return api.post(`/follow/${followerId}/${followeeId}`);
};
export const unfollowUser = (followerId,followeeId) => {
return api.delete(`/follow/${followerId}/${followeeId}`);
};
// 帖子相关API
export const getUserPosts = (userId) => api.get(`/user/${userId}/posts`);
// 关注列表API
export const getUserFollowing = (userId) => api.get(`/user/${userId}/following`);
// 用户互动数据API
export const getUserInteractions = (userId) => api.get(`/user/${userId}/interactions`);
// 获取粉丝
export const getUserFollowers = (userId) => api.get(`/user/${userId}/followers`);
// ================= 帖子互动API =================
/**
* 点赞帖子
* @param {number} userId 用户ID
* @param {number} postId 帖子ID
* @returns 操作结果
*/
export const likePost = (userId, postId) => {
return api.post(`/users/${userId}/posts/${postId}/like`);
};
/**
* 取消点赞
* @param {number} userId 用户ID
* @param {number} postId 帖子ID
* @returns 操作结果
*/
export const unlikePost = (userId, postId) => {
return api.delete(`/users/${userId}/posts/${postId}/like`);
};
/**
* 收藏帖子
* @param {number} userId 用户ID
* @param {number} postId 帖子ID
* @returns 操作结果
*/
export const favoritePost = (userId, postId) => {
return api.post(`/users/${userId}/posts/${postId}/favorite`);
};
/**
* 取消收藏
* @param {number} userId 用户ID
* @param {number} postId 帖子ID
* @returns 操作结果
*/
export const unfavoritePost = (userId, postId) => {
return api.delete(`/users/${userId}/posts/${postId}/favorite`);
};
/**
* 获取当前用户对帖子的互动状态
* @param {number} userId 用户ID
* @param {number} postId 帖子ID
* @returns {object} { liked: boolean, favorited: boolean }
*/
export const getPostInteractionStatus = (userId, postId) => {
return api.get(`/users/${userId}/posts/${postId}/interaction-status`);
};
export default api;