/** * 推广邀请 API 服务 * 封装推广邀请相关的API调用 */ import apiClient from '../utils/api.js'; class InviteAPI { /** * 获取邀请信息 * @param {string} snCode 设备SN码 * @returns {Promise} */ async getInviteInfo(snCode) { try { const result = await apiClient.post('/invite/info', { sn_code: snCode }); return result; } catch (error) { console.error('获取邀请信息失败:', error); throw error; } } /** * 获取邀请统计 * @param {string} snCode 设备SN码 * @returns {Promise} */ async getStatistics(snCode) { try { const result = await apiClient.post('/invite/statistics', { sn_code: snCode }); return result; } catch (error) { console.error('获取邀请统计失败:', error); throw error; } } /** * 生成邀请码 * @param {string} snCode 设备SN码 * @returns {Promise} */ async generateInviteCode(snCode) { try { const result = await apiClient.post('/invite/generate', { sn_code: snCode }); return result; } catch (error) { console.error('生成邀请码失败:', error); throw error; } } /** * 获取邀请记录列表 * @param {string} snCode 设备SN码 * @param {Object} params 分页参数 * @param {number} params.page 页码 * @param {number} params.pageSize 每页数量 * @returns {Promise} */ async getRecords(snCode, params = {}) { try { const result = await apiClient.post('/invite/records', { sn_code: snCode, page: params.page || 1, pageSize: params.pageSize || 20 }); return result; } catch (error) { console.error('获取邀请记录列表失败:', error); throw error; } } } export default new InviteAPI();