From 06e1822e4da6bf454d8e92be94cb8b8618f92fa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?kaizheng=28=E9=83=91=E5=87=AF=29?= Date: Tue, 11 Feb 2025 21:47:01 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=20=E5=AF=B9=E6=8E=A5=E4=BA=A4?= =?UTF-8?q?=E6=98=93=E5=9C=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 4 +- package.json | 7 +- src/App.vue | 1 + src/components/Share.vue | 11 +- src/components/VideoItem2.vue | 20 +- src/hooks/useVideoPlay.js | 14 +- src/main.js | 4 +- src/router/index.js | 73 +- src/store/index.js | 28 +- src/utils/login.js | 112 +- src/utils/upNativeComm.js | 191 -- src/utils/upNativeFn.js | 18 - src/utils/upPcNativeComm.js | 102 - src/views/Circle/components/ChatFrame.vue | 64 +- src/views/Circle/hooks/useChatData.js | 44 +- src/views/Circle/index.vue | 91 +- src/views/Circle/interact.vue | 44 +- src/views/Login/index.vue | 66 +- src/views/ShotVideoPlay/index.vue | 3 +- src/views/VideoList/components/Item.vue | 33 +- src/views/VideoPlay/index.vue | 18 +- template/index.js | 45 - template/package-lock.json | 2045 --------------------- template/package.json | 12 - template/yarn.lock | 805 -------- vue.config.js | 2 +- 股牛牛PC.html | 171 -- 27 files changed, 284 insertions(+), 3744 deletions(-) delete mode 100644 src/utils/upNativeComm.js delete mode 100644 src/utils/upNativeFn.js delete mode 100644 src/utils/upPcNativeComm.js delete mode 100644 template/index.js delete mode 100644 template/package-lock.json delete mode 100644 template/package.json delete mode 100644 template/yarn.lock delete mode 100644 股牛牛PC.html diff --git a/package-lock.json b/package-lock.json index df041da..bc844e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "SYZBH5Server", + "name": "h5Server", "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "SYZBH5Server", + "name": "h5Server", "version": "0.1.0", "dependencies": { "@better-scroll/mouse-wheel": "^2.5.1", diff --git a/package.json b/package.json index 52f663c..6d91074 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,11 @@ { - "name": "SYZBH5Server", + "name": "h5Server", "version": "0.1.0", "private": true, "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", - "lint": "vue-cli-service lint", - "package": "up release-super dist -p syzbh5 SYZBH5Server -C -t ./template", - "release": "npm run build && npm run package", - "deploy": "up upload .upchina/SYZBH5Server.tar.gz -a DemoVideoDev -s SYZBH5Server" + "lint": "vue-cli-service lint" }, "dependencies": { "@better-scroll/mouse-wheel": "^2.5.1", diff --git a/src/App.vue b/src/App.vue index fd9512c..b652427 100644 --- a/src/App.vue +++ b/src/App.vue @@ -46,6 +46,7 @@ if (terminalType === "App") { diff --git a/src/views/Circle/hooks/useChatData.js b/src/views/Circle/hooks/useChatData.js index 85cb929..bf02dec 100644 --- a/src/views/Circle/hooks/useChatData.js +++ b/src/views/Circle/hooks/useChatData.js @@ -1,4 +1,4 @@ -import { ref, onMounted, nextTick } from "vue"; +import { ref, onMounted, nextTick } from "vue"; import { getMessageList } from "@/api/circle"; import BScroll from "@better-scroll/core"; import PullDown from "@better-scroll/pull-down"; @@ -14,30 +14,33 @@ export default function useChatData({ id, className, type }) { let bs = ref(); const isPullingDown = ref(false); const msgListRef = ref(); - const msgList = ref([]) + const msgList = ref([]); + const loading = ref(false); const getLiveHisMsg = async () => { + loading.value = true; if (isPullingDown.value) return; isPullingDown.value = true; - let preHisHeight + let preHisHeight; let ret = await getMessageList({ - groupId: id, - lastId: msgList.value[0]?.id, - size: 10, - type, - }) + groupId: id, + lastId: msgList.value[0]?.id, + size: 10, + type, + }); if (ret.code === 0) { - let list = ret.data.list.reverse() || [] + let list = ret.data.list.reverse() || []; hasNext.value = ret.data.hasNext; preHisHeight = msgListRef.value.clientHeight; - msgList.value = list.concat(msgList.value) + msgList.value = list.concat(msgList.value); if (!hasNext.value) { bs.value && bs.value.closePullDown(); } } isPullingDown.value = false; finishPullDown(preHisHeight); + loading.value = false; }; const finishPullDown = (preHisHeight) => { @@ -52,21 +55,21 @@ export default function useChatData({ id, className, type }) { // WebSocket推送的消息 const pushNewMsg = (msg) => { - msgList.value.push(msg) - nextTick(()=>{ - let isBottom = bs.value.maxScrollY+20 >= bs.value.y + msgList.value.push(msg); + nextTick(() => { + let isBottom = bs.value.maxScrollY + 20 >= bs.value.y; bs.value && bs.value.refresh(); - if(isBottom) { + if (isBottom) { bs.value && bs.value.scrollTo(0, bs.value.maxScrollY, 0); } - }) - } + }); + }; // 刷新消息 const refreshMsg = () => { - msgList.value = [] - getLiveHisMsg() - } + msgList.value = []; + getLiveHisMsg(); + }; let wrapper; onMounted(async () => { @@ -108,6 +111,7 @@ export default function useChatData({ id, className, type }) { bs, msgList, pushNewMsg, - refreshMsg + refreshMsg, + loading, }; } diff --git a/src/views/Circle/index.vue b/src/views/Circle/index.vue index 7f1b6bd..a68288b 100644 --- a/src/views/Circle/index.vue +++ b/src/views/Circle/index.vue @@ -1,15 +1,17 @@