From 2b695bfabdceccb0ee19c12c8e655bd7f47a6e2f Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期二, 27 十月 2026 18:06:44 +0800
Subject: [PATCH] feat(wxcp): 通知前端支持图片/视频/Markdown/多图文与成员预览

---
 src/views/wxcp/notice/index.vue |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/src/views/wxcp/notice/index.vue b/src/views/wxcp/notice/index.vue
index 541b046..1245199 100644
--- a/src/views/wxcp/notice/index.vue
+++ b/src/views/wxcp/notice/index.vue
@@ -16,6 +16,7 @@
 
 import { NOTICE_STATUS, NOTICE_STATUS_OPTIONS, toLabelMap } from '../data';
 import {
+  NOTICE_TYPE,
   useNoticeGridColumns,
   useNoticeSearchFormSchema,
 } from './data';
@@ -67,6 +68,18 @@
   await revokeNotice(row.id!);
   message.success('宸叉挙鍥�');
   handleRefresh();
+}
+
+/** 澶嶅埗鎴愬憳棰勮閾炬帴锛屽彲鐩存帴鍙戝埌浼佷笟寰俊缇ら噷 */
+async function handleCopyPreview(row: WxCpNoticeApi.Notice) {
+  if (!row.previewUrl) {
+    message.warning(
+      '鏈厤缃缃戝湴鍧�鍓嶇紑锛坵x.cp.signup-url-prefix锛夛紝鏃犳硶鐢熸垚棰勮閾炬帴',
+    );
+    return;
+  }
+  await navigator.clipboard.writeText(row.previewUrl);
+  message.success('棰勮閾炬帴宸插鍒�');
 }
 
 const [Grid, gridApi] = useVbenVxeGrid({
@@ -176,6 +189,16 @@
               onClick: () => pushModalApi.setData({ notice: row }).open(),
             },
             {
+              label: '棰勮閾炬帴',
+              type: 'link',
+              ifShow:
+                row.status === NOTICE_STATUS.PUBLISHED &&
+                (row.noticeType === NOTICE_TYPE.IMAGE ||
+                  row.noticeType === NOTICE_TYPE.FILE ||
+                  row.noticeType === NOTICE_TYPE.VIDEO),
+              onClick: handleCopyPreview.bind(null, row),
+            },
+            {
               label: '鎾ゅ洖',
               type: 'link',
               auth: ['wxcp:notice:update'],

--
Gitblit v1.9.3