diff --git a/application/admin/controller/fc/Post.php b/application/admin/controller/fc/Post.php index 1121bc1..71b56f8 100644 --- a/application/admin/controller/fc/Post.php +++ b/application/admin/controller/fc/Post.php @@ -153,6 +153,17 @@ class Post extends Backend $mediaList[] = $row->cover; } + // 结构化媒体列表(识别图片与短视频) + $mediaItems = []; + foreach ($mediaList as $m) { + $url = (string)$m; + $isVideo = (bool)preg_match('/\.(mp4|mov|avi|webm|mkv)(\?|$)/i', $url); + $mediaItems[] = [ + 'url' => $url, + 'is_video' => $isVideo, + ]; + } + // 获取用户画像与关联商家门店资料 $userInfo = [ 'id' => $row->user_id, @@ -215,6 +226,7 @@ class Post extends Backend $this->view->assign('userInfo', $userInfo); $this->view->assign('merchantInfo', $merchantInfo); $this->view->assign('mediaList', $mediaList); + $this->view->assign('mediaItems', $mediaItems); $this->view->assign('queue', $this->auditQueue($row->getData())); // 如果是审核模式渲染 audit.html,详情模式渲染 detail.html diff --git a/application/admin/controller/fc/Postaudit.php b/application/admin/controller/fc/Postaudit.php index a063ae0..3680e6f 100644 --- a/application/admin/controller/fc/Postaudit.php +++ b/application/admin/controller/fc/Postaudit.php @@ -212,7 +212,7 @@ class Postaudit extends Backend $row->category_name = '未分类'; } - // 解析多图相册 + // 解析多图相册与多媒体 $mediaList = []; $rawMedia = $row->getData('media'); if (!empty($rawMedia)) { @@ -227,6 +227,25 @@ class Postaudit extends Backend $mediaList[] = $row->cover; } + // 构造结构化媒体列表(精准区分图片与视频) + $mediaItems = []; + foreach ($mediaList as $item) { + $pathOnly = parse_url($item, PHP_URL_PATH) ?: $item; + $ext = strtolower(pathinfo($pathOnly, PATHINFO_EXTENSION)); + $isVideo = in_array($ext, ['mp4', 'mov', 'avi', 'wmv', 'm4v', '3gp', 'flv', 'mkv', 'webm'], true); + $mediaItems[] = [ + 'url' => $item, + 'is_video' => $isVideo, + 'ext' => $ext + ]; + } + + // 获取商家门店信息(如存在) + $merchantInfo = null; + if (!empty($row->merchant_id)) { + $merchantInfo = Db::name('fc_merchant')->where('id', $row->merchant_id)->find(); + } + // 获取发布用户画像 $userInfo = [ 'id' => $row->user_id, @@ -247,7 +266,9 @@ class Postaudit extends Backend $this->view->assign('mode', $mode); $this->view->assign('row', $row); $this->view->assign('userInfo', $userInfo); + $this->view->assign('merchantInfo', $merchantInfo); $this->view->assign('mediaList', $mediaList); + $this->view->assign('mediaItems', $mediaItems); $this->view->assign('queue', $this->auditQueue($row->getData())); if ($mode === 'audit') { diff --git a/application/admin/view/fc/post/audit.html b/application/admin/view/fc/post/audit.html index 068f61b..7d93626 100644 --- a/application/admin/view/fc/post/audit.html +++ b/application/admin/view/fc/post/audit.html @@ -124,19 +124,43 @@ - -