wx.invoke,ocr api里面的function不执行?
注册api,使用 checkJsApi 进行校验,JS_API_LIST 里所有的api都通过,没有报错,二次认证agentConfig的function也不执行
loadWXConfig() {
let that = this;
// 通过config接口注入权限验证配置
window.wx.config({
beta: true, // 调用wx.invoke形式的接口值时,该值必须为true。
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: that.APP_ID, // 必填,企业微信的cropID
timestamp: that.TIME_STAMP, // 必填,生成签名的时间戳
nonceStr: that.NONCE_STR, // 必填,生成签名的随机串
signature: "", // 必填,签名,见附录1
jsApiList: that.JS_API_LIST // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
window.wx.ready(() => {
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
console.log("【JS-SDK 验证成功】");
// 二次认证
window.wx.invoke(
"agentConfig", {
agentid: that.AGENT_ID,
corpid: that.APP_ID,
signature: "",
nonceStr: that.NONCE_STR,
timestamp: that.TIME_STAMP
},
function (res) {
console.log("【应用权限注入】", res);
// wx.invoke("ext_Socket_Init",{},function(res){
// console.log('socket', res)
// })
// that.handleInit()
}
);
});
window.wx.error(res => {
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
if (res.err_code !== 0) {
console.error("【权限验证失败】", res);
}
});
},
OCRUpload() {
let that = this;
window.wx.invoke(
"ocr", {
sourceType: ["camera", "album"], //可以指定图片来源是相册还 是相机,默认二者都有
ocrType: "IDCardOCR", //ocr识别类型
title: "orc识别"
},
function (res) {
var ocrResult = res.ocrResult;
var result = JSON.parse(ocrResult);
that.model.visitorName = result.Response.Name;
that.model.visitorCardNo = result.Response.IdNum;
}
);
},
用户点击页面按钮事件触发OCRUpload方法不执行,也没有报错,但是开启APP的vconsole,将OCRUpload里的js代码放到控制台执行,可以唤起手机的相机