微信js扫一扫,扫条形码去掉code_128。在vue中封装全局对象的方法,封装微信js-sdk权限验证的方法

微信公众号在调用扫一扫功能时,一维码(条形码)在直接返回结果时会在结果前带上EAN_8, EAN_13, CODE_25, CODE_39, CODE_128, UPC_A, UPC_E

 wx.scanQRCode({
  needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
  scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有
  success: function (res) {
    //let result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
    //处理微信公众号在调用扫一扫功能时,一维码(条形码)在直接返回结果时会在结果前带上EAN_8, EAN_13, CODE_25, CODE_39, CODE_128, UPC_A, UPC_E
    let result = res.resultStr.split(",");
    let barCode = result[result.length-1];
    alert(barCode)
  }
});
顺便说一下在vue中封装微信js-sdk权限验证的方法
  • axios.js 封装vue对象的方法
//封装的get请求
let axios_get = function (url, params) {
  let _params = typeof (params) == 'object' ? params : {}
  _params = {
    ..._params,
    S: localStorage.getItem('S'),
    U: localStorage.getItem('U')
  }
  return new Promise((resolve, reject) => {
    axios.get(url, {
      'params': _params
    }).then(res => {
      if (res.errno !== 0) {
        reject(res)
      }
      resolve(res)
    }).catch(err => {
      reject(err)
    })
  })
}

//微信权限验证
let wxReady = function(jsApiList,wxFnc){
  axios_get('/wechatConfig',{url: window.location.href}).then(res => {
    res = res.data;
    if (res && res.appId) {
      /*微信接口*/
      var obj = {
          debug: true, // 开启调试模式
          appId: res.appId, // 必填,公众号的唯一标识
          timestamp: res.timestamp, // 必填,生成签名的时间戳
          nonceStr: res.nonceStr, // 必填,生成签名的随机串
          signature: res.signature, // 必填,签名,见附录1
          jsApiList: jsApiList
      }
      /*权限验证配置*/
      wx.config(obj);
      wx.ready(wxFnc);
      wx.error(function (err) { 
        console.log(err)
      });
    }
  }).catch(err => {
    console.log(err)
  })
}
//赋值给vue的全局对象
Vue.prototype.$get = axios_get;
Vue.prototype.$wxReady = wxReady;

  • 在app.js中引用
import './axios.js'
  • 在组件中引用全局对象的方法
const jsApiList = ['scanQRCode'];
this.$wxReady(jsApiList,function(){
  wx.scanQRCode({
    ......
  });
})
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值