diff --git a/api/home/mySelections.js b/api/home/mySelections.js index 6801ebc..a22e69e 100644 --- a/api/home/mySelections.js +++ b/api/home/mySelections.js @@ -170,6 +170,161 @@ class MySelectionsAPI { throw error } } + + /** + * 创建分组 + * @param {Function} successCallback - 成功回调函数 + * @param {Function} failCallback - 失败回调函数 + * @param {Object} data - 请求参数,包含分组名字 + * @returns {Promise} + */ + static async addUserStockGroup(successCallback, failCallback = null, data = {}) { + const url = '/api/homePage/userStockGroup/add' + + 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 updateUserStockGroupName(successCallback, failCallback = null, data = {}) { + const url = '/api/homePage/userStockGroup/updateName' + + 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 + * @returns {Promise} + */ + static async deleteUserStockGroup(successCallback, failCallback = null, data = {}) { + const url = '/api/homePage/userStockGroup/delete' + + 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和id + * @returns {Promise} + */ + static async deleteUserStock(successCallback, failCallback = null, data = {}) { + const url = '/api/homePage/userStock/delete' + + 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 - 请求参数,包含股票代码code,股票市场market和分组groupId + * @returns {Promise} + */ + static async addUserStock(successCallback, failCallback = null, data = {}) { + const url = '/api/homePage/userStock/add' + + 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类 @@ -181,5 +336,10 @@ export const { getUserStockGroupList, getUserStockList, getUserOrDefault, - getDefaultStocks + getDefaultStocks, + addUserStockGroup, + updateUserStockGroupName, + deleteUserStockGroup, + deleteUserStock, + addUserStock } = MySelectionsAPI \ No newline at end of file