65 lines
1.6 KiB
JavaScript
65 lines
1.6 KiB
JavaScript
/**
|
||
* 意见反馈 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();
|
||
|