From 9647e7614b492133e40882da2d623696eb340d8f Mon Sep 17 00:00:00 2001
From: chc <1501738723@qq.com>
Date: Mon, 13 Jul 2026 15:26:56 +0800
Subject: [PATCH] =?UTF-8?q?=E7=9B=B4=E6=92=AD=E5=8A=9F=E8=83=BD=E8=A1=A5?=
=?UTF-8?q?=E5=85=85=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
manager/src/views/live/control-panel.vue | 4 +--
manager/src/views/live/list.vue | 38 ++++++++++++++++++++++--
2 files changed, 37 insertions(+), 5 deletions(-)
diff --git a/manager/src/views/live/control-panel.vue b/manager/src/views/live/control-panel.vue
index 21081355..3be1dedd 100644
--- a/manager/src/views/live/control-panel.vue
+++ b/manager/src/views/live/control-panel.vue
@@ -27,7 +27,7 @@
@@ -644,7 +644,7 @@ export default {
},
buildShareUrl() {
const base = (this.wapUrl || BASE?.WAP_URL || config.website || "").replace(/\/?$/, "/");
- return `${base}pages/promotions/live/detail?id=${this.liveId}`;
+ return `${base}pages/promotion/live/room?id=${this.liveId}`;
},
handleShare() {
const url = this.buildShareUrl();
diff --git a/manager/src/views/live/list.vue b/manager/src/views/live/list.vue
index 96d4f6b0..e84f105e 100644
--- a/manager/src/views/live/list.vue
+++ b/manager/src/views/live/list.vue
@@ -237,7 +237,7 @@ export default {
},
buildH5ShareUrl(liveId) {
const base = (this.wapUrl || BASE?.WAP_URL || config.website || "").replace(/\/?$/, "/");
- return `${base}pages/promotions/live/detail?id=${liveId}`;
+ return `${base}pages/promotion/live/room?id=${liveId}`;
},
handleShare(row) {
this.shareTitle = row.title || "";
@@ -246,8 +246,40 @@ export default {
},
copyShareUrl() {
if (!this.shareH5Url) return;
- navigator.clipboard.writeText(this.shareH5Url);
- this.$Message.success("链接已复制");
+ this.copyText(this.shareH5Url);
+ },
+ copyText(text) {
+ const onSuccess = () => this.$Message.success("链接已复制");
+ const onFail = () => this.$Message.error("复制失败,请手动复制");
+
+ if (navigator.clipboard?.writeText) {
+ navigator.clipboard
+ .writeText(text)
+ .then(onSuccess)
+ .catch(() => {
+ this.copyTextFallback(text) ? onSuccess() : onFail();
+ });
+ return;
+ }
+
+ this.copyTextFallback(text) ? onSuccess() : onFail();
+ },
+ copyTextFallback(text) {
+ const textArea = document.createElement("textarea");
+ textArea.value = text;
+ textArea.style.position = "fixed";
+ textArea.style.left = "-9999px";
+ document.body.appendChild(textArea);
+ textArea.focus();
+ textArea.select();
+ let ok = false;
+ try {
+ ok = document.execCommand("copy");
+ } catch (e) {
+ ok = false;
+ }
+ document.body.removeChild(textArea);
+ return ok;
},
handleStart(row) {
if (row.liveStatus === "LIVING") {