$thumbnailUrl) { $largeUrl = $largeImages[$index]; $html .= ""; } return $html; } return $html; } /* * 返回oss的url */ public static function ossUrl($imageUrl) { if (strpos($imageUrl, 'http:') === 0 || strpos($imageUrl, 'https:') === 0) { return $imageUrl; } if (env('OSS_DOMAIN')) { return "http://".env('OSS_DOMAIN').'/'.$imageUrl; } return "http://".env('OSS_BUCKET').'.'.env('OSS_ENDPOINT').'/'.$imageUrl; } /* * 图库图片URL */ public static function albumUrl($imageUrl) { if (strpos($imageUrl, 'http:') === 0 || strpos($imageUrl, 'https:') === 0) { return $imageUrl; } return env('ALBUM_OSS_URL').'/'.$imageUrl; } /* * 显示视频 */ public static function displayVideo($items,$videoCover,$videoSrc,$boxSize=150,$ossSource=1) { $html = ''; if (is_array($items)) { foreach ($items as $item) { $item = (array) $item; $cover = $item[$videoCover]; $src = $item[$videoSrc]; if ($ossSource == 1) { $videoUrl = CommonHelper::ossUrl($src); } else { $videoUrl = CommonHelper::albumUrl($src); } if ($ossSource == 1) { $thumbnailUrl = CommonHelper::ossUrl($cover) . "?x-oss-process=image/resize,m_pad,h_{$boxSize},w_{$boxSize},color_ffffff"; } else { $thumbnailUrl = CommonHelper::albumUrl($cover) . "?x-oss-process=image/resize,m_pad,h_{$boxSize},w_{$boxSize},color_ffffff"; } $html .= '
Video Thumbnail
'; } $html .= '
×
'; } //视频播放CSS Admin::style(" .video-container { position: relative; display: inline-block; } .video-container img { height: 200px; margin-right: 5px; border: 1px solid #ececf1; } .play-button { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 50px; height: 50px; background-color: rgba(0, 0, 0, 0.7); border-radius: 50%; cursor: pointer; } .play-button::after { content: '▶'; font-size: 30px; color: white; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .video-popup { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: white; padding: 25px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); z-index: 1000; } .video-popup iframe { width: 800px; height: 450px; } .close-btn { position: absolute; top: 0px; right: 5px; font-size: 24px; color: #000; cursor: pointer; } .close-btn:hover { color: #f00; } "); Admin::script(" $('.playVideo').on('click', function(e) { e.preventDefault(); // 阻止默认跳转行为 var videoUrl = $(this).attr('videoUrl'); // 获取 videoUrl 属性 $('#videoPopup').css('display', 'block'); $('#videoPopup iframe').attr('src', videoUrl); // 设置 iframe 的 src }); // 点击关闭按钮关闭视频 $('.close-btn').on('click', function() { $('#videoPopup').css('display', 'none'); $('#videoPopup iframe').attr('src', ''); // 停止播放视频 }); "); return $html; // 当没有数组数据时 } /* * 替换新增与编辑的url,在后边加上指定的参数 (适用于弹出框的新增与编辑) * $addButton = '.tree-quick-create'; * $editButton = '.tree-quick-edit'; * $paramsUrl = 'location=0'; */ public static function replaceAddEditerUrl($addButton,$editButton,$paramsUrl) { Admin::script( <<