PosterController.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019/6/20
  6. * Time: 16:34
  7. */
  8. namespace App\Http\Controllers;
  9. use App\Repositories\PosterRepository;
  10. use App\Traits\UserTrait;
  11. use Illuminate\Support\Facades\Redis;
  12. use Illuminate\Support\Facades\Validator;
  13. use Illuminate\Http\Request;
  14. use Intervention\Image\ImageManagerStatic;
  15. class PosterController extends Controller
  16. {
  17. use UserTrait;
  18. public function __construct()
  19. {
  20. }
  21. public function post(Request $request)
  22. {
  23. $validator = Validator::make($request->all(), [
  24. 'id' => 'required|integer',
  25. ]);
  26. if ($validator->fails()) {
  27. return jsonError($validator->errors()->first());
  28. }
  29. $userInfo = $this->getUserInfo();
  30. if(!$userInfo){
  31. return jsonError('获取用户信息失败');
  32. }
  33. $key = 'share_post_id_'.$request['id'].'_uid'.$userInfo['uid'];
  34. $url = Redis::get($key);
  35. if($url) return jsonSuccess($url);
  36. // 合成基本图
  37. $main = public_path('/image/post/main.png');
  38. $imageRepository = new PosterRepository($main);
  39. return $imageRepository->post($main,$userInfo,$request['id'],$key);
  40. }
  41. }