Browse Source

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

author
wanghongjun 9 months ago
parent
commit
6d93eaa0c2
  1. 83
      app/enterprise/controller/Posts.php

83
app/enterprise/controller/Posts.php

@ -176,7 +176,8 @@ class Posts extends BaseController
$privacy = $this->request->param('privacy', ''); $privacy = $this->request->param('privacy', '');
$location = $this->request->param('location', ''); $location = $this->request->param('location', '');
$address = $this->request->param('address', ''); $address = $this->request->param('address', '');
$video_file = $this->request->param('video_file', []); $video_file = $this->request->param('video_file', '');
$poster_file = $this->request->param('poster_file', '');
$imgArr = $this->request->param('img_arr', []); $imgArr = $this->request->param('img_arr', []);
$posts_id = $this->request->param('posts_id', ''); $posts_id = $this->request->param('posts_id', '');
$user_ids = $this->request->param('user_ids', []); $user_ids = $this->request->param('user_ids', []);
@ -210,6 +211,38 @@ 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 = [
@ -233,37 +266,6 @@ class Posts extends BaseController
$posts_id = (new PostsModel())->insertGetId($info); $posts_id = (new PostsModel())->insertGetId($info);
} }
$fileSaveArr = [];
foreach ($imgArr as $key => $img_url) {
$imgUrl = str_replace($this->url, '', $img_url);
$whereFile = ['src' => $imgUrl, 'user_id' => $this->uid, 'delete_time' => 0];
$img_file_id = File::where($whereFile)->value('file_id');
if ($img_file_id) {
$fileSaveArr[] = [
'posts_id' => $posts_id,
'type' => 1,
'file_id' => $img_file_id,
'sort' => $key + 1
];
}
}
if (!empty($video_file)) {
foreach ($video_file as $v_file) {
$videoUrl = str_replace($this->url, '', $v_file);
$whereFile = ['src' => $videoUrl, 'user_id' => $this->uid, 'delete_time' => 0];
$video_file_id = File::where($whereFile)->value('file_id');
if ($video_file_id) {
$fileSaveArr[] = [
'posts_id' => $posts_id,
'type' => 2,
'file_id' => $video_file_id,
'sort' => 1
];
}
}
}
if ($fileSaveArr) { if ($fileSaveArr) {
(new PostsFile())->saveAll($fileSaveArr); (new PostsFile())->saveAll($fileSaveArr);
} }
@ -290,6 +292,23 @@ class Posts extends BaseController
} }
} }
// 添加图片视频数据处理
protected function addPostsFileData($url, $posts_id, $data, $sort = 1, $type = 1)
{
$imgUrl = str_replace($this->url, '', $url);
$whereFile = ['src' => $imgUrl, 'user_id' => $this->uid, 'delete_time' => 0];
$img_file_id = File::where($whereFile)->value('file_id');
if ($img_file_id) {
$data[] = [
'posts_id' => $posts_id,
'type' => $type,
'file_id' => $img_file_id,
'sort' => $sort
];
}
return $data;
}
// 获取上传草稿帖子数据 // 获取上传草稿帖子数据
public function getLastPosts() public function getLastPosts()
{ {

Loading…
Cancel
Save