api.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. // api.js - 网络请求封装
  2. const app = getApp();
  3. const request = (url, method = 'GET', data = {}) => {
  4. return new Promise((resolve, reject) => {
  5. wx.request({
  6. url: app.globalData.baseUrl + url,
  7. method,
  8. data,
  9. header: {
  10. 'Authorization': 'Bearer ' + app.globalData.token,
  11. 'Content-Type': 'application/json'
  12. },
  13. success(res) {
  14. if (res.statusCode === 200 && res.data.code === 200) {
  15. resolve(res.data.data);
  16. } else {
  17. reject(res.data || { code: 500, message: '请求失败' });
  18. }
  19. },
  20. fail(err) {
  21. reject({ code: 500, message: '网络请求失败' });
  22. }
  23. });
  24. });
  25. };
  26. // ============ 认证接口 ============
  27. const login = (data) => request('/auth/login', 'POST', data);
  28. const getUserInfo = () => request('/auth/info');
  29. // ============ 任务接口 ============
  30. const getTodayTasks = (childId) => request(`/tasks/today/${childId}`);
  31. const getTaskDetail = (taskId) => request(`/tasks/${taskId}`);
  32. const createTask = (data) => request('/tasks', 'POST', data);
  33. const completeTask = (taskId, data) => request(`/tasks/${taskId}/complete`, 'POST', data);
  34. const reviewTask = (taskId, data) => request(`/tasks/${taskId}/review`, 'POST', data);
  35. const getFamilyTasks = (familyId) => request(`/tasks/family/${familyId}`);
  36. // ============ 奖励接口 ============
  37. const getRewards = (familyId) => request(`/rewards/family/${familyId}`);
  38. const getRewardDetail = (rewardId) => request(`/rewards/${rewardId}`);
  39. const createReward = (data) => request('/rewards', 'POST', data);
  40. const updateReward = (rewardId, data) => request(`/rewards/${rewardId}`, 'PUT', data);
  41. const getDefaultRewards = () => request('/rewards/defaults');
  42. // ============ 积分接口 ============
  43. const getPointsBalance = (childId) => request(`/points/balance/${childId}`);
  44. const getPointsLog = (childId) => request(`/points/log/${childId}`);
  45. module.exports = {
  46. // 认证
  47. login,
  48. getUserInfo,
  49. // 任务
  50. getTodayTasks,
  51. getTaskDetail,
  52. createTask,
  53. completeTask,
  54. reviewTask,
  55. getFamilyTasks,
  56. // 奖励
  57. getRewards,
  58. getRewardDetail,
  59. createReward,
  60. updateReward,
  61. getDefaultRewards,
  62. // 积分
  63. getPointsBalance,
  64. getPointsLog
  65. };