<?php /** * Created by PhpStorm. * User: Administrator * Date: 2019/6/20 * Time: 16:34 */ namespace App\Http\Controllers; use App\Repositories\PosterRepository; use App\Traits\UserTrait; use Illuminate\Support\Facades\Redis; use Illuminate\Support\Facades\Validator; use Illuminate\Http\Request; use Intervention\Image\ImageManagerStatic; class PosterController extends Controller { use UserTrait; public function __construct() { } /** * 分享内容海报 */ public function post(Request $request) { $validator = Validator::make($request->all(), [ 'id' => 'required|integer', ]); if ($validator->fails()) { return jsonError($validator->errors()->first()); } $userInfo = $this->getUserInfo(); if(!$userInfo){ return jsonError('获取用户信息失败'); } $key = 'share_post_id_'.$request['id'].'_uid'.$userInfo['uid']; $url = Redis::get($key); if($url) return jsonSuccess($url); // 合成基本图 $main = public_path('/image/post/main.png'); $imageRepository = new PosterRepository($main); return $imageRepository->post($main,$userInfo,$request['id'],$key); } /** * 邀请海报 */ public function invite() { $userInfo = $this->getUserInfo(); if(!$userInfo){ return jsonError('获取用户信息失败'); } $bean = config('customer.share_invite_bean'); $key = 'share_invite_uid'.$userInfo['uid'].'bean_'.$bean; $url = Redis::get($key); if($url) return jsonSuccess($url); // 合成基本图 $main = public_path('/image/invite/main.png'); $imageRepository = new PosterRepository($main); return $imageRepository->invite($main,$userInfo,$key,$bean); } }