From 63e898bef83a539a08db4f34ad286d7a509d6d91 Mon Sep 17 00:00:00 2001 From: ArvinLovegood Date: Tue, 1 Apr 2025 14:00:46 +0800 Subject: [PATCH] =?UTF-8?q?refactor(frontend):=E4=BC=98=E5=8C=96=E8=82=A1?= =?UTF-8?q?=E7=A5=A8=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 stock.vue 中引入 lodash 的 keys 和 pad 函数 -优化排序逻辑,使用 lodash 的 keys 函数替代 Object.keys -移除不必要的 padZero 函数,简化 GetSortKey 的实现 - 在 package.json 中添加 lodash 依赖 --- frontend/package-lock.json | 4 ++-- frontend/package.json | 1 + frontend/package.json.md5 | 2 +- frontend/src/components/stock.vue | 18 ++++++++++-------- frontend/src/main.js | 2 -- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index f8af9ed..4b1852c 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -14,6 +14,7 @@ "@vicons/ionicons5": "^0.13.0", "file-saver": "^2.0.5", "html2canvas": "^1.4.1", + "lodash": "^4.17.21", "md-editor-v3": "^5.2.3", "vue": "^3.2.25", "vue-router": "^4.5.0", @@ -1758,8 +1759,7 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash-es": { "version": "4.17.21", diff --git a/frontend/package.json b/frontend/package.json index fc3f612..ce51df7 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -15,6 +15,7 @@ "@vicons/ionicons5": "^0.13.0", "file-saver": "^2.0.5", "html2canvas": "^1.4.1", + "lodash": "^4.17.21", "md-editor-v3": "^5.2.3", "vue": "^3.2.25", "vue-router": "^4.5.0", diff --git a/frontend/package.json.md5 b/frontend/package.json.md5 index 4461a08..6a4bec7 100644 --- a/frontend/package.json.md5 +++ b/frontend/package.json.md5 @@ -1 +1 @@ -2091cce83d29f564a50e85f1667b2f4c \ No newline at end of file +cf858d682535e094e087a036e009d7f8 \ No newline at end of file diff --git a/frontend/src/components/stock.vue b/frontend/src/components/stock.vue index 6fb35f1..2bb42ef 100644 --- a/frontend/src/components/stock.vue +++ b/frontend/src/components/stock.vue @@ -46,6 +46,7 @@ import html2canvas from "html2canvas"; import {asBlob} from 'html-docx-js-typescript'; import vueDanmaku from 'vue3-danmaku' +import {keys, pad} from "lodash"; const danmus = ref([]) const ws = ref(null) @@ -116,7 +117,8 @@ const icon = ref('https://raw.githubusercontent.com/ArvinLovegood/go-stock/maste const sortedResults = computed(() => { //console.log("computed",sortedResults.value) - const sortedKeys =Object.keys(results.value).sort(); + const sortedKeys =keys(results.value).sort(); + //console.log("sortedKeys",sortedKeys) const sortedObject = {}; sortedKeys.forEach(key => { sortedObject[key] = results.value[key]; @@ -141,7 +143,7 @@ onBeforeMount(()=>{ followedStock.StockCode="gb_"+ followedStock.StockCode.replace("us", "").toLowerCase() } if (!stocks.value.includes(followedStock.StockCode)) { - console.log("followList",followedStock.StockCode) + //console.log("followList",followedStock.StockCode) stocks.value.push(followedStock.StockCode) } } @@ -395,6 +397,7 @@ function removeMonitor(code,name,key) { }) } + function SendDanmu(){ //danmus.value.push(data.name) console.log("SendDanmu",data.name) @@ -491,7 +494,8 @@ async function updateData(result) { } } - result.key=GetSortKey(result.sort,result["股票代码"]) + result.key=result.sort + //result.key=GetSortKey(result.sort,result["股票代码"]) results.value[GetSortKey(result.sort,result["股票代码"])]=result } @@ -505,13 +509,11 @@ async function monitor() { } } -//数字长度不够前面补0 -function padZero(num, length) { - return (Array(length).join('0') + num).slice(-length); -} function GetSortKey(sort,code){ - return padZero(sort,6)+"_"+code + //let sortKey= pad(sort,6,'0')+"_"+code + //console.log("GetSortKey:",sortKey) + return sort } function onSelect(item) { diff --git a/frontend/src/main.js b/frontend/src/main.js index a2d104d..c1b63ec 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -3,9 +3,7 @@ import naive from 'naive-ui' import App from './App.vue' import router from './router/router' - const app = createApp(App) - app.use(router) app.use(naive) app.mount('#app') \ No newline at end of file