Files
ai_dianshang/miniprogram/services/comments/commentActions.js
2025-11-17 14:11:46 +08:00

84 lines
2.1 KiB
JavaScript

import { config } from '../../config/index';
/** 点赞/取消点赞评论 */
export function toggleCommentLike(commentId) {
return new Promise((resolve, reject) => {
const token = wx.getStorageSync('token');
if (!token) {
reject(new Error('请先登录'));
return;
}
wx.request({
url: `${config.apiBaseUrl}/comments/${commentId}/like`,
method: 'POST',
header: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
success: (res) => {
if (res.statusCode === 200 && res.data.code === 200) {
resolve(res.data.data);
} else {
reject(new Error(res.data.message || '操作失败'));
}
},
fail: (err) => {
reject(err);
}
});
});
}
/** 回复评论 */
export function replyComment(commentId, content) {
return new Promise((resolve, reject) => {
const token = wx.getStorageSync('token');
if (!token) {
reject(new Error('请先登录'));
return;
}
wx.request({
url: `${config.apiBaseUrl}/comments/${commentId}/reply`,
method: 'POST',
header: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
data: {
content: content
},
success: (res) => {
if (res.statusCode === 200 && res.data.code === 200) {
resolve(res.data.data);
} else {
reject(new Error(res.data.message || '回复失败'));
}
},
fail: (err) => {
reject(err);
}
});
});
}
/** 获取评论详情 */
export function fetchCommentDetail(commentId) {
return new Promise((resolve, reject) => {
wx.request({
url: `${config.apiBaseUrl}/comments/${commentId}`,
method: 'GET',
success: (res) => {
if (res.statusCode === 200 && res.data.code === 200) {
resolve(res.data.data);
} else {
reject(new Error(res.data.message || '获取评论详情失败'));
}
},
fail: (err) => {
reject(err);
}
});
});
}