|
3 weeks ago | |
---|---|---|
.. | ||
README.md | 3 weeks ago |
Обычный QR-код простой в использовании обертки для популярных рамок Laravel на основе превосходный работы, предоставленной Bacon/BaconQrCode. Мы создали интерфейс, который привычный и простой в установке для пользователей Laravel.
Мы ищем пользователей, говорящих на китайском, корейском или японском языках, которые могут помочь перевести этот документ. Пожалуйста, создайте пул реквест, если вы способны сделать перевод!
Во-первых, добавьте пакет простого QR-код к require
в файле composer.json
:
"require": {
"simplesoftwareio/simple-qrcode": "~2"
}
Затем запустите команду composer update
.
Зарегистрируйте SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class
в config/app.php
в пределах массива providers
.
В конце, зарегистрируйте 'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class
в config/app.php
файл конфигурации в пределах массива aliases
.
Иметь QR-код во всех предварительных просмотрах является одним из основных элементов, для которых мы используем этот пакет. Это позволяет нашим клиентам, вернуться на исходную страницу после того, как она будет напечатана с помощью сканирования кода. Мы добились этого, добавив footer.blade.php в наш файл.
<div class="visible-print text-center">
{!! QrCode::size(100)->generate(Request::url()); !!}
<p>Сканируйте меня, чтобы вернуться на исходную страницу.</p>
</div>
Вы можете вставить QR-код в электронную почту, чтобы позволить пользователям быстро его сканировать. Ниже приведен пример того, как сделать это с помощью Laravel.
// Внутри шаблона Blade.
<img src="{!!$message->embedData(QrCode::format('png')->generate('Введете меня в сообщение по электронный почте!'), 'QrCode.png', 'image/png')!!}">
Использовать генератор для QR-код очень легко. Самый основной синтаксис:
QrCode::generate('Сделайте меня QR-кодом!');
Это создаст QR-код говоря "Сделайте меня QR-кодом!"
Generate
используется, чтобы создать QR-код.
QrCode::generate('Сделайте меня QR-кодом!');
Внимание! Этот метод должен быть вызван в конце если используются в последовательности.
Generate
по умолчанию возвращает строку изображение в формате SVG. Вы можете напечатать это прямо в современный браузер внутри системы Blade в Laravel как указано далее:
{!! QrCode::generate('Сделайте меня QR-кодом!'); !!}
Метод generate
имеет второй параметр, который будет принимать имя файла и путь для сохранения QR-код.
QrCode::generate('Сделайте меня QR-кодом!', '../public/qrcodes/qrcode.svg');
Генератор QR-код установлен для возврата изображения в формате SVG по умолчанию.
Будьте осторожны! Метод
format
должен вызываться перед всеми остальными параметрами форматирования, такими как:size
,color
,backgroundColor
, иmargin
.
Три формата на данный момент поддерживаются; PNG, EPS, и SVG. Для изменения формата используйте следующий код:
QrCode::format('png'); // Возвращает изображение в формате PNG QrCode::format('eps'); // Возвращает изображение в формате EPS QrCode::format('svg'); // Возвращает изображение в формате SVG
Генератор QR-код по умолчанию будет возвращать наименьший размер в пикселях возможных для создания QR-код.
Вы можете изменить размер QR-код с помощью метода size
. Просто укажите размер желаемого в пикселях, используя следующий синтаксис:
QrCode::size(100);
Будьте осторожны при изменении цвета в QR-код. Некоторым читателям очень сложно читать QR-код в цвете.
Все QR-коды должны быть выражены в красном, зеленом или синем цвете. Вы можете изменить цвет QR-код с помощью следующих действий:
QrCode::color(255,0,255);
Изменения цвета фона также поддерживаются и должны быть выражены таким же образом.
QrCode::backgroundColor(255,255,0);
Возможность изменения поля вокруг QR-кода также поддерживается. Просто укажите желаемый запас, используя следующий синтаксис:
QrCode::margin(100);
Изменять уровень коррекции ошибок легко. Просто используйте следующий синтаксис:
QrCode::errorCorrection('H');
Указанное далее поддерживается в вариантах для метода errorCorrection
.
Исправление ошибок | Гарантия |
---|---|
L | 7% кодовых слов могут быть восстановлены. |
M | 15% кодовых слов могут быть восстановлены. |
Q | 25% кодовых слов могут быть восстановлены. |
H | 30% кодовых слов могут быть восстановлены. |
Чем больше коррекций ошибок используется; тем больше становится QR-код и тем меньше данных он может хранить. Подробнее читайте об исправлении ошибок.
Измените кодировку,которая используется для создания QR-кода. По умолчанию ISO-8859-1
выбран в качестве кодера. Подробнее читайте о кодирование символов. Вы можете изменить это на любое из следующих действий:
QrCode::encoding('UTF-8')->generate('‘Сделайте меня QR-кодом со специальными символами ♠♥!!');
Набор Символов |
---|
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
означает, что неправильный тип кодировки был использован. Мы рекомендуемUTF-8
если вы не уверены.
Метод merge
объединяет изображение над QR-кодом. Это обычно используется для логотипов, размещенных в пределах QR-кода.
QrCode::merge($filename, $percentage, $absolute);
// Создает QR-код с изображением в центре.
QrCode::format('png')->merge('path-to-image.png')->generate();
// Создает QR-код с изображением в центре. Вставленное изображение занимает 30% QR-кода.
QrCode::format('png')->merge('path-to-image.png', .3)->generate();
// Создает QR-код с изображением в центре. Вставленное изображение занимает 30% QR-кода.
QrCode::format('png')->merge('http://www.google.com/someimage.png', .3, true)->generate();
Метод
merge
поддерживает только формат PNG в это время. Путь к файлу является относительно базового приложения пути, если$absolute
установлен кfalse
. Измените эту переменнуюtrue
чтоб использовать абсолютные пути.Вы должны использовать высокий уровень коррекции ошибок при использовании метода
merge
чтобы гарантировать, что QR-код остается читаемым. Мы рекомендуем использоватьerrorCorrection('H')
.
Метод mergeString
может быть использован для достижения такой же, как вызов merge
за исключением того, что позволяет обеспечить строковое представление файла вместо пути к файлу. Это полезно при работе с фасадом Storage
. Этот интерфейс очень похож на вызов merge
.
QrCode::mergeString(Storage::get('path/to/image.png'), $percentage);
// Создает QR-код с изображением в центре.
QrCode::format('png')->mergeString(Storage::get('path/to/image.png'))->generate();
// Создает QR-код с изображением в центре. Вставленное изображение занимает 30% QR-кода.
QrCode::format('png')->mergeString(Storage::get('path/to/image.png'), .3)->generate();
Как и в случае нормального вызова
merge
только PNG поддерживается в это время. То же самое относится к коррекции ошибок, рекомендуется использовать высокие уровни.
Все методы поддержки формирование последовательности. Метод generate
должен быть вызван последним и любое изменение формата должно быть вызвано в первую очередь. Например, вы можете запустить любое из следующих действий:
QrCode::size(250)->color(150,90,10)->backgroundColor(10,14,244)->generate('Сделайте меня QR-кодом!');
QrCode::format('png')->size(399)->color(40,40,40)->generate('Сделайте меня QR-кодом!');
Вы можете отобразить изображение в формате PNG без сохранения файла, предоставляя необработанную строку и кодирование с base64_encode
.
<img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(100)->generate('Сделайте меня QR-кодом!')) !!} ">
Хелперы позволяют простой способ для создания QR-код, которые заставляют читателя выполнить определенное действие при сканировании.
Этот хелпер генерирует QR-код для электронный почты, который в состоянии заполнить адрес электронной почты, тему и текст.
QrCode::email($to, $subject, $body);
// Заполняет адресата
QrCode::email('foo@bar.com');
// Заполняет адресата, тему и текст сообщения электронной почты.
QrCode::email('foo@bar.com', 'Это тема.', 'Это текст.');
// Заполняет только тему и текст сообщения электронной почты.
QrCode::email(null, 'Это тема.', 'Это текст.');
Этот хелпер генерирует широту и долготу, так что телефон может читать и открыть местоположение в Google Maps или подобного приложения.
QrCode::geo($latitude, $longitude);
QrCode::geo(37.822214, -122.481769);
Этот хелпер генерирует QR-код, который можно сканировать, а затем набирает номер.
QrCode::phoneNumber($phoneNumber);
QrCode::phoneNumber('555-555-5555');
QrCode::phoneNumber('1-800-Laravel');
Этот хелпер создаёт СМС сообщения, которые могут быть уже заполнены с адресом и текстом сообщения.
QrCode::SMS($phoneNumber, $message);
// Создает СМС где номер телефона уже заполнен.
QrCode::SMS('555-555-5555');
// Создает СМС где номер и текст уже заполнены.
QrCode::SMS('555-555-5555', 'текст сообщения.');
Эти хелперы создают сканируемые QR-коды, которые могут подключить телефон к сети Wi-Fi.
QrCode::wiFi([
'encryption' => 'WPA/WEP',
'ssid' => 'идентификатор сети (SSID)',
'password' => 'пароль сети',
'hidden' => 'Если SSID сети явлается скрытым.'
]);
// Подключается к открытой сети WiFi.
QrCode::wiFi([
'ssid' => 'Имя сети',
]);
// Подключается к открытой, скрытой сети WiFi.
QrCode::wiFi([
'ssid' => 'Имя сети',
'hidden' => 'true'
]);
// Подключается к защищенной сети.
QrCode::wiFi([
'ssid' => 'Имя сети',
'encryption' => 'WPA',
'password' => ' Мой пароль'
]);
Сканирование WiFi в настоящее время не поддерживается на продукты Apple.
Вы можете использовать префикс, найденный в таблице ниже, в секции generate
чтобы создать QR-код для хранения более расширенной информации:
QrCode::generate('http://www.simplesoftware.io');
Применение | Префикс | Пример |
---|---|---|
Сылка на сайт | http:// | http://www.simplesoftware.io |
Обеспеченные URL | https:// | https://www.simplesoftware.io |
Адрес электронной почты | mailto: | mailto:support@simplesoftware.io |
Номер телефона | tel: | tel:555-555-5555 |
Текстовые сообщения (СМС) | sms: | sms:555-555-5555 |
Текстовые сообщения (СМС) с введенным сообщением | sms: | sms:: Я введенное сообщение |
Текстовые сообщения (СМС) с введенным сообщением и номером телефона | sms: | sms:555-555-5555: Я введенное сообщение |
Geo | 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) |
Вы можете использовать этот пакет за пределами Laravel от инстанцировании нового класса BaconQrCodeGenerator
.
use SimpleSoftwareIO\QrCode\BaconQrCodeGenerator;
$qrcode = new BaconQrCodeGenerator;
$qrcode->size(500)->generate('Создайте QR-код без Laravel!');