求助:Auth::id () 可以 dd 出来,但是很奇怪,生成二维码就不见了。。。
public function show(UserPromoteTemplate $UserPromoteTemplate)
{
$qrcode = QrCode::size(300)
->margin(0)
->generate('foo'.\Auth::id());
return View('mobile.promote.template_detail', compact('UserPromoteTemplate', 'qrcode'));
}
public function getPromoteImg(UserPromoteTemplate $UserPromoteTemplate)
{
$file = 'https://www.foo.cn/foo.jpg';
$statusCode = substr(get_headers($file)[0], 9, 3);
if($statusCode == 200) {
return response()->json(['path'=>$file]);
} else {
SnappyImage::loadFile('https://www.foo.cn/'.$UserPromoteTemplate->id)
->setOption('width', 1200)
->save('foo.jpg');
return response()->json(['path'=>'foo.jpg']);
}
}
show方法是用来生成html版的页面,getPromoteImg方法用SnappyImage扩展把html保存成图片,然后返回给用户,有一个奇怪的地方,单独访问show方法,页面里生成的二维码是正常的,扫描以后也是我需要的路径,但是。。。用getPromoteImg生成的图片里,二维码扫描以后Auth::id(),就没了。。。。
比如访问show方法二维码扫描以后得到的地址是:
http://www.foo.com/?tid=123&uid=1
但是getPromoteImg方法二维码扫描以后得到的地址是:
http://www.foo.com/?tid=123&uid=
Auth::id(),就没了。。。。这是为什么。。。
关于 LearnKu
改成
SnappyImage::loadHtml了,两个方法也合并成了一个,问题暂时解决了,可是我依然不明白为什么Auth::id()会丢了。。。Snappy 抓取网页的时候是不会带有 cookie 的,所以拿到的
Auth::id()肯定是空改成这样也是可以的