Laravel 10 使用 simplesoftwareio/simple-qrcode 生成二维码

作者: 温新

分类: 【Laravel 扩展包】

阅读: 1010

时间: 2023-09-30 15:43:11

hi,我是温新

Simple QrCode 是基于Bacon/BaconQrCode 开发,适用于Laravel框架的软件包. 我们的目的是让二维码能更加便捷的使用在Laravel框架的项目里.

本篇文章将学习它的基础的使用。

第一步:安装 simplesoftwareio/simple-qrcod 包

composer require simplesoftwareio/simple-qrcode

安装完包后,就可以开始生成QR码了。

关于它更多的用法,可以参考文档:https://www.simplesoftware.io/#/docs/simple-qrcode/zh-cn

第二步:编写生成二维码代码

1、创建控制器

php artisan make:controller LaravelPackage/QrCodeGeneratorController

2、编写代码

<?php

namespace App\Http\Controllers\LaravelPackage;

use App\Http\Controllers\Controller;
use SimpleSoftwareIO\QrCode\Facades\QrCode;

class QrCodeGeneratorController extends Controller
{
    public function createQrCode()
    {
        $qrCodes                  = [];
        // 基础二维码
        $qrCodes['simple']        = QrCode::size(120)->generate('https://www.ziruchu.com/');
        // 设置二维码颜色
        $qrCodes['changeColor']   = QrCode::size(120)->color(255, 0, 0)->generate('https://www.ziruchu.com/');
        // 设置二维码背景色
        $qrCodes['changeBgColor'] = QrCode::size(120)->backgroundColor(255, 0, 0)->generate('https://www.ziruchu.com/');
        // 设置二维码类型
        $qrCodes['styleDot']    = QrCode::size(120)->style('dot')->generate('https://www.ziruchu.com/');
        $qrCodes['styleSquare'] = QrCode::size(120)->style('square')->generate('https://www.ziruchu.com/');
        $qrCodes['styleRound']  = QrCode::size(120)->style('round')->generate('https://www.ziruchu.com/');

        return view('laravel-packages.qr-code-generator', $qrCodes);
    }
}

3、编写视图代码

// resources\views\laravel-packages\qr-code-generator.blade.php

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Qr Code</title>
    <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.1/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container text-center">
    <div class="row">
        <div class="col">
            <p class="mb-0">Simple</p>
            {!! $simple !!}
        </div>
        <div class="col">
            <p class="mb-0">Color Change</p>
            {!! $changeColor !!}
        </div>
        <div class="col">
            <p class="mb-0">Background Color Change </p>
            {!! $changeBgColor !!}
        </div>
    </div>
    <div class="row mt-5">
        <div class="col">
            <p class="mb-0">Style Square</p>
            {!! $styleSquare !!}
        </div>
        <div class="col">
            <p class="mb-0">Style Dot</p>
            {!! $styleDot !!}
        </div>
        <div class="col">
            <p class="mb-0">Style Round</p>
            {!! $styleRound !!}
        </div>
    </div>
</div>

</body>
</html>

第三步:定义路由

// routes/web.php
Route::get('qr-code', [\App\Http\Controllers\LaravelPackage\QrCodeGeneratorController::class, 'createQrCode']);

最后,在浏览器中访问该地址查看下结果吧。

请登录后再评论