From 71d8822d15b299277f4a214f824b65892164220b Mon Sep 17 00:00:00 2001 From: ArvinLovegood Date: Tue, 22 Apr 2025 11:43:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(frontend):=E4=BC=98=E5=8C=96=E8=82=A1?= =?UTF-8?q?=E7=A5=A8K=E7=BA=BF=E5=9B=BE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 App.d.ts 中添加 GetStockKLine 函数声明 - 在 app.go 中实现 GetStockKLine 方法- 在 App.js 中添加 GetStockKLine 函数导出 - 在 package.json 中添加 echarts依赖 - 在 stock.vue 中实现 K 线图展示功能- 优化 K 线图数据处理和图表配置 --- app.go | 4 + backend/data/stock_data_api.go | 2 +- backend/data/stock_data_api_test.go | 2 +- frontend/package-lock.json | 28 +++ frontend/package.json | 1 + frontend/package.json.md5 | 2 +- frontend/src/components/stock.vue | 327 +++++++++++++++++++++++++++- frontend/wailsjs/go/main/App.d.ts | 2 + frontend/wailsjs/go/main/App.js | 4 + 9 files changed, 364 insertions(+), 8 deletions(-) diff --git a/app.go b/app.go index 6217e5c..8d9ad03 100644 --- a/app.go +++ b/app.go @@ -1043,3 +1043,7 @@ func (a *App) RemoveGroup(groupId int) string { return "移除失败" } } + +func (a *App) GetStockKLine(stockCode, stockName string, days int64) *[]data.KLineData { + return data.NewStockDataApi().GetHK_KLineData(stockCode, "day", days) +} diff --git a/backend/data/stock_data_api.go b/backend/data/stock_data_api.go index 6821a15..98ddd46 100644 --- a/backend/data/stock_data_api.go +++ b/backend/data/stock_data_api.go @@ -1124,7 +1124,7 @@ func (receiver StockDataApi) GetHK_KLineData(stockCode string, kLineType string, logger.SugaredLogger.Errorf("err:%s", err.Error()) return K } - //logger.SugaredLogger.Infof("resp:%s", resp.Body()) + logger.SugaredLogger.Infof("resp:%s", resp.Body()) json.Unmarshal(resp.Body(), &res) code, _ := convertor.ToInt(res["code"]) if code != 0 { diff --git a/backend/data/stock_data_api_test.go b/backend/data/stock_data_api_test.go index 41233fd..2adb0e8 100644 --- a/backend/data/stock_data_api_test.go +++ b/backend/data/stock_data_api_test.go @@ -77,7 +77,7 @@ func TestGetKLineData(t *testing.T) { } func TestGetHK_KLineData(t *testing.T) { db.Init("../../data/stock.db") - k := NewStockDataApi().GetHK_KLineData("sh600171", "day", 30) + k := NewStockDataApi().GetHK_KLineData("hk01810", "day", 1) jsonData, _ := json.Marshal(*k) markdownTable, err := JSONToMarkdownTable(jsonData) if err != nil { diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 4b1852c..17360fa 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -12,6 +12,7 @@ "@vavt/cm-extension": "^1.8.0", "@vavt/v3-extension": "^3.0.0", "@vicons/ionicons5": "^0.13.0", + "echarts": "^5.6.0", "file-saver": "^2.0.5", "html2canvas": "^1.4.1", "lodash": "^4.17.21", @@ -1593,6 +1594,20 @@ "date-fns": "^3.0.0 || ^4.0.0" } }, + "node_modules/echarts": { + "version": "5.6.0", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.6.0.tgz", + "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.6.1" + } + }, + "node_modules/echarts/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", @@ -2314,6 +2329,19 @@ "engines": { "node": ">= 0.10.0" } + }, + "node_modules/zrender": { + "version": "5.6.1", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.1.tgz", + "integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==", + "dependencies": { + "tslib": "2.3.0" + } + }, + "node_modules/zrender/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" } } } diff --git a/frontend/package.json b/frontend/package.json index ce51df7..4b5b574 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -13,6 +13,7 @@ "@vavt/cm-extension": "^1.8.0", "@vavt/v3-extension": "^3.0.0", "@vicons/ionicons5": "^0.13.0", + "echarts": "^5.6.0", "file-saver": "^2.0.5", "html2canvas": "^1.4.1", "lodash": "^4.17.21", diff --git a/frontend/package.json.md5 b/frontend/package.json.md5 index 6a4bec7..ea0a4ee 100644 --- a/frontend/package.json.md5 +++ b/frontend/package.json.md5 @@ -1 +1 @@ -cf858d682535e094e087a036e009d7f8 \ No newline at end of file +99aeae4d0e7cbe900b379d3e7d2f44d7 \ No newline at end of file diff --git a/frontend/src/components/stock.vue b/frontend/src/components/stock.vue index c4565ef..06f3b3d 100644 --- a/frontend/src/components/stock.vue +++ b/frontend/src/components/stock.vue @@ -1,5 +1,6 @@