From feec15158314721d33b584cedb41cc5acc497d1b Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 7 Jan 2026 14:38:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + pnpm-lock.yaml | 22 ++ src/api/chat/chat.ts | 50 ++++ src/components/Pagination/index.vue | 3 +- src/components/PreviewImage/index.vue | 3 +- .../src/nodes/StartUserNode.vue | 6 +- src/components/UploadFile/src/UploadImg.vue | 3 +- src/components/UploadFile/src/UploadImgs.vue | 3 +- src/layout/components/ServiceDialog/index.ts | 5 + .../ServiceDialog/src/ServiceDialog.vue | 42 ++++ src/layout/components/Setting/src/Setting.vue | 77 +++---- .../components/TagsView/src/TagsView.vue | 214 ++++++++---------- src/layout/components/ToolHeader.vue | 2 + src/views/Login/SocialLogin.vue | 21 +- src/views/Login/components/LoginForm.vue | 18 +- .../chat/private-msg/cmp/msg-content.vue | 9 +- src/views/chat/private-msg/index.vue | 12 +- src/views/chat/sensitive/index.vue | 6 +- src/views/infra/file/FileForm.vue | 3 +- src/views/mall/product/gift/GiftForm.vue | 3 +- src/views/mall/product/gift/index.vue | 12 +- .../mall/product/spu/form/DeliveryForm.vue | 6 +- .../mall/promotion/banner/BannerForm.vue | 6 +- src/views/mall/trade/config/index.vue | 39 ++-- .../expressTemplate/ExpressTemplateForm.vue | 9 +- .../trade/order/components/OrderMchImport.vue | 6 +- src/views/mall/trade/order/detail/index.vue | 15 +- src/views/mall/trade/order/index.vue | 39 ++-- .../member/com-auth/cmp/com-auth-form.vue | 3 +- src/views/member/com-auth/index.vue | 12 +- src/views/member/config/index.vue | 3 +- src/views/member/feedback/index.vue | 21 +- src/views/member/level/LevelForm.vue | 6 +- src/views/member/level/index.vue | 9 +- src/views/member/opentype-history/index.vue | 6 +- src/views/member/opentype/OpenTypeForm.vue | 6 +- src/views/member/opentype/index.vue | 12 +- src/views/member/recent/cmp/like-page.vue | 9 +- src/views/member/recent/cmp/look-wechat.vue | 9 +- src/views/member/recent/cmp/report-page.vue | 9 +- src/views/member/recent/cmp/shield-page.vue | 9 +- src/views/member/recent/cmp/visit-page.vue | 6 +- src/views/member/recent/index.vue | 18 +- src/views/member/report/index.vue | 9 +- .../user/components/UserMemberTagForm.vue | 3 +- .../member/user/detail/UserOrderList.vue | 33 ++- src/views/member/user/index.vue | 36 ++- .../components/channel/WeixinChannelForm.vue | 27 ++- .../pay/wallet/rechargePackage/index.vue | 18 +- .../pay/wallet/tx-auth/WalletTxAuthForm.vue | 3 +- src/views/pay/wallet/tx-auth/index.vue | 6 +- src/views/system/notify/my/index.vue | 9 +- src/views/system/tenantPackage/index.vue | 18 +- 53 files changed, 594 insertions(+), 341 deletions(-) create mode 100644 src/api/chat/chat.ts create mode 100644 src/layout/components/ServiceDialog/index.ts create mode 100644 src/layout/components/ServiceDialog/src/ServiceDialog.vue diff --git a/package.json b/package.json index e728e7a0..8fc7e4d8 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,7 @@ "fast-xml-parser": "^4.3.2", "highlight.js": "^11.9.0", "jsencrypt": "^3.3.2", + "localforage": "^1.10.0", "lodash-es": "^4.17.21", "markdown-it": "^14.1.0", "markmap-common": "^0.16.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bb8c2294..79dc3634 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -89,6 +89,9 @@ importers: jsencrypt: specifier: ^3.3.2 version: 3.3.2 + localforage: + specifier: ^1.10.0 + version: 1.10.0 lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -3748,6 +3751,9 @@ packages: engines: {node: '>=0.10.0'} hasBin: true + immediate@3.0.6: + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + immer@9.0.21: resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} @@ -4138,6 +4144,9 @@ packages: lezer-feel@1.4.0: resolution: {integrity: sha512-kNxG7O38gwpuYy+C3JCRxQNTCE2qu9uTuH5dE3EGVnRhIQMe6rPDz0S8t3urLEOsMud6HI795m6zX2ujfUaqTw==} + lie@3.1.1: + resolution: {integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==} + lilconfig@3.1.2: resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} @@ -4169,6 +4178,9 @@ packages: resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} engines: {node: '>=14'} + localforage@1.10.0: + resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} + locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -9929,6 +9941,8 @@ snapshots: image-size@0.5.5: {} + immediate@3.0.6: {} + immer@9.0.21: {} immutable@5.0.3: {} @@ -10269,6 +10283,10 @@ snapshots: '@lezer/lr': 1.4.2 min-dash: 4.2.2 + lie@3.1.1: + dependencies: + immediate: 3.0.6 + lilconfig@3.1.2: {} lines-and-columns@1.2.4: {} @@ -10314,6 +10332,10 @@ snapshots: mlly: 1.7.3 pkg-types: 1.2.1 + localforage@1.10.0: + dependencies: + lie: 3.1.1 + locate-path@5.0.0: dependencies: p-locate: 4.1.0 diff --git a/src/api/chat/chat.ts b/src/api/chat/chat.ts new file mode 100644 index 00000000..9d462e76 --- /dev/null +++ b/src/api/chat/chat.ts @@ -0,0 +1,50 @@ +import request from '@/config/axios' + +// 查询用户详情 +export const self = async (params: any) => { + return await request.get({ + url: '/user/self', + params + }) +} + +// 判断用户哪个终端在线 +export const terminalOnline = async (params: any) => { + return await request.get({ + url: '/user/terminal/online', + params + }) +} + +// 朋友列表 +export const friendList = async (params: any) => { + return await request.get({ + url: '/friend/list', + params + }) +} + +// 群列表 +export const groupList = async (params: any) => { + return await request.get({ + url: '/group/list', + params + }) +} + + +// 开启/关闭免打扰状态 +export const friendDnd = async (data: any) => { + return await request.put({ + url: '/friend/dnd', + data + }) +} + +// 开启/关闭群免打扰状态 +export const groupDnd = async (data: any) => { + return await request.put({ + url: '/group/dnd', + data + }) +} diff --git a/src/components/Pagination/index.vue b/src/components/Pagination/index.vue index 2aad8661..dea2f98c 100644 --- a/src/components/Pagination/index.vue +++ b/src/components/Pagination/index.vue @@ -1,6 +1,7 @@