二維碼在網(wǎng)絡(luò)和生活中的應(yīng)用比比皆是拖叙∈郏可我們也能發(fā)現(xiàn)剃盾,在商場坏逢、超市、菜市場等形形色色的場合妙黍,為了同時(shí)支持微信悴侵、支付寶,必須擺出2個(gè)二維碼拭嫁,這給商家可免、掃碼者都帶來了極大的不便。能不能將2個(gè)二維碼合二為一做粤,使得微信用戶浇借、支付寶用戶,都掃同一個(gè)二維碼呢怕品?答案是肯定的妇垢。
合并原理:
二維碼,就是用一個(gè)大方塊中不同的小方格是否被使用(黑白)來表達(dá)各種信息肉康。微信的收款碼也罷闯估,支付寶的收款碼也罷,是將我們的微信號(hào)或支付寶號(hào)吼和、收款數(shù)額等信息涨薪,先加密后以BASE64編碼,發(fā)送到微信或支付寶的后臺(tái)服務(wù)器進(jìn)行處理炫乓。合并收款碼刚夺,就是利用一個(gè)“中間服務(wù)器”,相當(dāng)于一個(gè)“代理人”厢岂,將多個(gè)收款碼集中在一起光督,并根據(jù)掃碼者是微信還是支付寶阳距,自動(dòng)向各自的后臺(tái)分別提供其所需的正確的收款信息塔粒。
開發(fā)思路:
知道了合并的原理,制作一個(gè)微信支付寶收款二維碼合并程序筐摘,就比較簡單了卒茬。其核心是用到二個(gè)二維碼開發(fā)庫船老,一個(gè)是Zxing,一個(gè)是Zint圃酵。根據(jù)開發(fā)語言柳畔,自己可選擇下載。
(1)我們需要選擇一個(gè)“中間服務(wù)器”郭赐,比如大名鼎鼎的heyfox.herokuapp.com.
(2)緊接著薪韩,準(zhǔn)備好微信和支付寶的收款二維碼,利用二維碼識(shí)別開發(fā)接口捌锭,將他們的文字信息判讀出來俘陷。假設(shè)分別得到了:
wxp://f2f0p9EKLQuvVi7ni3bKb0_-fE0HFR3X7xjO
HTTPS://QR.ALIPAY.COM/FKX08744TYN8GRQ1BZSSAC
核心代碼:利用Zxing二維碼開發(fā)庫
void __fastcall TForm1::bWxClick(TObject *Sender)
{
//open an image
OpenDialog1->Filter=L"圖片文件(*.jpg,*.png,*.bmp,*.gif,*.tif)|*.jpg;*.png;*.bmp;*.gif;*.tif";
if(OpenDialog1->Execute(Handle))
{
usWx=fileToText(OpenDialog1->FileName);
AnsiString ns= usWx;
if(StrLComp(ns.c_str(),"wxp://",6)==0)
imgWx->Picture->LoadFromFile(OpenDialog1->FileName);
else
{
return;
}
}
}
(3)將上一步得到的文字信息,各取出一部分并進(jìn)行合并观谦,得到下面類似的文字:
https://heyfox.herokuapp.com/pay?ali=FKX08744TYN8GRQ1BZSSAC&wx=f2f0p9EKLQuvVi7ni3bKb0_-fE0HFR3X7xjO
(4)將第3步的文字內(nèi)容拉盾,轉(zhuǎn)為二維碼,大功即靠成矣豁状!
核心代碼:利用zint二維碼開發(fā)庫
void __fastcall TForm1::zCombineClick(TObject *Sender)
{
if(!imgWx->Picture->Graphic || !imgZfb->Picture->Graphic )
{
ShowMessage("請(qǐng)先打開微信捉偏、支付寶收款碼!");
return;
}
UTF8String source=L"https://heyfox.herokuapp.com/pay?ali=" +usZfb.SubString(23,usZfb.Length()-22)+L"&wx="+
usWx.SubString(7,usWx.Length()-6);
//生成二維碼
getQrCode(source);
}
如果想下載一個(gè)免費(fèi)的運(yùn)行于PC端的微信支付寶收款二維碼合并器泻红,可以從CSDN下載夭禽。這個(gè)工具使用起來也很簡單,只要先準(zhǔn)備好你的微信谊路、支付寶收款碼圖片驻粟,再選擇一個(gè)Logo,就OK了凶异。
它的操作界面蜀撑,類似于下圖:
知道了原理和方法,合并更多的收款二維碼剩彬,也就不在話下了酷麦。
好了,趕緊告訴周圍那些采用二維碼收款的朋友喉恋,用一個(gè)二維碼合并工具沃饶,將他們的收款二維碼合并吧。作為一個(gè)商家轻黑,如果別人都在面前擺放2個(gè)二維碼糊肤,而你只要擺放1個(gè),向你付款的微信用戶也好氓鄙,支付寶用戶也好馆揉,掃同一個(gè)二維碼,一定會(huì)顯示很潮吧抖拦!
如果有什么不明白之處升酣,就關(guān)注我的頭條號(hào)舷暮,與我直接聯(lián)系。第1次頭條發(fā)文噩茄,不妥之處下面,希予海涵。
18.3.17 智有不明绩聘, 首發(fā)于今日頭條