84 lines
2.5 KiB
PHP
84 lines
2.5 KiB
PHP
<?php
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\User;
|
|
use Auth;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\View;
|
|
use Image;
|
|
use QrCode;
|
|
|
|
class ShareController extends Controller
|
|
{
|
|
public function __construct(Request $request)
|
|
{
|
|
parent::__construct($request);
|
|
$this->middleware('auth');
|
|
view()->share('nav', 2);
|
|
}
|
|
|
|
public function user(User $user)
|
|
{
|
|
session(['parent_id' => $user->id]);
|
|
// return redirect()->route('vip.create');
|
|
}
|
|
|
|
public function index(User $user)
|
|
{
|
|
$user = Auth::user();
|
|
return view('share.index', compact('user'));
|
|
}
|
|
|
|
public function mine(Request $request)
|
|
{
|
|
$user = Auth::user();
|
|
$qrCode = Image::make(QrCode::size(3000)->format('png')->margin(0)->generate(route('index.index') . '?share_uid=' . $user->id))->resize(230, 230);
|
|
return $qrCode->response('jpg');
|
|
}
|
|
|
|
public function getnewCode()
|
|
{
|
|
$user = Auth::user();
|
|
$qrCode = QrCode::format('png')->size(126)->margin(0)->generate(route('index.index') . '?share_uid=' . $user->id);
|
|
// $headimg = Image::make($user->info->headimgurl);
|
|
$fileUrl = '/home/wwwroot/BabyClass/storage/app/public/headimgurl/' . $user->id . '.jpg';
|
|
if (!file_exists($fileUrl)) {
|
|
$headimgurl = file_get_contents($user->info->headimgurl);
|
|
file_put_contents($fileUrl, $headimgurl);
|
|
}
|
|
|
|
$headimg = self::getCircle(Image::make($fileUrl)->resize(65, 65));
|
|
|
|
$image = Image::make('img/new_code2.png'); //获取背景图片
|
|
|
|
return $image->insert($headimg, 'top-left', 205, 730)
|
|
->insert($qrCode, 'top-left', 51, 853)
|
|
->text('我是' . $user->info->nickname ?: '宝宝课', 288, 760, function ($font) {
|
|
$font->file('fonts/yahei.ttf')->color('#000000')->size(18);
|
|
})
|
|
->response('jpg');
|
|
}
|
|
|
|
//裁剪图片成圆形
|
|
public function getCircle($img)
|
|
{
|
|
$r = $img->width() / 2;
|
|
$new = Image::canvas(164, 164);
|
|
for ($x = 0; $x < $img->width(); $x++) {
|
|
for ($y = 0; $y < $img->height(); $y++) {
|
|
$c = $img->pickColor($x, $y, 'array');
|
|
if (((($x - $r) * ($x - $r) + ($y - $r) * ($y - $r)) < ($r * $r))) {
|
|
$new->pixel($c, $x, $y);
|
|
}
|
|
}
|
|
}
|
|
return $new;
|
|
}
|
|
|
|
public function newcode()
|
|
{
|
|
return view('share.newcode', compact('user'));
|
|
}
|
|
|
|
}
|