diff --git a/build/bin/go-stock.exe b/build/bin/go-stock.exe index daf88b2..4b9ef96 100644 Binary files a/build/bin/go-stock.exe and b/build/bin/go-stock.exe differ diff --git a/frontend/package-lock.json b/frontend/package-lock.json index b0d5f28..c36a885 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,6 +8,7 @@ "name": "go-stock", "version": "1.0.0", "dependencies": { + "@vicons/ionicons5": "^0.13.0", "vue": "^3.2.25" }, "devDependencies": { @@ -736,6 +737,11 @@ "@types/lodash": "*" } }, + "node_modules/@vicons/ionicons5": { + "version": "0.13.0", + "resolved": "https://registry.npmmirror.com/@vicons/ionicons5/-/ionicons5-0.13.0.tgz", + "integrity": "sha512-zvZKBPjEXKN7AXNo2Na2uy+nvuv6SP4KAMQxpKL2vfHMj0fSvuw7JZcOPCjQC3e7ayssKnaoFVAhbYcW6v41qQ==" + }, "node_modules/@vitejs/plugin-vue": { "version": "5.2.1", "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index bed7ad3..7ed9c40 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -9,6 +9,7 @@ "preview": "vite preview" }, "dependencies": { + "@vicons/ionicons5": "^0.13.0", "vue": "^3.2.25" }, "devDependencies": { diff --git a/frontend/package.json.md5 b/frontend/package.json.md5 index adb9872..7f96e15 100644 --- a/frontend/package.json.md5 +++ b/frontend/package.json.md5 @@ -1 +1 @@ -9ce62efac1fed08499bbf20c8a5fd1b2 \ No newline at end of file +bd20b6837e5729f2325cbbbaa79cbf1e \ No newline at end of file diff --git a/frontend/src/components/stock.vue b/frontend/src/components/stock.vue index bf843b4..739098c 100644 --- a/frontend/src/components/stock.vue +++ b/frontend/src/components/stock.vue @@ -2,8 +2,8 @@ import {onBeforeMount, onBeforeUnmount, onMounted, reactive, ref} from 'vue' import {Greet, Follow, UnFollow, GetFollowList, GetStockList, SetCostPriceAndVolume} from '../../wailsjs/go/main/App' import {NButton, NFlex, NForm, NFormItem, NInputNumber, NText, useMessage, useModal} from 'naive-ui' -import { WindowFullscreen,WindowUnfullscreen } from '../../wailsjs/runtime' - +import { WindowFullscreen,WindowUnfullscreen,EventsOn } from '../../wailsjs/runtime' +import {Add, StarOutline} from '@vicons/ionicons5' const message = useMessage() const modal = useModal() @@ -17,6 +17,7 @@ const options=ref([]) const modalShow = ref(false) const modalShow2 = ref(false) const modalShow3 = ref(false) +const addBTN = ref(true) const formModel = ref({ name: "", code: "", @@ -73,6 +74,28 @@ onBeforeUnmount(() => { clearInterval(ticker.value) }) +EventsOn("refresh",(data)=>{ + message.success(data) +}) + +EventsOn("showSearch",(data)=>{ + addBTN.value = data === 1; +}) + + +EventsOn("refreshFollowList",(data)=>{ + message.loading("refresh...") + GetFollowList().then(result => { + followList.value = result + for (const followedStock of result) { + if (!stocks.value.includes(followedStock.StockCode)) { + stocks.value.push(followedStock.StockCode) + } + } + monitor() + message.destroyAll + }) +}) //判断是否是A股交易时间 function isTradingTime() { @@ -272,21 +295,25 @@ function fullscreen(){ + + + - - - 隐藏 + - 添加    - {{data.fullscreen?'退出全屏':'全屏'}} - - + placeholder="请输入股票名称或者代码" + clearable @input="getStockList" :on-select="onSelect"/> + +  关注该股票 + + + + diff --git a/main.go b/main.go index d018324..8a591c7 100644 --- a/main.go +++ b/main.go @@ -6,13 +6,17 @@ import ( "github.com/duke-git/lancet/v2/convertor" "github.com/wailsapp/wails/v2" "github.com/wailsapp/wails/v2/pkg/logger" + "github.com/wailsapp/wails/v2/pkg/menu" + "github.com/wailsapp/wails/v2/pkg/menu/keys" "github.com/wailsapp/wails/v2/pkg/options" "github.com/wailsapp/wails/v2/pkg/options/mac" "github.com/wailsapp/wails/v2/pkg/options/windows" + "github.com/wailsapp/wails/v2/pkg/runtime" "go-stock/backend/data" "go-stock/backend/db" "log" "os" + "time" ) //go:embed frontend/dist @@ -40,6 +44,31 @@ func main() { // Create an instance of the app structure app := NewApp() // Create application with options + + AppMenu := menu.NewMenu() + FileMenu := AppMenu.AddSubmenu("设置") + FileMenu.AddText("显示搜索框", keys.CmdOrCtrl("s"), func(callbackData *menu.CallbackData) { + runtime.EventsEmit(app.ctx, "showSearch", 1) + }) + FileMenu.AddText("隐藏搜索框", keys.CmdOrCtrl("d"), func(callbackData *menu.CallbackData) { + runtime.EventsEmit(app.ctx, "showSearch", 0) + }) + FileMenu.AddText("刷新数据", keys.CmdOrCtrl("r"), func(callbackData *menu.CallbackData) { + //runtime.EventsEmit(app.ctx, "refresh", "setting-"+time.Now().Format("2006-01-02 15:04:05")) + runtime.EventsEmit(app.ctx, "refreshFollowList", "refresh-"+time.Now().Format("2006-01-02 15:04:05")) + }) + FileMenu.AddSeparator() + FileMenu.AddText("窗口全屏", keys.CmdOrCtrl("f"), func(callback *menu.CallbackData) { + runtime.WindowFullscreen(app.ctx) + callback.MenuItem.Hide() + }) + FileMenu.AddText("窗口还原", keys.Key("Esc"), func(callback *menu.CallbackData) { + runtime.WindowUnfullscreen(app.ctx) + }) + FileMenu.AddText("退出", keys.CmdOrCtrl("q"), func(_ *menu.CallbackData) { + runtime.Quit(app.ctx) + }) + err := wails.Run(&options.App{ Title: "go-stock", Width: 1366, @@ -55,7 +84,7 @@ func main() { HideWindowOnClose: false, BackgroundColour: &options.RGBA{R: 255, G: 255, B: 255, A: 255}, Assets: assets, - Menu: nil, + Menu: AppMenu, Logger: nil, LogLevel: logger.DEBUG, OnStartup: app.startup,