From e4e617b835e21c885208e0e53a5896a225435a3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B=E7=94=B0=E5=BC=98?= <1240092443@qq.com> Date: Mon, 6 Jan 2025 18:33:17 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E5=AF=B9=E6=8E=A5=E7=AC=AC?= =?UTF-8?q?=E4=B8=89=E6=96=B9=E7=99=BB=E5=BD=95=E3=80=82=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0=E8=81=8A=E5=A4=A9=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/components.d.ts | 3 + frontend/pnpm-lock.yaml | 55 ++ frontend/src/assets/login/QQ.png | Bin 2761 -> 0 bytes frontend/src/assets/login/dingding.png | Bin 0 -> 3651 bytes frontend/src/assets/login/gitee.png | Bin 3288 -> 3397 bytes frontend/src/assets/login/phone.png | Bin 0 -> 2658 bytes frontend/src/assets/login/qywechat.png | Bin 0 -> 4825 bytes frontend/src/assets/login/sina.png | Bin 4601 -> 0 bytes frontend/src/assets/login/wechat.png | Bin 3718 -> 0 bytes frontend/src/components/chat/Chat.vue | 428 +++++---- frontend/src/components/chat/ChatMenu.vue | 2 +- .../src/components/desktop/LockDesktop.vue | 398 +++++---- frontend/src/components/setting/SetSystem.vue | 817 ++++++++++-------- frontend/src/stores/login.ts | 15 +- frontend/src/system/config.ts | 9 +- frontend/src/system/index.ts | 76 +- frontend/src/system/type/type.ts | 14 +- go.mod | 32 +- go.sum | 45 +- 19 files changed, 1106 insertions(+), 788 deletions(-) delete mode 100644 frontend/src/assets/login/QQ.png create mode 100644 frontend/src/assets/login/dingding.png create mode 100644 frontend/src/assets/login/phone.png create mode 100644 frontend/src/assets/login/qywechat.png delete mode 100644 frontend/src/assets/login/sina.png delete mode 100644 frontend/src/assets/login/wechat.png diff --git a/frontend/components.d.ts b/frontend/components.d.ts index b9b837b..b532055 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -66,6 +66,7 @@ declare module 'vue' { EditType: typeof import('./src/components/builtin/EditType.vue')['default'] ElAside: typeof import('element-plus/es')['ElAside'] ElAvatar: typeof import('element-plus/es')['ElAvatar'] + ElB: typeof import('element-plus/es')['ElB'] ElBadge: typeof import('element-plus/es')['ElBadge'] ElButton: typeof import('element-plus/es')['ElButton'] ElCard: typeof import('element-plus/es')['ElCard'] @@ -90,6 +91,7 @@ declare module 'vue' { ElIcon: typeof import('element-plus/es')['ElIcon'] ElImage: typeof import('element-plus/es')['ElImage'] ElInput: typeof import('element-plus/es')['ElInput'] + ElItem: typeof import('element-plus/es')['ElItem'] ElMain: typeof import('element-plus/es')['ElMain'] ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] @@ -140,6 +142,7 @@ declare module 'vue' { MessageIcon: typeof import('./src/components/taskbar/MessageIcon.vue')['default'] Mobile: typeof import('./src/components/desktop/mobile/Mobile.vue')['default'] MobileApp: typeof import('./src/components/desktop/mobile/MobileApp.vue')['default'] + MobileTemplate: typeof import('./src/components/window/MobileTemplate.vue')['default'] MusicStore: typeof import('./src/components/builtin/MusicStore.vue')['default'] MusicViewer: typeof import('./src/components/builtin/MusicViewer.vue')['default'] NasClient: typeof import('./src/components/setting/NasClient.vue')['default'] diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 5236b5e..bea3482 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: '@liripeng/vue-audio-player': specifier: ^1.6.2 version: 1.6.2(typescript@5.6.3) + '@onlyoffice/document-editor-vue': + specifier: ^1.4.0 + version: 1.4.0(vue@3.5.12(typescript@5.6.3)) cherry-markdown: specifier: ^0.8.52 version: 0.8.52 @@ -44,6 +47,12 @@ importers: pinia-plugin-persist: specifier: ^1.0.0 version: 1.0.0(pinia@2.2.4(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)) + swiper: + specifier: ^11.1.15 + version: 11.2.0 + vant: + specifier: ^4.9.15 + version: 4.9.15(vue@3.5.12(typescript@5.6.3)) vue: specifier: ^3.4.31 version: 3.5.12(typescript@5.6.3) @@ -317,6 +326,11 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@onlyoffice/document-editor-vue@1.4.0': + resolution: {integrity: sha512-Fg5gSc1zF6bmpRapUd7rMpm7kEDF7mQIHQKfcsfJcILdFX9bwIhnkXEucETEA9zdt92nWMS6qiAgVeT61TdCyw==} + peerDependencies: + vue: ^3.0.0 + '@parcel/watcher-android-arm64@2.4.1': resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} engines: {node: '>= 10.0.0'} @@ -533,6 +547,14 @@ packages: '@types/web-bluetooth@0.0.16': resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} + '@vant/popperjs@1.3.0': + resolution: {integrity: sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==} + + '@vant/use@1.6.0': + resolution: {integrity: sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==} + peerDependencies: + vue: ^3.0.0 + '@vitejs/plugin-vue@5.1.4': resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==} engines: {node: ^18.0.0 || >=20.0.0} @@ -572,6 +594,9 @@ packages: '@vue/shared@3.5.12': resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} + '@vue/shared@3.5.13': + resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} + '@vueuse/core@9.13.0': resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} @@ -1270,6 +1295,10 @@ packages: stylis@4.3.4: resolution: {integrity: sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==} + swiper@11.2.0: + resolution: {integrity: sha512-rjjAKgDEs+grR2eQshVDCcE4KNPC7CI294nfcbV9gE8WCsLdvOYXDeZKUYevqAZZp8j5hE7kpT3dAGVKFBWlxQ==} + engines: {node: '>= 4.7.0'} + symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -1366,6 +1395,11 @@ packages: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true + vant@4.9.15: + resolution: {integrity: sha512-XyIAnoGu2P/dc5R2NnjIJgKwfOTTVM2FJW/8WpsZA0FUBL6Lu+KHBaAY/x3IduwbowkaCIUUPViUopI2JSjbug==} + peerDependencies: + vue: ^3.0.0 + vite@5.4.9: resolution: {integrity: sha512-20OVpJHh0PAM0oSOELa5GaZNWeDjcAvQjGXy2Uyr+Tp+/D2/Hdz6NLgpJLsarPTA2QJ6v8mX2P1ZfbsSKvdMkg==} engines: {node: ^18.0.0 || >=20.0.0} @@ -1667,6 +1701,10 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + '@onlyoffice/document-editor-vue@1.4.0(vue@3.5.12(typescript@5.6.3))': + dependencies: + vue: 3.5.12(typescript@5.6.3) + '@parcel/watcher-android-arm64@2.4.1': optional: true @@ -1813,6 +1851,12 @@ snapshots: '@types/web-bluetooth@0.0.16': {} + '@vant/popperjs@1.3.0': {} + + '@vant/use@1.6.0(vue@3.5.12(typescript@5.6.3))': + dependencies: + vue: 3.5.12(typescript@5.6.3) + '@vitejs/plugin-vue@5.1.4(vite@5.4.9(@types/node@20.16.13)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))': dependencies: vite: 5.4.9(@types/node@20.16.13)(sass@1.80.3)(terser@5.36.0) @@ -1874,6 +1918,8 @@ snapshots: '@vue/shared@3.5.12': {} + '@vue/shared@3.5.13': {} + '@vueuse/core@9.13.0(vue@3.5.12(typescript@5.6.3))': dependencies: '@types/web-bluetooth': 0.0.16 @@ -2696,6 +2742,8 @@ snapshots: stylis@4.3.4: optional: true + swiper@11.2.0: {} + symbol-tree@3.2.4: {} terser@5.36.0: @@ -2811,6 +2859,13 @@ snapshots: uuid@9.0.1: optional: true + vant@4.9.15(vue@3.5.12(typescript@5.6.3)): + dependencies: + '@vant/popperjs': 1.3.0 + '@vant/use': 1.6.0(vue@3.5.12(typescript@5.6.3)) + '@vue/shared': 3.5.13 + vue: 3.5.12(typescript@5.6.3) + vite@5.4.9(@types/node@20.16.13)(sass@1.80.3)(terser@5.36.0): dependencies: esbuild: 0.21.5 diff --git a/frontend/src/assets/login/QQ.png b/frontend/src/assets/login/QQ.png deleted file mode 100644 index 715df9b7a113040480f0460ec2698faa9eedfc3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2761 zcmZ{m`#;m|AIGoH*f6JI=BzEMk*JkW$sEQU%W~MdBjlJv3n8ht><&52Dw=YpkkEuA z9Vo|=Lvo0+yXlTbROpt&cl`n1AFk_lJ+Alb`tA9;9
jUkfkVV{e!C;{q;j
zN5Gzpa9m+|Jbi8Oyo)Yg`&%VachmxN5YK?gEB|8d6=|k2K#enDhtL2eWWvBDiNl3X
z5P{5%xMiFI1B5P{-LD96Q0ipTn`;9Bu79ywAQuKGw>5&Civh!l&@WTx1OdIl^t!FC
zfOu=$N@UaHDqPq`e##eft%MeDi;by4ZwQ3cOiy4uQHtUg+Zm=;V#KCS!2ezDms(wG
zf&srtwwFhoS9Y21?gtq&vOe9qa5iD$NnX8G7K2 S^`fi|{wDANMbt0V=u05+6~2Ea)cgNKV#fFqx?Nq~{SD$bTS
z*`dt=%#pc626~gM6gg-PfDJh#N@6{`);%OohM_?xj};Y^s{n^R8?t3SfDNr1%C$c9
zELi~n94R3HjuZ}$u_^$7Bjp6Zk;36IRs{fXq?`aaQaC)us=(#|=E&O73; (Twm_^%H{fW*-Hq)R))
zpgw{Exk3`dP4rp2I8=ps7{d4i;w)$^yGa$y=Zv$rLrh8tx9T0QW(d9wyfS&$ijh_T
zJM7Im#JM#pGa=0*F^A$5^82#lbG!7u`@I!w9V7B<$RHg?J>pYS81_`TsHD0|%<_W8
z=SvT6uq$5nCY{tcC|4wuz!x}_%GIB^vF*BqIEF$Pq5aIbN+Tm99Ye `~JI#T?p$9e`aM6Z<(+X08>0ZD6)0-={
z-4k@#uf830+us}}Y;R0bJ<4WylBAYTV=7%yTy9!8FvIXQPAH*leU*;g7{qpPWO2K7
zo+bmFxy2@~P pqiE#HlF0llVpe>Ew&!1n$N
zQh!c49y`i0`V`*~k#ejjBT)tNbTqRw4~oPYq8!rmD&ybgX4Mcq)_3c0P@Su#;nrcY
zDWM%h3Tjw)bu_x^a5hdYh$O9S>Yu;`i#}z_ZGule=W?!{o>A!5;NxK^Q~wy}q*ibu
z2|#_Di&;Sj)<55w1UIGfb?FxW+$|(X3hUn-zFy=kWyS>Amz!j#L;IPkf;heCVk+#I
zh6!(MA<_HrL^|8;wXxpTq((LseslvX&64Td&)=|2qMvSbT*wZl(p?|zd-6J(gX)84
zBXv>!ELjgUg;$3=-dW*MS!fWdAlB{{@=KPn_i{7{-FkiaB9jxf2(K$yCu|GGBeIvI
zoMuxpvrW0X84^t6?h=TOcc@gUa_gEOF%7Ea?kZGjN~d{oyPZ`)TK02eHZHBnAd%`Y
zh%l3WFR}-vp@?p)A#d?!F$oBu;CmITNxmsS
z00t9`4bNgJ1Tz5$z$gI5x(Oq>ifTZ9`}6&WJ6+Bz@Tp`0<)Ekp1YlHxVXs-Gpr`@_
zU~~XOdFZ7A5abvFz*ux496oAD=7$FaUPBffcfC;%b`1;2eDXcHpMvFqt_2GW49akT
zAe
?~djARtRx#i9pMUZ-ac0-J*n5Uyg0
zJBrN$=|OC4%@E7R&f>M80>TG{46(#vXcb66Ow7z>UK=yZ*8&I#pQJMfkq2R`L;_-C
zYvv#}b{4ONfQXy4S$`k_v9YswEd)f|q%i
-
+