/** * 意见反馈 API 服务 * 封装意见反馈相关的API调用 */ import apiClient from '../utils/api.js'; import { mapState } from 'vuex'; class FeedbackAPI { /** * 提交反馈 * @param {Object} data - 反馈数据 * @param {String} data.type - 反馈类型 * @param {String} data.content - 反馈内容 * @param {String} data.contact - 联系方式(可选) * @param {String} data.sn_code - 设备SN码(可选,从 store 获取) * @returns {Promise} */ async submit(data) { try { const result = await apiClient.post('/feedback/submit', data); return result; } catch (error) { console.error('提交反馈失败:', error); throw error; } } /** * 获取反馈列表 * @param {Object} params - 查询参数 * @param {Number} params.page - 页码 * @param {Number} params.pageSize - 每页数量 * @param {String} params.sn_code - 设备SN码(可选,从 store 获取) * @returns {Promise} */ async getList(params = {}) { try { const result = await apiClient.post('/feedback/list', params); return result; } catch (error) { console.error('获取反馈列表失败:', error); throw error; } } /** * 获取反馈详情 * @param {String|Number} feedbackId - 反馈ID * @returns {Promise} */ async getDetail(feedbackId) { try { const result = await apiClient.get('/feedback/detail', { id: feedbackId }); return result; } catch (error) { console.error('获取反馈详情失败:', error); throw error; } } } export default new FeedbackAPI();