From 1b6322aa8df73c36efede99eab169254a11b5811 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=9D=B0?= Date: Thu, 30 Oct 2025 09:59:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=96=B0=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/home/mySelections.js | 162 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 161 insertions(+), 1 deletion(-) 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