一:安装QrCode

comspoer require 2amigos/qrcode-library

二:QrCode配置

当我们安装完QrCode之后,在Yii的配置文件中进行如下配置:

'components' => [
        'qrcode' => [
            'class' => '\Da\QrCode\Component\QrCodeComponent',
        ]
    ],

三:使用QrCode

1:生成二维码

$qrcode = Yii::$app->get('qrcode');  //这里获取的qrcode项为你配置文件中配置的QrCode的参数
Yii::$app->response->format = Response::FORMAT_RAW;
Yii::$app->response->headers->add('Content-Type', $qrcode ->getContentType());
return $qrcode
    ->setText('https://2amigos.us') //设置扫码二维码之后的显示信息,如果为链接的话,扫描二维码跳转至指定的链接
    ->setLabel('2amigos consulting group llc')  //设置二维码标签
    ->writeString(); //输出二维码

根据如上代码就可以直接在浏览器上显示二维码

如果你想要将上面的二维码渲染到指定页面上的话,只需要在指定页面上使用如下代码即可:

<img src="<?= \yii\helpers\Url::to(['qrcode']) ?>" alt=""> #\yii\helpers\Url::to(['qrcode'])表示你二维码生成的方法地址

2:将二维码生成并保存起来

$qrcode = Yii::$app->get('qrcode');  //这里获取的qrcode项为你配置文件中配置的QrCode的参数
Yii::$app->response->format = Response::FORMAT_RAW;
Yii::$app->response->headers->add('Content-Type', $qrcode ->getContentType());
$fileName = Yii::getAlias('@webroot/qrcode/') . time() . '.png';//保存的二维码位置
return $qrcode
    ->setText('https://2amigos.us') //设置扫码二维码之后的显示信息,如果为链接的话,扫描二维码跳转至指定的链接
    ->setLabel('2amigos consulting group llc')  //设置二维码标签
    ->writeFile($fileName);//将生成的二维码保存起来

执行上面的代码就可以在指定目录下生成一个我们需要的二维码

使用qrcode的一些常用参数:

setErrorCorrectionLevel #设置容错等级(容错等级,分为L、M、Q、H四级) 例:setErrorCorrectionLevel(ErrorCorrectionLevelInterface::HIGH)
useLogo #在二维码上加上logo,useLogo方法内参数为logo的地址
setLogoWidth #设置logo的宽度
setSize #设置二维码大小

huaweichenai
679 声望114 粉丝