1、下载:
composer require endroid/qr-code
php: >=7.2
2、新建Qrcodes.php二维码生成类
use Endroid\QrCode\ErrorCorrectionLevel;
use Endroid\QrCode\LabelAlignment;
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Response\QrCodeResponse;
use think\Controller;
/**
* 二维码生成类
* Class Qrcodes
* @package app\api\controller
*/
class Qrcodes extends Controller
{
protected $param;
public function __construct(Request $request = null)
{
parent::__construct($request);
$this->param = [
'setSize' => 300,//设置二维码尺寸
'setWriterByName' => 'png',
'setMargin' => 5,//设置二维码边界
'setEncoding' => 'UTF-8',//设置编码
'setErrorCorrectionLevel' => ErrorCorrectionLevel::HIGH(),//设置容错等级 等级越高识别度越高
'setLabelStatus' => false,//是否开启二维码标题
'setLabel' => '这是二维码标题',//设置二维码标题
'setLogoPathStatus' => false,//是否开启二维码中间logo
'setLogoPath' => 'logo.png',//设置二维码中间logo
'setLogoSizeW' => 100,//设置二维码中间logo宽度
'setLogoSizeH' => 100,//设置二维码中间logo高度
];
}
//生成二维码 --直接输出二维码
public function returnQrcodeImg($content = '这是二维码内容',$param = [])
{
// Create a basic QR code创建一个基本的二维码
$qrCode = new QrCode($content);
//设置二维码尺寸
$qrCode->setSize(isset($param['setSize']) ? $param['setSize'] : $this->param['setSize']);
// Set advanced options设置高级选项
$qrCode->setWriterByName(isset($param['setWriterByName'