Browse Source

朋友圈上传图片视频接口4

author
wanghongjun 9 months ago
parent
commit
630784d712
  1. 25
      app/common/controller/Upload.php
  2. 72
      app/enterprise/controller/Posts.php

25
app/common/controller/Upload.php

@ -111,17 +111,6 @@ class Upload extends BaseController
'videoInfo'=>$imageInfo 'videoInfo'=>$imageInfo
]; ];
// 上传视频切片
if ($fileType == 4) {
$videoInfo=$this->getVideoCover($filePath);
if($videoInfo){
$poster=$this->url.$videoInfo['src'];
}else{
$poster=getMainHost().'/static/common/img/video.png';
}
$ret['poster'] = $poster;
}
if($message){ if($message){
// 自动获取视频第一帧,视频并且是使用的阿里云 // 自动获取视频第一帧,视频并且是使用的阿里云
if($message['type']=='video'){ if($message['type']=='video'){
@ -164,6 +153,16 @@ class Upload extends BaseController
} }
return $data; return $data;
}else{ }else{
// 上传视频切片
if ($fileType == 4) {
$videoInfo=$this->getVideoCover($filePath);
if($videoInfo){
$poster=$this->url.$videoInfo['src'];
}else{
$poster=getMainHost().'/static/common/img/video.png';
}
$ret['poster'] = $poster;
}
return $ret; return $ret;
} }
@ -368,6 +367,10 @@ class Upload extends BaseController
$info=$this->upload([],$savePath,'cover/'.date('Y-m-d').'/',false); $info=$this->upload([],$savePath,'cover/'.date('Y-m-d').'/',false);
$info['videoInfo']['duration']= ceil($duration); $info['videoInfo']['duration']= ceil($duration);
unlink($savePath); unlink($savePath);
if ($info) {
$fileInfo=new FileModel;
$fileInfo->save($info);
}
return $info; return $info;
} }

72
app/enterprise/controller/Posts.php

@ -27,8 +27,8 @@ class Posts extends BaseController
// 朋友圈列表 // 朋友圈列表
public function index() public function index()
{ {
$where = []; $where = '(p.delete_time = 0 and p.privacy > 0) and ';
$whereOr = ' (p.delete_time = 0 and p.privacy > 0) and p.user_id = ' . $this->uid; $whereOr = $where . ' ( p.user_id = ' . $this->uid;
$friendIds = Friend::getFriendIds($this->uid); $friendIds = Friend::getFriendIds($this->uid);
@ -49,12 +49,12 @@ class Posts extends BaseController
$whereOr .= " or ( p.privacy = 4 and not exists ( $whereOr .= " or ( p.privacy = 4 and not exists (
select 1 from {$prefix}posts_privacy_users peu select 1 from {$prefix}posts_privacy_users peu
where peu.posts_id = p.id and peu.user_id = p.user_id and peu.type = 2 where peu.posts_id = p.id and peu.user_id = p.user_id and peu.type = 2
))"; )))";
$field = 'p.id,p.content,p.location,p.address as location_address,p.type,p.user_id,p.create_time'; $field = 'p.id,p.content,p.location,p.address as location_address,p.type,p.user_id,p.create_time';
$order = 'p.create_time desc'; $order = 'p.create_time desc';
$model = new PostsModel(); $model = new PostsModel();
$list = $this->paginate($model->alias('p')->where($where)->whereOr($whereOr)->field($field)->order($order)); $list = $this->paginate($model->alias('p')->where($whereOr)->field($field)->order($order));
$data = []; $data = [];
if ($list) { if ($list) {
@ -211,38 +211,6 @@ class Posts extends BaseController
} }
} }
$fileSaveArr = [];
if ($imgArr) {
foreach ($imgArr as $key => $img_url) {
$fileSaveArr = $this->addPostsFileData(
$img_url,
$posts_id,
$fileSaveArr,
$key + 1
);
}
} elseif ($video_file && $poster_file) {
$fileSaveArr = $this->addPostsFileData(
$video_file,
$posts_id,
$fileSaveArr,
1,
2
);
$fileSaveArr = $this->addPostsFileData(
$poster_file,
$posts_id,
$fileSaveArr,
2
);
}
if ($imgArr || ($video_file && $poster_file)) {
if (empty($fileSaveArr)) {
return error(lang('system.error'));
}
}
Db::startTrans(); Db::startTrans();
try { try {
$info = [ $info = [
@ -266,6 +234,38 @@ class Posts extends BaseController
$posts_id = (new PostsModel())->insertGetId($info); $posts_id = (new PostsModel())->insertGetId($info);
} }
$fileSaveArr = [];
if ($imgArr) {
foreach ($imgArr as $key => $img_url) {
$fileSaveArr = $this->addPostsFileData(
$img_url,
$posts_id,
$fileSaveArr,
$key + 1
);
}
} elseif ($video_file && $poster_file) {
$fileSaveArr = $this->addPostsFileData(
$video_file,
$posts_id,
$fileSaveArr,
1,
2
);
$fileSaveArr = $this->addPostsFileData(
$poster_file,
$posts_id,
$fileSaveArr,
2
);
}
if ($imgArr || ($video_file && $poster_file)) {
if (empty($fileSaveArr)) {
throw new \Exception(lang('system.error'));
}
}
if ($fileSaveArr) { if ($fileSaveArr) {
(new PostsFile())->saveAll($fileSaveArr); (new PostsFile())->saveAll($fileSaveArr);
} }

Loading…
Cancel
Save