SimpleQrCode 扩展包生成二维码使用记录

静心,给脑子不好的自己记录......
努力, 给未来的自己......
感谢此文章 https://blog.csdn.net/u012767761/article/d...

安装SimpleQrCode扩展包的两种方法

方法一:在项目根目录下使用命令安装依赖包

composer require simplesoftwareio/simple-qrcode 1.3.*

方法二:在composer.json文件的require添加QrCode包

"require": {
     "simplesoftwareio/simple-qrcode": "1.3.*"
 }

运行SimpleQrCode扩展包

composer install

配置

添加Service Provider

// 在config/app.php 注册服务提供者:
SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class

添加Aliases

// 在 config/app.php 添加 QrCode 门面:
'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class

语法

QrCode::format('png')                //format自定义输出图片格式,必须第一个被设置,支持 PNG,EPS,SVG 三种格式
    ->size(200)                   //设置尺寸
    ->color(255,0,255)       //颜色设置的格式必须是RBG格式
    ->backgroundColor(125,245,0)    //设置背景色
    ->encoding('UTF-8')     //指定中文编码
    ->margin(100)               //边距设置
    ->errorCorrection("L")  //容错级别设置(L<M<Q<H容错级别越高,二维码里能存储的数据越少)
    ->merge($png,.3,true) //Logo或者头像放到二维码图片中($png是Logo或者头像的路径与图片名;.3:LOGO图片占整个二维码图片的30%;true:绝对路径的LOGO图片地址)。merge 方法当前只支持PNG格式的图片 默认使用相对于应用程序的根路径,把第三个参数设置为 true 就能切换到使用绝对路径
    ->generate($text,$filename);              //创建二维码($text数据,$filename保存的路径与图片名)

创建扫一下能连接WIFI的二维码


QrCode::wiFi([
    'encryption' => 'WPA/WEP',
    'ssid' => '网络的SSID',
    'password' => '网络的密码',
    'hidden' => '是否是一个隐藏SSID的网络'
]);
//连接一个开放的网络
QrCode::wiFi([
    'ssid' => '网络名称',
]);
//连接一个开放并隐藏的网络.
QrCode::wiFi([
    'ssid' => '网络名称',
    'hidden' => 'true'
]);
//连接一个加密的WIFI网络.
QrCode::wiFi([
    'ssid' => '网络名称',
    'encryption' => 'WPA',
    'password' => '密码'
]);

实例使用

laravel视图下使用

<div >
    {!! QrCode::size(200)->generate(Request::url()); !!}
    <p>扫描我返回到原始页。</p>
</div>

laravel控制器中下使用

use Illuminate\Support\Facades\Storage;
use QrCode;
use Ramsey\Uuid\Uuid;

public function qrCode(){
       //随机二维码图片名
       $fileName = Uuid::uuid4()->toString() . '.png';
       //二维码图片路径
       $filename=storage_path('app/public/qrcode').'/'.$fileName;
       //base64加密数据
       $text=base64_encode('数据');
       //创建二维码并保存二维码图片
        QrCode::format('png')
            ->size(200)
            ->encoding('UTF-8')
            ->generate($text,$filename);
        return Storage::disk('qrcode')->url($fileName);
  }

laravel之外使用

use SimpleSoftwareIO\QrCode\BaconQrCodeGenerator;

 //实例化 BaconQrCodeGenerator 类
$qrcode = new BaconQrCodeGenerator;
$qrcode->size(500)->generate('Welcome to LaravelAcademy!');

常见错误

1.若抛出 Could not encode content to ISO-8859-1 意味着使用了错误的编码。建议你使用 UTF-8

本作品采用《CC 协议》,转载必须注明作者和本文链接
The sun is always behind the storm~
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!