// api.js - 网络请求封装 const app = getApp(); const request = (url, method = 'GET', data = {}) => { return new Promise((resolve, reject) => { wx.request({ url: app.globalData.baseUrl + url, method, data, header: { 'Authorization': 'Bearer ' + app.globalData.token, 'Content-Type': 'application/json' }, success(res) { if (res.statusCode === 200 && res.data.code === 200) { resolve(res.data.data); } else { reject(res.data || { code: 500, message: '请求失败' }); } }, fail(err) { reject({ code: 500, message: '网络请求失败' }); } }); }); }; // ============ 认证接口 ============ const login = (data) => request('/auth/login', 'POST', data); const getUserInfo = () => request('/auth/info'); // ============ 任务接口 ============ const getTodayTasks = (childId) => request(`/tasks/today/${childId}`); const getTaskDetail = (taskId) => request(`/tasks/${taskId}`); const createTask = (data) => request('/tasks', 'POST', data); const completeTask = (taskId, data) => request(`/tasks/${taskId}/complete`, 'POST', data); const reviewTask = (taskId, data) => request(`/tasks/${taskId}/review`, 'POST', data); const getFamilyTasks = (familyId) => request(`/tasks/family/${familyId}`); // ============ 奖励接口 ============ const getRewards = (familyId) => request(`/rewards/family/${familyId}`); const getRewardDetail = (rewardId) => request(`/rewards/${rewardId}`); const createReward = (data) => request('/rewards', 'POST', data); const updateReward = (rewardId, data) => request(`/rewards/${rewardId}`, 'PUT', data); const getDefaultRewards = () => request('/rewards/defaults'); // ============ 积分接口 ============ const getPointsBalance = (childId) => request(`/points/balance/${childId}`); const getPointsLog = (childId) => request(`/points/log/${childId}`); module.exports = { // 认证 login, getUserInfo, // 任务 getTodayTasks, getTaskDetail, createTask, completeTask, reviewTask, getFamilyTasks, // 奖励 getRewards, getRewardDetail, createReward, updateReward, getDefaultRewards, // 积分 getPointsBalance, getPointsLog };