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~
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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