记录使用uniapp开发H5微信公众号,有些业务需要用到一些API,比如扫码,h5和微信小程序,app在使用过程中有有些不同,h5使用需要单独引入微信的jsdk,才能使用否则会报错无法使用
在这里插入图片描述
引入微信jsdk

npm安装
npm install jweixin-module --save
- 下载使用方式
下载地址:https://unpkg.com/jweixin-module@1.6.0/lib/index.js
引入
import wx from 'weixin-js-sdk';

使用

wx.config({
	debug: false, // 开启调试模式,
	appId: res.appId, // 必填,企业号的唯一标识
	timestamp: res.timestamp, // 必填,生成签名的时间戳
	nonceStr: res.nonceStr, // 必填,生成签名的随机串
	signature: res.signature, // 必填,签名
	jsApiList: ['scanQRCode','scanCode', 'checkJsApi', 'chooseImage'], // 必填,需使用的JS接口列表
});
wx.ready(() => {
	wx.scanQRCode({
		needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
		scanType: ['qrCode', 'barCode'], // 可以指定扫二维码还是一维码,默认二者都有
		success: function (res) { 
		var result = res.resultStr; // 当 needResult 为 1 时,扫码返回的结果
		var resultArr = result.split(','); // 扫描结果以逗号分割数组(一维码)
		var codeContent = resultArr[resultArr.length - 1]; // 获取数组最后一个元素,也就是最终的内容 
		_this.form.imei = codeContent
		alert('扫码成功!')
		},
	});
});

注意事项:在使用的时候必须要先调用wx.config这个微信的API,否则无法使用,然后再jsApiList参数中写入你需要用到的api
然后还有一个需要注意的地方,在扫码完成后获取返回值进行赋值的时候,无法直接赋值,因为this指向原因,需要提前定义一下
var _this = this

更多推荐