/** * 我的自选股相关API接口封装 * 使用utils/http.js中的拦截器封装请求方法 */ import { http } from '../../utils/http.js' /** * 我的自选股API接口类 */ class MySelectionsAPI { /** * 判断用户是否存在自选股分组 * @param {Function} successCallback - 成功回调函数 * @param {Function} failCallback - 失败回调函数 * @param {Object} data - 请求参数 * @returns {Promise} */ static async checkExist(successCallback, failCallback = null, data = {}) { const url = '/api/homePage/userStock/checkExist' try { const response = await http({ url: url, method: 'POST', data: data }) console.log('检查用户自选股分组存在性 - 响应:', response) if (successCallback && typeof successCallback === 'function') { successCallback(response) } return response } catch (error) { console.error('检查用户自选股分组存在性 - 失败:', error) if (failCallback && typeof failCallback === 'function') { failCallback(error) } throw error } } /** * 查询用户所有自选股分组 * @param {Function} successCallback - 成功回调函数 * @param {Function} failCallback - 失败回调函数 * @param {Object} data - 请求参数 * @returns {Promise} */ static async getUserStockGroupList(successCallback, failCallback = null, data = {}) { const url = '/api/homePage/userStockGroup/list' try { const response = await http({ url: url, method: 'POST', data: data }) console.log('查询用户自选股分组列表 - 响应:', response) if (successCallback && typeof successCallback === 'function') { successCallback(response) } return response } catch (error) { console.error('查询用户自选股分组列表 - 失败:', error) if (failCallback && typeof failCallback === 'function') { failCallback(error) } throw error } } /** * 分页查询某一个分组下的所有自选股 * @param {Function} successCallback - 成功回调函数 * @param {Function} failCallback - 失败回调函数 * @param {Object} data - 请求参数 {groupId, pageNum, pageSize, ...} * @returns {Promise} */ static async getUserStockList(successCallback, failCallback = null, data = {}) { const url = '/api/homePage/userStock/list' // 设置默认分页参数 const requestData = { pageNum: 1, pageSize: 20, ...data } try { const response = await http({ url: url, method: 'POST', data: requestData }) console.log('分页查询分组自选股 - 响应:', response) if (successCallback && typeof successCallback === 'function') { successCallback(response) } return response } catch (error) { console.error('分页查询分组自选股 - 失败:', error) if (failCallback && typeof failCallback === 'function') { failCallback(error) } throw error } } /** * 查询默认自选股 * @param {Function} successCallback - 成功回调函数 * @param {Function} failCallback - 失败回调函数 * @param {Object} data - 请求参数 * @returns {Promise} */ static async getUserOrDefault(successCallback, failCallback = null, data = {}) { const url = '/api/homePage/userStock/getUserOrDefault' try { const response = await http({ url: url, method: 'POST', data: data }) console.log('查询默认自选股 - 响应:', response) if (successCallback && typeof successCallback === 'function') { successCallback(response) } return response } catch (error) { console.error('查询默认自选股 - 失败:', error) if (failCallback && typeof failCallback === 'function') { failCallback(error) } throw error } } } // 导出API类 export default MySelectionsAPI // 也可以导出单个方法供直接使用 export const { checkExist, getUserStockGroupList, getUserStockList, getUserOrDefault } = MySelectionsAPI