text: var app = new Vue({
    el: '#app',
    data: {
      scanner: null,
      activeCameraId: null,
      cameras: [],
      scans: []
    },
    mounted: function () {
      var self = this;
      self.scanner = new Instascan.Scanner({ video: document.getElementById('preview'), scanPeriod: 5 });
      self.scanner.addListener('scan', function (content, image) {
  
        var data = {content:content};
        
        $.ajax({
          url:"scanQR/dados",
          method: "POST",
          data: {data:data},
  
          success: function(result){
            alert('Alterado com sucesso!');
            console.log(result);
          },
          error: function(result){
            console.log(content);
            console.log(result);
          }
        });
  
        self.scans.unshift({ date: +(Date.now()), content: content });
      });
      Instascan.Camera.getCameras().then(function (cameras) {
        self.cameras = cameras;
        if (cameras.length > 0) {
          self.activeCameraId = cameras[0].id;
          self.scanner.start(cameras[0]);
        } else {
          console.error('Nenhuma camera foi encontrada.');
        }
      }).catch(function (e) {
        console.error(e);
      });
    },
    methods: {
      formatName: function (name) {
        return name || '(unknown)';
      },
      selectCamera: function (camera) {
        this.activeCameraId = camera.id;
        this.scanner.start(camera);
      }
    }
  });
  