dever 4 年之前
父节点
当前提交
c3fa032c28
共有 3 个文件被更改,包括 20 次插入9 次删除
  1. 2 1
      lib/View/Qiniu.php
  2. 12 1
      src/View.php
  3. 6 7
      src/Yun.php

+ 2 - 1
lib/View/Qiniu.php

@@ -129,8 +129,9 @@ class Qiniu
     }
 
     # 视频截图
-    public function cover()
+    public function cover($key, $video, $num = 1)
     {
+        return $video . '?vframe/jpg/offset/' . $num;
         //vframe/jpg/offset/7/w/480/h/360
     }
 }

+ 12 - 1
src/View.php

@@ -204,7 +204,8 @@ class View
         $data['cur'] = Dever::input('cur');
         $data['cover'] = Dever::input('cover');
 
-        $data['cover_pic'] = $data['cur'] . '?vframe/jpg/offset/1';
+        $data['cover_pic'] = Dever::load('upload/yun')->cover($data['key'], $data['cur']);
+
         $data['video'] = Dever::url('view.video?video=' . Dever::encode($data['cur']), 'upload');
         $data = Dever::render('cover', $data);
         Dever::out($data);
@@ -218,6 +219,16 @@ class View
         return '<video src="'.$video.'" width="300" controls="true"/>';
     }
 
+    # 展示视频截图
+    public function coverPic()
+    {
+        $key = Dever::input('key');
+        $video = Dever::decode(Dever::input('video'));
+        $pic = Dever::load('upload/yun')->cover($key, $pic);
+
+        return $pic;
+    }
+
     public function setState()
     {
         $id = Dever::input('id');

+ 6 - 7
src/Yun.php

@@ -21,16 +21,15 @@ class Yun
 	}
 
     # 查看视频截图
-    public function cover($key)
+    public function cover($key, $video)
     {
-        $upload = Dever::db('upload/upload')->one($key);
+        $domain = parse_url($video);
+        $host = $domain['scheme'] . '://' . $domain['host'] . '/';
 
-        if ($upload) {
+        $config = Dever::db('upload/yun')->one(array('host' => $host));
 
-            if ($upload['yun'] > 0) {
-                $config = Dever::db('upload/yun')->one($upload['yun']);
-                return $this->getMethod($config['type'])->cover($key, $file, $config, $upload);
-            }
+        if ($config) {
+            return $this->getMethod($config['type'])->cover($key, $video);
         }
 
         return false;