收藏
回答

公众号中调用requestWxFacePictureVerify失败,是为什么呢?

bindingCard({healthCode, openId}).then(res => {
  if (res.code === 200) {
    const {name, idCard} = res.data
    getWxConfigParams({type: 'healthCard'}).then(res => {
      if (res.code === 200) {
        let configContent = res.data

        wx.config({
          beta: true, // 必填,开启内测接口调用,注入 wx.invoke 和 wx.on 方法
          debug: true, // 选填,开启调试模式,默认为 false 不开启
          appId: configContent.appId, // 必填,公众号的唯一标识
          timestamp: configContent.timestamp, // 必填,生成签名的时间戳
          nonceStr: configContent.nonceStr, // 必填,生成签名的随机
          signature: configContent.signature,// 必填,签名,详见微信 JS-SDK 说明文档
          jsApiList: ['requestWxFacePictureVerify']
        });
        wx.ready(function () {
          wx.invoke('requestWxFacePictureVerify', {
            'request_verify_pre_info': "{\"name\": \"" + name + "\", \"id_card_number\": \"" + idCard + "\"}",
            'check_alive_type': 2,
            'appid': configContent.appId
          }, function (res) {
            console.log('结果1', JSON.stringify(res))
            if (res.err_code == 0) {
              var verify_identifier = res.verify_result;
              // 开发者选择是否使用后台文档获取本次认证的其他信息
            } else {
              var ret = res.err_msg;
              ret += " err_code: " + res.err_code;
              alert(ret);
            }
          });
        })

        wx.error(function (res) {
          Toast.fail('微信js-sdk 配置失败:' + JSON.stringify(res))
          console.log('结果1', JSON.stringify(res))
        })
      }
    })
  }
})

回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    发表于移动端
    07-11
    因为签名失败
    07-11
    有用
    回复 3
    • 沐子
      沐子
      07-11
      我用微信的验签工具生成了一下签名,跟自己生成的对比了一下是一样的呢
      07-11
      回复
    • Mr.Zhao
      Mr.Zhao
      发表于移动端
      07-11回复沐子
      一样只是说明算法一样,不代表可用
      07-11
      回复
    • 沐子
      沐子
      07-12回复Mr.Zhao
      终于解决了,还真是签名问题,这个i签名中的url要当前页面的全部地址,有参数也要把参数带上,之前没有带参数,所以一直失败
      07-12
      回复
登录 后发表内容