微信小程序自动识别短信验证码(微信小程序开发之在线生成二维码)

服务端

  • 使用 axios 发送 HTTP 请求
  • 返回 base64 编码的字符串

import axios from 'axios' const WECHAT_HOST = 'https://api.weixin.qq.com' async function getwxacodeunlimit(accessToken: string, page: string, scene = '', width = 430): Promise<string> { const { data }: { data: Buffer } = await axios.post( `${WECHAT_HOST}/wxa/getwxacodeunlimit?access_token=${accessToken}`, { page, scene, width, }, { responseType: 'arraybuffer', } ) if (data.length < 100) { const { errcode, errmsg } = JSON.parse(data.toString()) throw new WechatRequestError(JSON.stringify({ errcode, errmsg })) } else { return data.toString('base64') } }

因为微信接口 /wxa/getwxacodeunlimit 成功时返回的是 Buffer ,失败时返回 JSON 结构。所以这里我把返回数据统一当成 Buffer 来处理,当 data 的长度小于 100 时,就判断为获取失败。

小程序端

javascript 的代码:

// 请求服务端接口获取回来数据,{qrcodeBase64} this.setData({ qrcodeBase64 })

wxml 的代码:

<image src="data:image/jpeg;base64,{{qrcodeBase64}}"/>

二维码就这样完美呈现啦。

结语

来回请求生成 qrcode 会耗费巨大时间,你们可以根据业务需求,把 qrcodeBase64 存起来或者转换成图片再存起来。

微信小程序自动识别短信验证码(微信小程序开发之在线生成二维码)(1)

作者:walking_链接:https://juejin.im/post/5e9e5647f265da47e7528076来源:掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页