微信小程序一直是一個(gè)備受關(guān)注的開發(fā)平臺(tái),因?yàn)樗鼮槲⑿庞脩籼峁┝烁憬莸姆?wù)。對(duì)于想要開發(fā)微信小程序的人來說,了解微信小程序的API調(diào)用和開發(fā)技巧,尤其是二維碼掃描和生成是必不可少的。
本文將介紹微信小程序中掃描生成二維碼的調(diào)用API和開發(fā)技巧,幫助讀者快速了解二維碼相關(guān)開發(fā)的技術(shù)點(diǎn)。
1.什么是微信小程序二維碼?
微信小程序二維碼是用戶進(jìn)入小程序的一種方式。二維碼通常用于存儲(chǔ)網(wǎng)站信息。用戶使用微信掃描二維碼后,小程序?qū)⒆詣?dòng)打開。
微信小程序二維碼一般包含小程序的appid、路徑等信息。通過這些信息,微信可以快速找到對(duì)應(yīng)的小程序并跳轉(zhuǎn)到對(duì)應(yīng)的頁面。
2.微信小程序二維碼生成
微信小程序生成二維碼非常簡(jiǎn)單,只需要一些基本的API。我們可以使用微信提供的官方API來生成二維碼圖片。生成的二維碼圖像可用于顯示、共享和打印。
1.調(diào)用API生成微信小程序二維碼
微信小程序提供了官方的API,可以讓我們生成二維碼。我們可以使用wx.createQRCode方法來創(chuàng)建二維碼。通過接口返回的緩沖區(qū)可以直接渲染成圖片進(jìn)行顯示。
具體代碼實(shí)現(xiàn)如下:
wx.請(qǐng)求({
url:'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credentialappid=APPIDsecret=APPSECRET',
成功(資源){
//獲取access_token,這里默認(rèn)獲取
wx.請(qǐng)求({
url:'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='+res.data.access_token,
method:'POST',
responseType:'arraybuffer',
數(shù)據(jù):{
scene:'a=1b=2',//自定義參數(shù),可以傳任意參數(shù)
page:'pages/index/index',//打開頁面
width:430,//生成圖像的寬度,默認(rèn)430
auto_color:false, //是否自動(dòng)調(diào)整顏色,默認(rèn)為false
},
成功(資源){
varbuffer=wx.base64ToArrayBuffer(wx.arrayBufferToBase64(res.data));
//生成二維碼圖片并顯示
wx.showToast({
title:'二維碼生成成功! ',
icon:'無',
持續(xù)時(shí)間:2500,
success:function(){wx.previewImage({urls:[res.tempFilePath]});}
})
}
})
}
})
2.微信小程序二維碼顯示
我們可以使用wx.previewImage方法來顯示生成的微信小程序二維碼圖像。具體代碼如下:
wx.previewImage({
current:url,//當(dāng)前顯示圖片的http鏈接
urls:[url]//需要預(yù)覽的圖片鏈接列表
})
3.微信小程序二維碼掃描
微信小程序提供了可以掃描二維碼的API。您可以在小程序中訪問攝像頭并識(shí)別二維碼信息。掃描二維碼的方法如下:
1.調(diào)用API掃描二維碼
微信提供的API可以讓我們調(diào)用小程序中的二維碼掃描功能。下面是具體代碼:
wx.scanCode({
成功(資源){
控制臺(tái).log(res)
}
})
2. 許可申請(qǐng)
因?yàn)閽呙瓒S碼需要訪問手機(jī)攝像頭,所以我們需要在二維碼中申請(qǐng)授權(quán)。申請(qǐng)授權(quán)的方法非常簡(jiǎn)單。你只需要在app.json中注冊(cè)一個(gè)“相機(jī)”權(quán)限即可。
{
'頁面':['頁面/索引/索引'],
'窗口':{
'backgroundTextStyle':'淺色',
'navigationBarBackgroundColor':'#fff',
'navigationBarTitleText':'微信小程序二維碼掃描生成',
'navigationBarTextStyle':'黑色'
},
'tabBar':{},
'許可':{
'范圍.userLocation':{
'desc':'時(shí)間線顯示位置'
},
'范圍.相機(jī)':{
'desc':'掃描二維碼功能需要權(quán)限'
}
}
}
4.微信小程序二維碼調(diào)用技巧
1.優(yōu)化微信小程序二維碼生成
微信小程序提供的二維碼API可以生成任意大小的二維碼。為了減小生成的二維碼圖像的大小,提高用戶訪問速度,我們可以將生成的二維碼緩存在本地。引入小程序的緩存API可以實(shí)現(xiàn)緩存代碼。
wx.downloadFile({
網(wǎng)址:網(wǎng)址,
成功:(.args)={
console.log('download:',args)
wx.getFileSystemManager().writeFileSync(tempFilePath,args[1].tempFilePath,'binary')//緩存二維碼
wx.previewImage({
當(dāng)前:temp文件路徑,
urls:[臨時(shí)文件路徑]
})
},
fail:(err)=控制臺(tái).error(err)
})
2、微信小程序二維碼顯示延遲
通過調(diào)用wx.previewImage方法,我們可以將生成的二維碼展示給用戶。但當(dāng)網(wǎng)絡(luò)不好時(shí),由于網(wǎng)絡(luò)類型為4G,加上移動(dòng)網(wǎng)絡(luò)的延遲問題,可能會(huì)出現(xiàn)網(wǎng)絡(luò)擁塞,影響二維碼圖像顯示的速度。為了提高用戶的訪問速度,我們可以在用戶訪問小程序時(shí)將圖片顯示延遲到某個(gè)位置。
下面是一個(gè)延遲顯示的簡(jiǎn)單方法:
wx.showLoading({
title:'顯示.'
});
wx.navigateTo({
url:'./qr_code/qr_code?'+'url='+encodeURIComponent(url)
})
設(shè)置超時(shí)(函數(shù)(){
wx.hideLoading()
},2500)
總結(jié)
微信小程序生成并掃描二維碼是微信小程序開發(fā)的一項(xiàng)重要技術(shù)。本文介紹了微信小程序生成和掃描二維碼的接口,以及掃描二維碼的方法。另外,本文還提供了一些調(diào)用微信小程序二維碼的技巧,幫助讀者了解微信小程序開發(fā)相關(guān)的技術(shù)點(diǎn)。
文章轉(zhuǎn)載請(qǐng)聯(lián)系作者并注明出處:http://www.tianwaitian.net/news/2391.html