1、简介
Simple Qrcode 是 Bacon/BaconQrCode 针对 Laravel 框架的封装版本,用于在 Laravel 中为生成二维码提供接口。
2、安装&配置
在项目根目录下使用如下命令安装依赖包:
config/app.php
SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class
config/app.phpQrCode
'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class
3、快速上手
在视图中打印
<div class="visible-print text-center">
{!! QrCode::size(100)->generate(Request::url()); !!}
<p>Scan me to return to the original page.</p>
</div>
嵌入到邮件内容
<img src="{!!$message->embedData(QrCode::format('png')->generate('Embed me into an e-mail!'), 'QrCode.png', 'image/png')!!}">
4、基本用法
基本使用
Qrcode 生成器用法很简单,最基本的语法如下:
QrCode::generate('Hello,LaravelAcademy!');
这将会生成一个二维码,用手机扫描该二维码将会跳转到一个显示“Hello,LaravelAcademy!”的页面。
如果想要显示中文,需要使用如下方式指定编码:
QrCode::encoding('UTF-8')->generate('你好,Laravel学院!');
generate()
{!! QrCode::generate('Hello,LaravelAcademy!'); !!}
generate()
修改保存格式
format()
format()sizecolorbackgroundColormargin
修改二维码图片尺寸
size()
这样会生成一个宽高均为100像素的二维码图片:
修改颜色(前景色/背景色)
color()
生成的二维码图片如下:
backgroundColor()
生成的二维码图片如下:
修改边距
margin()
生成的二维码图片如下:
支持编码
encoding()ISO-8859-1
字符编码 |
---|
ISO-8859-1 |
ISO-8859-2 |
ISO-8859-3 |
ISO-8859-4 |
ISO-8859-5 |
ISO-8859-6 |
ISO-8859-7 |
ISO-8859-8 |
ISO-8859-9 |
ISO-8859-10 |
ISO-8859-11 |
ISO-8859-12 |
ISO-8859-13 |
ISO-8859-14 |
ISO-8859-15 |
ISO-8859-16 |
SHIFT-JIS |
WINDOWS-1250 |
WINDOWS-1251 |
WINDOWS-1252 |
WINDOWS-1256 |
UTF-16BE |
UTF-8 |
ASCII |
GBK |
EUC-KR |
如果在生成二维码过程中报错:
Could not encode content to ISO-8859-1
这就意味着你需要修改编码了。
合并水印图片到二维码
merge()
merge()
merge()
5、辅助函数
我们平时用到的二维码不仅仅是显示文字,而是拥有很多额外功能,比如跳转链接、支付、下载、关注等等,这些功能可以通过 QrCode 提供的辅助函数来实现。
邮件
email()
QrCode::email('yaojinbu@163.com','测试邮件','通过二维码发送图片');
生成的二维码包含 mailto 信息。
Geo
geo()
QrCode::geo(37.822214, -122.481769);
电话/手机号码
phoneNumber()
QrCode::phoneNumber('18888888888');
短信(SMS)
SMS()
QrCode::encoding('UTF-8')->SMS('18888888888','Laravel学院致力于提供优质Laravel中文学习资源');
更多用法
generate()
使用 | 前缀 | 示例 |
---|---|---|
Website URL | http:// | http://www.simplesoftware.io |
Secured URL | https:// | https://www.simplesoftware.io |
E-mail Address | mailto: | mailto:support@simplesoftware.io |
Phone Number | tel: | tel:555-555-5555 |
Text (SMS) | sms: | sms:555-555-5555 |
Text (SMS) With Pretyped Message | sms: | sms::I am a pretyped message |
Text (SMS) With Pretyped Message and Number | sms: | sms:555-555-5555:I am a pretyped message |
Geo Address | geo: | geo:-78.400364,-85.916993 |
MeCard | mecard: | MECARD:Simple, Software;Some Address, Somewhere, 20430;TEL:555-555-5555;EMAIL:support@simplesoftware.io; |
VCard | BEGIN:VCARD | |
Wifi | wifi: | wifi:WEP/WPA;SSID;PSK;Hidden(True/False) |
比如,要生成链接二维码,可以通过如下方式(我们还修改尺寸以方便扫描):
QrCode::size(200)->generate('https://xueyuanjun.com');
扫描生成的二维码图片,页面会跳转到 https://xueyuanjun.com。
6、在 Laravel 之外使用
你还可以在 Laravel 之外使用 Simple QrCode: