fix(stock):优化股票关注功能

- 增加股票代码有效性验证
- 改进关注失败时的错误处理和用户提示
- 修复可能的 nil pointer dereference 问题
This commit is contained in:
spark 2025-02-09 15:29:04 +08:00
parent 1dc731de1e
commit bcfcbfeef0
2 changed files with 17 additions and 5 deletions

View File

@ -8,6 +8,7 @@ import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"github.com/PuerkitoBio/goquery"
"github.com/chromedp/chromedp"
@ -291,6 +292,9 @@ func (receiver StockDataApi) GetStockCodeRealTimeData(StockCodes ...string) (*[]
stockInfos := make([]StockInfo, 0)
str := GB18030ToUTF8(resp.Body())
dataStr := strutil.SplitEx(str, "\n", true)
if len(dataStr) == 0 {
return &[]StockInfo{}, errors.New("获取股票信息失败,请检查股票代码是否正确")
}
for _, data := range dataStr {
//logger.SugaredLogger.Info(data)
stockData, err := ParseFullSingleStockData(data)
@ -318,8 +322,8 @@ func (receiver StockDataApi) GetStockCodeRealTimeData(StockCodes ...string) (*[]
func (receiver StockDataApi) Follow(stockCode string) string {
logger.SugaredLogger.Infof("Follow %s", stockCode)
stockInfos, err := receiver.GetStockCodeRealTimeData(stockCode)
if err != nil {
logger.SugaredLogger.Error(err.Error())
if err != nil || len(*stockInfos) == 0 {
logger.SugaredLogger.Error(err)
return "关注失败"
}
stockInfo := (*stockInfos)[0]

View File

@ -231,12 +231,20 @@ function isTradingTime() {
}
function AddStock(){
if (!data?.code) {
message.error("请输入有效股票代码");
return;
}
if (!stocks.value.includes(data.code)) {
stocks.value.push(data.code)
Follow(data.code).then(result => {
message.success(result)
if(result==="关注成功"){
stocks.value.push(data.code)
message.success(result)
monitor();
}else{
message.error(result)
}
})
monitor()
}else{
message.error("已经关注了")
}