qrcode模块基于endroid/qr-code,用于生成二维码,使用简单。

qrcode模块基于 endroid/qr-code,用于生成二维码,使用简单。
控制器直接输出图片
$data = ev('qrcodeString', 'https://www.yiadmin.net');return response($data, 200, ['Content-Type' => 'image/png']);
输出base64格式
//模板中使用<img src="data:image/png;base64,{:ev('QrcodeBase64', 'https://www.yiadmin.net')}" /> <img src="{:ev('QrcodeImage', 'https://www.yiadmin.net')}" />
第三个参数支持callable类型, 可以在二维码中间添加logo,底部增加文字。
$img = ev('QrcodeImage', 'https://www.yiadmin.net', function($writer, $qrcode, $classes) {$labelClass = $classes['labelClass'];$fontClass = $classes['fontClass'];$fontPath = public_path() . DS . 'modules' . DS . 'test' . DS . 'fonts' . DS . 'noto_sans.otf';$label = (new $labelClass('扫码访问YiAdmin', new $fontClass($fontPath, 16)))->setTextColor(new $classes['colorClass'](255, 255, 0));$logo = (new $classes['logoClass'](public_path() . DS . 'static' . DS . 'images' . DS . 'excel.png', null, null, true))->setResizeToWidth(50);return $writer->write($qrcode, $logo, $label);});
