寫了一個(gè)二維碼組件,解決了自己多年的痛點(diǎn)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
PS:此文章只談自己對(duì)開發(fā)過程中的思考,不談?dòng)?jì)算問題。 不知道你們有沒有遇到過這種情況:在開發(fā)網(wǎng)站時(shí)有時(shí)候需要向用戶展示二維碼,但是市面上的二維碼插件一般都是JS調(diào)用,需要自己對(duì)他初始化。有時(shí)候在業(yè)務(wù)場(chǎng)景中,用戶可能關(guān)閉彈出層或者超時(shí)需要重新渲染二維碼,還有時(shí)候一個(gè)網(wǎng)頁需要同時(shí)展示多個(gè)二維碼。這就讓這種調(diào)用方式十分笨拙。因?yàn)槎S碼算法可能只是提供二維數(shù)組信息或者只是初始化成簡(jiǎn)單的黑白兩色。這樣的方式不方便又不美觀。 于是我就在想,能不能像引用圖片一樣簡(jiǎn)單呢?只需要改變圖片地址,用戶看到的效果就是一張全新的二維碼圖片!改屬性就是改二維碼內(nèi)容,開發(fā)人員布局這個(gè)元素和正常圖片無異,CSS可以直接控制它的寬高。 我想,現(xiàn)在的前端開發(fā)早就走向組件化了,那么這個(gè)二維碼一定需要以Web組件的形式使用。而現(xiàn)在各種前端框架橫行,React、Vue等等,我想既然做了,不能只針對(duì)一個(gè)框架寫。同時(shí)這個(gè)組件本身不復(fù)雜,一個(gè)文件引用足矣。于是,我選定了Web Components這款,讓瀏覽器原生支持它,就開始了開發(fā) 二維碼二維數(shù)組的生成,我是直接復(fù)制qrcode.js的代碼。因?yàn)橛X得這本身成熟了,沒必要從頭再來,我關(guān)注的是自己需要解決的應(yīng)用痛點(diǎn)。即“易用”和“美觀”。 組件的使用很簡(jiǎn)單,對(duì)
二維碼的組成為了介紹二維碼組件的使用,需要額外提到二維碼的組成。它包括了 關(guān)于二維碼美化要對(duì)二維碼進(jìn)行美化,就需要可以對(duì) 同時(shí)為了保證多樣化,需要對(duì)二維碼外形進(jìn)行變化。同時(shí)如果過于開放又沒法保證它"易用性"的定位,我不想讓自己做的這個(gè)組件因?yàn)樗y用而沒人愛用。于是,我把對(duì)外形的控制設(shè)定為 為了保證內(nèi)容的豐富,提高二維碼的識(shí)別度,很多人會(huì)在二維碼上部添加品牌logo。這樣能在二維碼上添加圖片和文字就是必不可少的了!同時(shí),文字還有自己的顏色可以配合二維碼的配色。
二維碼美化效果你根據(jù)需要調(diào)整其他屬性,如糾錯(cuò)等級(jí)、添加背景圖片、前景圖片、logo、懸浮文本等,以滿足個(gè)性化的需求。 【倉(cāng)庫(kù)地址】https://github.com/mumuy/widget-qrcode/ 【演示地址】https://passer-by.com/widget-qrcode/? 轉(zhuǎn)自https://juejin.cn/post/7455999467525210139 該文章在 2025/3/20 10:29:59 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |