代码片段:
isIOS() {
return /iPhone|iPad|iPod/.test(navigator.userAgent)
},
isAndroid() {
return /Android/.test(navigator.userAgent)
},
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: res.data[0].appId, // 必填,公众号的唯一标识
timestamp: res.data[0].timestamp, // 必填,生成签名的时间戳
nonceStr: res.data[0].nonceStr, // 必填,生成签名的随机串
signature: res.data[0].signature, // 必填,签名
jsApiList: ["chooseImage", "scanQRCode"], // 必填,需要使用的JS接口列表
});
const that = this;
wx.ready(function () {
if (that.isIOS()) {
wx.scanQRCode({
needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
success: function (res) {
var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
console.log(result);
}
});
} else if (that.isAndroid()) {
// 对于 Android 设备,调用 wx.chooseImage 获取相册和相机权限
wx.chooseImage({
count: 1, // 默认9
sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ["album", "camera"], // 是相机
success: function (res) {
const localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
wx.getLocalImgData({
// 获取本地图片
localId: localIds[0],
success: function (res) {
const localData = res.localData;
let checkImage = "";
if (localData.indexOf("base64") >= 0) {
// 我传给后台的参数是不需要data:image/png;base64,所以去掉了。大家可以根据具体的业务需求对该格式做变化。
checkImage = localData.split(",")[1];
} else {
checkImage = localData;
}
that.sfzInfodata(checkImage);
},
});
},
});
}
});
wx.error(function (res) { });
wx.chooseImage({
count: 1, // 默认9
sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ["album", "camera"], // 是相机
success: function (res) {
const localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
wx.getLocalImgData({
// 获取本地图片
localId: localIds[0],
success: function (res) {
const localData = res.localData;
let checkImage = "";
if (localData.indexOf("base64") >= 0) {
// 我传给后台的参数是不需要data:image/png;base64,所以去掉了。大家可以根据具体的业务需求对该格式做变化。
checkImage = localData.split(",")[1];
} else {
checkImage = localData;
}
that.sfzInfodata(checkImage);
},
});
},
});
在IOS情况我也是调用
wx.chooseImage({
count: 1, // 默认9
sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ["album", "camera"], // 是相机
success: function (res) {
const localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
wx.getLocalImgData({
// 获取本地图片
localId: localIds[0],
success: function (res) {
const localData = res.localData;
let checkImage = "";
if (localData.indexOf("base64") >= 0) {
// 我传给后台的参数是不需要data:image/png;base64,所以去掉了。大家可以根据具体的业务需求对该格式做变化。
checkImage = localData.split(",")[1];
} else {
checkImage = localData;
}
that.sfzInfodata(checkImage);
},
});
},
});