You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

185 lines
5.8 KiB

/**
* 我的自选股相关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
}
}
/**
* 游客查询默认自选股
* @param {Function} successCallback - 成功回调函数
* @param {Function} failCallback - 失败回调函数
* @returns {Promise}
*/
static async getDefaultStocks(successCallback, failCallback = null) {
const url = '/api/homePage/userStock/getDefaultStocks'
try {
const response = await http({
url: url,
method: 'POST',
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,
getDefaultStocks
} = MySelectionsAPI