Генератар QR-кода


Сэрвіс «Генератар QR-кода» дае карыстальніку магчымасць атрымаць графічны QR-код, эквівалентны тэксту, спасылцы, email адрасу або іншым дадзеным у тэкставым фармаце. На сённяшні дзень максімальная даўжыня дадзеных для ўводу абмежавана 100 сімваламі.

 

Асноўныя тэрміны і паняцці

QR-код (англ. Quick Response Code – код хуткага рэагавання) – папулярны фармат двухмернага штрых-кода. Дадзеныя коды таксама вядомыя як «цвёрдыя спасылкі» або «гіперспасылкі фізічнага свету». Тэкст, зашыфраваны QR-кодам, можа быць любым – напрыклад, URL, кантактнай інфармацыяй, нават вершам. У прынцыпе, у QR-код можа быць канвертавана нават невялікая (аб’ёмам прыблізна да 3 Кб) графічная або аўдыяінфармацыя ў бінарным фармаце. QRкоды могуць быць прачытаныя аптычнай прыладай з адпаведным праграмным забеспячэннем. Такія прылады вар’іруюцца ад спецыяльных счытвальнікаў QR-кодаў да мабільных тэлефонаў. Патэнт на тэхналогію QR-кода JP2938338 (у ангельскім перакладзе) – https://patents.google.com/patent/JP2938338B2/en

Метад GETметад для запытання змесціва ўказанага рэсурса. Гэты метад з’яўляецца самым распаўсюджаным. GET-запыт уяўляе сабой перадачу дадзеных, якія маюць сінтаксіс http://дамен/старонка?[параметр1=значэнне1]&[параметр2=значэнне2]&…&[параметрX=значэнне X]. Увод дадзеных пачынаецца з сімвала ?, пары дадзеных «параметр=значэнне» раздзяляюцца сімвалам амперсанда (&).

 

Практычная каштоўнасць

Практычная каштоўнасць сэрвіса вызначаецца перш за ўсё ступенню распаўсюджанасці, зручнасцю выкарыстання і сферамі прымянення QR-кодаў. Са сфер і спосабаў прымянення можна назваць наступныя: адсочванне прадукцыі, ідэнтыфікацыя прадметаў, адсочванне часу, кіраванне дакументамі, агульны маркетынг.

Кажучы больш канкрэтна, сэрвіс будзе карысны для вырабнікоў розных тавараў, якія жадаюць забяспечыць вырабы або іх пакункі дадатковымі звесткамі, якія могуць быць счытаныя з мабільнай прылады, правайдэраў паслуг, якія жадаюць размясціць дадатковую інфармацыю (тыпы паслуг, кантактныя дадзеныя) на сваёй рэкламнай прадукцыі (афішах, банерах, улётках, бігбордах і г.д.), арганізатараў разнастайных мерапрыемстваў, у тым ліку мерапрыемстваў па зборы сродкаў з дапамогай SMS-паведамленняў. QR-коды, атрыманыя з дапамогай нашага сэрвіса, могуць быць выкарыстаныя таксама ў сферы адукацыі для забеспячэння вучэбнага матэрыялу дадатковай інфармацыяй, якую лёгка счытаць, або дадзенымі, неабходнымі навучальным дадаткам, якія працуюць з дапоўненай рэальнасцю.

 

Асаблівасці сэрвіса

1) Сэрвіс не вырабляе QR-коды самастойна, а фарміруе правільны GET-запыт да QR Codes API, размешчанага на Google Charts, і прадстаўляе вынікі яго працы, што абумоўлівае дзве акалічнасці:
– афлайн-праца з сэрвісам немагчымая;
– канчатковы фармат графічнага файла супадае з фарматам, у які
API упакоўвае вынік (гэта фармат PNG).
Хуткасць і якасць працы алгарытмаў указанага
API былі неаднаразова пратэставаныя намі і прызнаныя задавальняючымі.

2) З прычыны асаблівасцей праграмнай рэалізацыі на дадзены момант максімальная дапушчальная даўжыня тэксту, які ўводзіцца, складае 100 сімвалаў.

3) Разрознасць канчатковага файла QR-кода складае 150x150 пікселяў.

 

Алгарытм працы сэрвіса

Уваходныя дадзеныя алгарытму:

  • Карыстальніцкі тэкставы ўвод, UText;
  • Памер канчатковага графічнага файла па восі X і Y, Size;
  • Узровень карэкцыі памылкі (у выпадку страты, няправільнай інтэрпрэтацыі або незразумеласці дадзеных), ErrLevel;
  • Шырыня белай мяжы вакол графічных дадзеных, Marg.

Пачатак алгарытму.

Крок 1. Атрыманне тэкставых дадзеных UText ад карыстальніка.

Крок 2. Ідэнтыфікацыя значэнняў параметраў Size (150), ErrLevel (“L”), Marg (0). Фарміраванне мноства <Size(X), Size(Y), ErrLevel, Marg, Utext>.

Крок 3. Фарміраванне GET-запыту да QR Codes API на падставе значэнняў элементаў мноства <Size(X), Size(Y), ErrLevel, Marg, Utext>.

Крок 4. Адпраўка GET-запыту да QR Codes API.

Крок 5. Атрыманне вынікаў у графічным фармаце і іх вывад карыстальніку.

Канец алгарытму.

 

Апісанне інтэрфейсу карыстальніка

Графічны інтэрфейс сэрвіса прадстаўлены на малюнку 1.

Малюнак 1 – Карыстальніцкі інтэрфейс сэрвіса «Генератар QR-кода»

Карыстальнік мае магчымасць увесці тэкставыя дадзеныя для наступнага ператварэння ў QR-код у спецыяльнае тэкставае поле. Дадзенае поле забяспечанае кнопкамі «Абнавіць» (вяртанне да дадзеных па змаўчанні) і «Ачысціць» (выдаленне дадзеных з поля).

Каб атрымаць QR-код, карыстальнік павінен націснуць кнопку «Згенераваць!», размешчаную пад тэкставым полем уводу.

Магчымы вынік работы сэрвіса прадстаўлены на малюнку 2.

Малюнак 2 – Вынік работы сэрвіса

Карыстальнік можа захаваць графічны файл з QR-кодам, выкарыстоўваючы стандартныя функцыі браўзера. Аднак для зручнасці пасля генерацыі QR-кода ў інтэрфейсе таксама з’яўляецца спасылка «Спампаваць».

 

Карыстальніцкі сцэнар працы з сэрвісам

1. Увесці тэкставыя дадзеныя ў поле ўводу
2. Націснуць кнопку «Згенераваць!»
3. Захаваць вынік работы (графічны файл)

 

Доступ да сэрвіса праз API

Для доступу да сэрвіса «Генератар QR-кода» праз API неабходна адправіць AJAXзапыт тыпу POST на адрас https://corpus.by/QRCodeGenerator/api.php.

Элементы ўваходнага масіву data маюць наступныя параметры:

localization – мова інтэрфейсу сэрвіса. Калі параметр не зададзены, па змаўчанні будзе выкарыстана ангельская мова (“en”).

url – тэкставыя дадзеныя для пераўтварэння ў QR-код. Калі не зададзены, па змаўчанні будзе выкарыстаны пусты радок.

Прыклад AJAX-запыту:

$.ajax({

type: “POST”,

url: “https://corpus.by/QRCodeGenerator/api.php”,

data:{

“localization”: “en”

“url”: “https://corpus.by”

}

Success: function(msg){}

});

Сервер верне JSON-масіў з уваходнымі тэкставымі дадзенымі (параметр url), сфарміраваным GET-запытам да QR Codes API (параметр resultUrl), адноснай спасылкай на месцазнаходжанне графічнага файла QR-кода на серверы (параметр resultFilepath) і іменем файла (параметр resultFilename). Напрыклад, па прыведзеным вышэй AJAXзапыце можа быць сфарміраваны наступны адказ:

[

{

“url”: “https://corpus.by”,

“resultUrl”: “http://chart.apis.google.com/chart?chs=150×150&cht=qr&chld=L|0&chl=https%3A%2F%2Fcorpus.by”,

“resultFilepath”: “../_cache/QRCodeGenerator/out/2020-03-06_15-31-18_80-94-171-2_874_out.png”,

“resultFilename”: “2020-03-06_15-31-18_80-94-171-2_874_out.png”

}

]

Старонка сэрвісаhttps://corpus.by/QRCodeGenerator/?lang=be

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.