From afe54742643de9b59dfa833aa9a931493dd18147 Mon Sep 17 00:00:00 2001 From: spark Date: Fri, 3 Jan 2025 09:48:21 +0800 Subject: [PATCH] =?UTF-8?q?refactor(stock):=20=E4=BC=98=E5=8C=96=E8=82=A1?= =?UTF-8?q?=E7=A5=A8=E7=BB=84=E4=BB=B6=E5=92=8C=E6=95=B0=E6=8D=AE=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改股票列表显示格式,将代码和名称之间的连接符改为短横线- 调整股票数据更新频率,从 3 秒改为 1 秒 - 修复当前价格为零时的显示问题,使用卖一报价替代 - 优化数据库更新操作,添加 ts_code 条件以确保更新正确性 --- backend/data/stock_data_api.go | 4 ++-- frontend/src/components/stock.vue | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/backend/data/stock_data_api.go b/backend/data/stock_data_api.go index a4eafe9..1e9e40f 100644 --- a/backend/data/stock_data_api.go +++ b/backend/data/stock_data_api.go @@ -203,7 +203,7 @@ func (receiver StockDataApi) GetIndexBasic() { if err != nil { continue } - db.Dao.Model(&IndexBasic{}).FirstOrCreate(index, &IndexBasic{TsCode: index.TsCode}).Updates(index) + db.Dao.Model(&IndexBasic{}).FirstOrCreate(index, &IndexBasic{TsCode: index.TsCode}).Where("ts_code = ?", index.TsCode).Updates(index) } } @@ -251,7 +251,7 @@ func (receiver StockDataApi) GetStockBaseInfo() { if err != nil { continue } - db.Dao.Model(&StockBasic{}).FirstOrCreate(stock, &StockBasic{TsCode: stock.TsCode}).Updates(stock) + db.Dao.Model(&StockBasic{}).FirstOrCreate(stock, &StockBasic{TsCode: stock.TsCode}).Where("ts_code = ?", stock.TsCode).Updates(stock) } } diff --git a/frontend/src/components/stock.vue b/frontend/src/components/stock.vue index abe8dbd..64ce601 100644 --- a/frontend/src/components/stock.vue +++ b/frontend/src/components/stock.vue @@ -40,7 +40,7 @@ onBeforeMount(()=>{ stockList.value = result options.value=result.map(item => { return { - label: item.name+" "+item.ts_code, + label: item.name+" - "+item.ts_code, value: item.ts_code } }) @@ -66,7 +66,7 @@ onMounted(() => { monitor() data.fenshiURL='http://image.sinajs.cn/newchart/min/n/'+data.code+'.gif'+"?t="+Date.now() } - }, 3000) + }, 1000) }) @@ -158,6 +158,10 @@ async function monitor() { for (let code of stocks.value) { // console.log(code) Greet(code).then(result => { + if(result["当前价格"]<=0){ + result["当前价格"]=result["卖一报价"] + } + let s=(result["当前价格"]-result["昨日收盘价"])*100/result["昨日收盘价"] let roundedNum = s.toFixed(2); // 将数字转换为保留两位小数的字符串形式 result.s=roundedNum+"%"