微信小程序一直以来都就是一个倍受高度关注的研发平台,因为为微信用户提供更多了更为方便快捷的服务。对于想研发微信小程序的人来说,介绍微信小程序的调用API和研发技巧,尤其就是二维码读取与分解成,就是必不可少的。
本篇文章将可以了解微信小程序二维码读取与分解成的调用API和研发技巧,协助读者快速介绍二维码有关研发的技术要点。
一、什么就是微信小程序二维码
微信小程序二维码就是用户步入小程序的一种方式。二维码通常用以存储网址信息,用户采用微信读取二维码后可以自动关上小程序。
微信小程序二维码通常涵盖小程序的appid和path等信息,通过这些信息,微信可以快速地找出对应小程序并重定向至适当的页面。
二、微信小程序二维码分解成
分解成微信小程序二维码就是非常简单的,只须要一些基本的API就可以了。我们可以采用微信提供更多的官方API分解成一个二维码图片。分解成的二维码图片可以用作展现、互动和列印等。
1、调用API分解成微信小程序二维码
微信小程序提供更多了一个官方API,可以使我们同时实现二维码的分解成。我们可以采用 wx.createQRCode 方法去建立二维码。通过USB所回到的 buffer 可以轻易图形成图片表明。
具体内容代码同时实现如下:
wx.request({
url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET',
success (res) {
// access_token 以获取,这里预设已赢得
wx.request({
url: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' + res.data.access_token,
method: 'POST',
responseType: 'arraybuffer',
data: {
scene: 'a=1&b=2', // 自定义参数,可以传达任一参数
page: 'pages/index/index', // 关上的页面
width: 430, // 分解成的图片宽度,预设为 430
auto_color: false, // 与否自动调整颜色,预设为 false
},
success (res) {
var buffer = wx.base64ToArrayBuffer(wx.arrayBufferToBase64(res.data));
// 分解成二维码图片,并展现
wx.showToast({
title: '二维码分解成顺利!',
icon: 'none',
duration: 2500,
success: function() { wx.previewImage({ urls: [res.tempFilePath] }); }
})
}
})
}
})
2、微信小程序二维码展现
分解成的微信小程序二维码图片,我们可以用 wx.previewImage 方法展开展现。具体内容代码如下:
wx.previewImage({
current: url, // 当前表明图片的http链接
urls: [url] // 须要预览的图片链接列表
})
三、微信小程序二维码读取
微信小程序提供更多了一个能读取二维码的API,可以在小程序中出访摄像头并辨识二维码的信息。以下就是二维码读取的方法:
1、调用API读取二维码
微信提供更多的API可以使我们在小程序中调用扫码功能。以下就是具体内容代码:
wx.scanCode({
success (res) {
console.log(res)
}
})
2、权限提出申请
因为读取二维码须要出访手机的摄像头,所以我们须要在代码中提出申请许可。提出申请许可的方法十分直观,只须要在 app.json 中登记注册一项“camera”权限即可。
{
"pages": [ "pages/index/index" ],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "微信小程序二维码读取与分解成",
"navigationBarTextStyle": "black"
},
"tabBar": {},
"permission": {
"scope.userLocation": {
"desc": "时间轴展现地点"
},
"scope.camera": {
"desc": "读取二维码功能所须要权限"
}
}
}
四、微信小程序二维码调用技巧
1、优化微信小程序二维码的分解成
微信小程序提供更多的二维码API可以分解成任一尺寸的二维码,为了增大分解成的二维码图片的大小,提高用户访问速度,我们可以将分解成的二维码内存至本地。导入小程序的 cache API,即可同时实现内存代码。
wx.downloadFile({
url: url,
success: (...args) => {
console.log('download:', args)
wx.getFileSystemManager().writeFileSync(tempFilePath, args[1].tempFilePath, 'binary') // 内存二维码
wx.previewImage({
current: tempFilePath,
urls: [tempFilePath]
})
},
fail: (err) => console.error(err)
})
2、微信小程序二维码的展现延后
通过调用 wx.previewImage 方法,我们可以将分解成的二维码展现给用户。但是,在网络不好的情况下,由于 networkType 为 4G 以及移动网络的延后问题,可能会发生网络交通堵塞的情况,影响二维码图片展现的速度。为了提高用户的访问速度,我们可以将图片展现延后至用户出访小程序的一定边线。
这里得出了一个直观的延后展现的方法:
wx.showLoading({
title: '正在展现...'
});
wx.navigateTo({
url: './qr_code/qr_code?' + 'url=' + encodeURIComponent(url)
})
setTimeout(function () {
wx.hideLoading()
}, 2500)
总结
微信小程序二维码分解成和读取就是微信小程序开发的关键技术,本文了解了微信小程序分解成和读取二维码的API,以及继续执行读取二维码的方法。除此之外,本文还提供更多了一些微信小程序二维码调用的技巧,协助读者介绍微信小程序有关研发的技术要点。