• pksys.getQRCode(callbackOnSuccess,callbackOnFailure),获取到扫描的二维码。
    • 该方法是不会立即返回结果,而是通过回调函数方法返回结果。参数:
    • callbackOnSuccess,扫描成功的回调函数,callbackOnSuccess(resultString),参数中存放扫到的二维码字符串
    • callbackOnFailure,扫描失败的回调函数,callbackOnFailure(resultString),参数中存放扫描失败的原因。如用户取消,则resultString为cancelled
    • 示例:pksys.getQRCode(function(qrcode){pksys.msgbox(qrcode);});
    • 实现原理:使用cordova插件调用

    • getQRCode: function (callbackOnSuccess,callbackOnFailure) {//callbackOnSuccess(resultString),callbackOnFailure(tipString)
              if (cordova){
                  var params = {
                      text_title: '扫条码/二维码等',
                      text_instructions:'请把相机对准扫码',
                      drawSight: true
                  }
                  cloudSky.zBar.scan(params, onSuccess, onFailure);
                  function onSuccess(s) {
                      if(callbackOnSuccess){
                          callbackOnSuccess(s);
                      }else {
                          pksys.console("扫码结果:" + s);// Scanned code
                      }
                  }
                  function onFailure(e) {
                      if(callbackOnFailure){
                          callbackOnFailure(e);
                      }else {
                          pksys.error("扫码失败,error:" + e);// Scanned code 'cancelled':用户取消二维码
                      }
                  }
              }else{
                  if(callbackOnSuccess) {
                      callbackOnSuccess('仅支持app中支持该方法');
                  }
                  pksys.msgbox("pksys.getQRCode()方法仅仅支持app中的应用");
              }
          }
      }