Browse Source

朋友圈发布的图片合并一张图

author
wanghongjun 8 months ago
parent
commit
6ed34eb8ce
  1. 23
      app/enterprise/controller/Posts.php
  2. 38
      app/enterprise/model/Posts.php

23
app/enterprise/controller/Posts.php

@ -137,12 +137,26 @@ class Posts extends BaseController
['status', '=', 1],
['delete_time', '=', 0]
];
$field = 'id,content,location,address,type,user_id,create_time,privacy';
$field = 'id,content,location,address,type,user_id,create_time,privacy,avatar';
$data = (new PostsModel())->where($where)->field($field)->find();
if (!$data) {
return warning(lang('system.error'));
}
$data['files'] = PostsFile::getPostsFile($data['id']);
$src = '';
if (empty($data['avatar'])) {
$data['files'] = PostsFile::getPostsFile($data['id']);
if (strpos('2',$data['type']) !== false && count($data['files']) > 1) {
$imageFileArr = array_column($data['files'], 'src');
$src = PostsModel::createPostsAvatar($data['posts_id'], $imageFileArr);
}
} else {
$src = $data['avatar'];
}
if ($src) {
$data['files'][] = ['file_id' => 0, 'type' => 1, 'src' => $src];
}
$friendIds = Friend::getFriendIds($this->uid);
$friendIds[] = $this->uid;
@ -152,6 +166,10 @@ class Posts extends BaseController
$data['comment'] = Comment::getPostsComment($data['id'], $this->uid, $friendIds);
$data['user'] = $this->getFriendUserInfo($data['user_id']);
unset($data['avatar']);
return success('', $data);
}
@ -265,6 +283,7 @@ class Posts extends BaseController
$key + 1
);
}
PostsModel::createAvatar($posts_id);
} elseif ($video_file && $poster_file) {
$fileSaveArr = $this->addPostsFileData(
$video_file,

38
app/enterprise/model/Posts.php

@ -3,8 +3,46 @@
namespace app\enterprise\model;
use app\BaseModel;
use app\common\controller\Upload;
class Posts extends BaseModel
{
// 创建朋友圈头像
public static function createAvatar($posts_id)
{
$PostsFile = PostsFile::where(['posts_id' => $posts_id])->field('file_id')->select();
if (count($PostsFile) > 1) {
$imgFileIdArr = array_column($PostsFile, 'file_id');
$imgFileArr = [];
foreach ($imgFileIdArr as $file_id) {
$src = File::where('file_id', '=', $file_id)->value('src');
if ($src) {
$imgFileArr[] = $src;
}
}
if (count($imgFileArr) > 1) {
self::createPostsAvatar($posts_id,$imgFileArr);
}
}
}
// 生成朋友圈头像
public static function createPostsAvatar($posts_id, $imageFileArr)
{
$dirPath=app()->getRootPath().'public/temp';
$fileName = $posts_id . time();
$path=$dirPath.'/'.$fileName.'.jpg';
$avatar = getGroupAvatar($imageFileArr,1, $path);
$url='';
if($avatar){
$upload=new Upload();
$newPath=$upload->uploadLocalAvatar($path,[],$posts_id);
if($newPath){
self::where('id',$posts_id)->update(['avatar'=>$newPath]);
$url=avatarUrl($newPath);
}
}
return $url;
}
}
Loading…
Cancel
Save