From 8923e938d2aa8ba7bb8c49c5c5b5304d070a492b Mon Sep 17 00:00:00 2001 From: RockYang Date: Mon, 30 Sep 2024 14:20:59 +0800 Subject: [PATCH] optimize the vue component communication, replace event listening with share data --- web/package.json | 1 - web/public/images/img-holder.png | Bin 0 -> 1042 bytes web/src/assets/css/mobile/image-mj.styl | 18 ++ web/src/assets/css/mobile/image-sd.styl | 20 ++ web/src/components/admin/AdminHeader.vue | 23 +- web/src/components/admin/AdminSidebar.vue | 16 +- web/src/components/admin/AdminTags.vue | 15 +- web/src/store/eventbus.js | 6 - web/src/store/sharedata.js | 15 +- web/src/store/system.js | 19 -- web/src/views/ChatPlus.vue | 7 +- web/src/views/Dalle.vue | 1 + web/src/views/ImageMj.vue | 1 + web/src/views/ImageSd.vue | 1 + web/src/views/Luma.vue | 6 +- web/src/views/Suno.vue | 1 + web/src/views/admin/Home.vue | 25 +- web/src/views/mobile/ChatSession.vue | 356 +++++++++++++--------- web/src/views/mobile/Home.vue | 13 +- web/src/views/mobile/Profile.vue | 21 +- web/src/views/mobile/pages/ImageDall.vue | 136 +++------ web/src/views/mobile/pages/ImageMj.vue | 140 +++------ web/src/views/mobile/pages/ImageSd.vue | 112 +++---- 23 files changed, 473 insertions(+), 480 deletions(-) create mode 100644 web/public/images/img-holder.png delete mode 100644 web/src/store/eventbus.js diff --git a/web/package.json b/web/package.json index 46943877..984ca9b5 100644 --- a/web/package.json +++ b/web/package.json @@ -27,7 +27,6 @@ "markmap-view": "^0.16.0", "md-editor-v3": "^2.2.1", "memfs": "^4.9.3", - "mitt": "^3.0.1", "pinia": "^2.1.4", "qrcode": "^1.5.3", "qs": "^6.11.1", diff --git a/web/public/images/img-holder.png b/web/public/images/img-holder.png new file mode 100644 index 0000000000000000000000000000000000000000..761da7c0976100161f4f49c3ecb6f25daba4c337 GIT binary patch literal 1042 zcmex=CDxUXQKKS_g;M8m8fu(g}+twafzO>Nv zdehb0^Jh-)zp*cDrR%wGx?WGGG=66|-pBB~LoCEMYt6dF`@Q4*tTHy0O^=Y;&*$d+ z>YS!}x6s%0P1m(-%MARYpTD)exLElWt__&9YTmyKOC~XWU{v`tDWS@6&y88p zzntTD`}8e2dUf-aXZvN_=Dl+jEjXjSBYD24>YD1+&aqFlKAa5tQXiU9a_;EM)1S8O zSG#xSm-LRCt_!}+nG*I*Z_Ov&__&a#{`Xd#=3H{(X7v8+_q!)1=d3%weA{oyHRYSG zbG=rMzAe2HzwByc=++4*ldM8Qr}W?G|HZ$Ek;R)Su-?<#?0A-Ek~mW< z%O|J)D@7v0FZfS1*q?m-EN+6JAfuoFm=Mx=@nwy-+5E6GN2VpOKcX_JQf0Eg%H%hb z-^|n$P=0wOtMEzp={cW@_7gJ=Q&eaQy|gsdM#z$-O2tq2@+$Ka=y{Uc2pU%Cv=*;o&I-ZjZnZ>2KxjC#JK1zC|Js~DJ`Km(^JHw8Z0)`9|IG;3r PG+IPdDg`Cv`u{fpStWB^ literal 0 HcmV?d00001 diff --git a/web/src/assets/css/mobile/image-mj.styl b/web/src/assets/css/mobile/image-mj.styl index 8989946b..e482b931 100644 --- a/web/src/assets/css/mobile/image-mj.styl +++ b/web/src/assets/css/mobile/image-mj.styl @@ -191,7 +191,25 @@ } } + .failed { + display flex + flex-flow column + justify-content center + .title { + margin-bottom 20px + text-align center + color #ee0a24 + font-size 18px + } + .opt { + display flex + justify-content center + .van-button { + margin 0 5px + } + } + } } } } diff --git a/web/src/assets/css/mobile/image-sd.styl b/web/src/assets/css/mobile/image-sd.styl index d6f07cc3..f470422a 100644 --- a/web/src/assets/css/mobile/image-sd.styl +++ b/web/src/assets/css/mobile/image-sd.styl @@ -179,6 +179,26 @@ } + .failed { + display flex + flex-flow column + justify-content center + + .title { + margin-bottom 20px + text-align center + color #ee0a24 + font-size 18px + } + .opt { + display flex + justify-content center + .van-button { + margin 0 5px + } + } + } + } } } diff --git a/web/src/components/admin/AdminHeader.vue b/web/src/components/admin/AdminHeader.vue index bd2a468d..0a1501c8 100644 --- a/web/src/components/admin/AdminHeader.vue +++ b/web/src/components/admin/AdminHeader.vue @@ -52,13 +52,14 @@ diff --git a/web/src/views/mobile/ChatSession.vue b/web/src/views/mobile/ChatSession.vue index 979939c9..ff2e7fa4 100644 --- a/web/src/views/mobile/ChatSession.vue +++ b/web/src/views/mobile/ChatSession.vue @@ -125,15 +125,14 @@ diff --git a/web/src/views/mobile/Profile.vue b/web/src/views/mobile/Profile.vue index 630516b5..40650fbe 100644 --- a/web/src/views/mobile/Profile.vue +++ b/web/src/views/mobile/Profile.vue @@ -125,7 +125,13 @@ + + + + @@ -158,9 +164,7 @@ import {ElMessage} from "element-plus"; import {checkSession, getSystemInfo} from "@/store/cache"; import {useRouter} from "vue-router"; import {removeUserToken} from "@/store/session"; -import bus from '@/store/eventbus' -import {getMobileTheme} from "@/store/system"; -import QRCode from "qrcode"; +import {useSharedStore} from "@/store/sharedata"; const form = ref({ username: 'GeekMaster', @@ -183,6 +187,9 @@ const router = useRouter() const userId = ref(0) const isLogin = ref(false) const showSettings = ref(false) +const store = useSharedStore() +const stream = ref(store.chatStream) +const dark = ref(store.mobileTheme === 'dark') onMounted(() => { checkSession().then(user => { @@ -322,12 +329,6 @@ const logout = function () { }) } -const dark = ref(getMobileTheme() === 'dark') - -const changeTheme = () => { - bus.emit('changeTheme', dark.value ? 'dark' : 'light') -} -