/** * API 接口定义 * 所有业务 API 接口的统一管理 */ const { get, post } = require('./request.js') /** * =============================== * 首页相关接口 * =============================== */ /** * 获取首页数据(分类 + 最新工作表) */ function getHomeData() { return get('/api/home') } /** * 获取所有分类 */ function getCategories() { return get('/api/categories') } /** * =============================== * 工作表相关接口 * =============================== */ /** * 获取工作表列表 * @param {Object} params * @param {Number} params.category_id - 分类ID(可选) * @param {Number} params.page - 页码 * @param {Number} params.pageSize - 每页数量 * @param {String} params.keyword - 搜索关键词 */ function getWorksheets(params = {}) { return get('/api/worksheets', params) } /** * 获取工作表详情 * @param {Number} id - 工作表ID */ function getWorksheetDetail(id) { return get(`/api/worksheets/${id}`) } /** * 记录下载次数 * @param {Number} id - 工作表ID */ function recordDownload(id) { return post(`/api/worksheets/${id}/download`) } /** * 搜索工作表 * @param {Object} params * @param {String} params.keyword - 搜索关键词 * @param {Number} params.page - 页码 * @param {Number} params.pageSize - 每页数量 */ function searchWorksheets(params = {}) { return get('/api/search', params) } /** * =============================== * 用户相关接口 * =============================== */ /** * 用户登录/注册 * @param {String} openid - 微信 openid * @param {String} nickname - 昵称 * @param {String} avatar - 头像URL * @param {Number} inviter_id - 邀请人ID(可选) */ function userLogin(openid, nickname, avatar, inviter_id) { return post('/api/user/login', { openid, nickname, avatar, inviter_id }) } /** * 获取用户信息 * @param {Number} user_id - 用户ID */ function getUserInfo(user_id) { return get('/api/user/info', { user_id }) } /** * 检查积分是否足够下载 * @param {Number} user_id - 用户ID */ function checkPoints(user_id) { return get('/api/user/check-points', { user_id }) } /** * 扣除积分(下载时调用) * @param {Number} user_id - 用户ID * @param {Number} worksheet_id - 工作表ID */ function deductPoints(user_id, worksheet_id) { return post('/api/user/deduct-points', { user_id, worksheet_id }) } /** * 获取积分记录 * @param {Number} user_id - 用户ID * @param {Number} page - 页码 * @param {Number} pageSize - 每页数量 */ function getPointsLog(user_id, page = 1, pageSize = 20) { return get('/api/user/points-log', { user_id, page, pageSize }) } module.exports = { // 首页 getHomeData, getCategories, // 工作表 getWorksheets, getWorksheetDetail, recordDownload, searchWorksheets, // 用户 userLogin, getUserInfo, checkPoints, deductPoints, getPointsLog }