From 116dae19cf0f83ad34b6194805c7c59d287d539b Mon Sep 17 00:00:00 2001 From: spark Date: Fri, 3 Jan 2025 13:04:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(stock):=20=E6=90=9C=E7=B4=A2=E8=82=A1?= =?UTF-8?q?=E7=A5=A8=E6=97=B6=E5=A2=9E=E5=8A=A0=E6=8C=87=E6=95=B0=E5=8C=B9?= =?UTF-8?q?=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在搜索股票时增加对上交所指数的匹配 - 优化股票代码输入逻辑,增加空值判断 -调整关注股票功能,避免重复关注 - 修改分时图数据的更新频率为 3.5 秒一次 --- backend/data/stock_data_api.go | 14 ++++++++++++++ frontend/src/components/stock.vue | 9 ++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/backend/data/stock_data_api.go b/backend/data/stock_data_api.go index cd34941..78f937a 100644 --- a/backend/data/stock_data_api.go +++ b/backend/data/stock_data_api.go @@ -318,6 +318,20 @@ func (receiver StockDataApi) GetFollowList() []FollowedStock { func (receiver StockDataApi) GetStockList(key string) []StockBasic { var result []StockBasic db.Dao.Model(&StockBasic{}).Where("name like ? or ts_code like ?", "%"+key+"%", "%"+key+"%").Find(&result) + var result2 []IndexBasic + db.Dao.Model(&IndexBasic{}).Where("market = ?", "SSE").Where("name like ? or ts_code like ?", "%"+key+"%", "%"+key+"%").Find(&result2) + + for _, item := range result2 { + result = append(result, StockBasic{ + TsCode: item.TsCode, + Name: item.Name, + Fullname: item.FullName, + Symbol: item.Symbol, + Market: item.Market, + ListDate: item.ListDate, + }) + } + return result } diff --git a/frontend/src/components/stock.vue b/frontend/src/components/stock.vue index 64ce601..9e75330 100644 --- a/frontend/src/components/stock.vue +++ b/frontend/src/components/stock.vue @@ -66,7 +66,7 @@ onMounted(() => { monitor() data.fenshiURL='http://image.sinajs.cn/newchart/min/n/'+data.code+'.gif'+"?t="+Date.now() } - }, 1000) + }, 3500) }) @@ -124,8 +124,10 @@ function AddStock(){ Follow(data.code).then(result => { message.success(result) }) + monitor() + }else{ + message.error("已经关注了") } - monitor() } @@ -149,7 +151,7 @@ function getStockList(value){ value: item.ts_code } }) - if(value.indexOf("-")<=0){ + if(value&&value.indexOf("-")<=0){ data.code=value } } @@ -182,6 +184,7 @@ async function monitor() { } let res= followList.value.filter(item => item.StockCode===code) if (res.length>0) { + result.Sort=res[0].Sort result.costPrice=res[0].CostPrice result.volume=res[0].Volume result.profit=((result["当前价格"]-result.costPrice)*100/result.costPrice).toFixed(3)