WebSocket código de exploración de sesión

Tras el éxito arrollador del código de usuario para iniciar sesión automáticamente páginas

proceso de análisis

  1. El usuario carga la página de inicio de sesión, JS Unicode generan de forma automática, y automáticamente enviados al servidor de WebSocket después de dos segundos, la voluntad websocketSession almacenados en Unicode,
  2. Micro-canales de código de exploración el usuario hace clic en el botón, como el Unicode sceneId, genera aleatoriamente código de dos dimensiones, y en el caso de que la página actual no se visualiza el salto para el usuario actual
  3. Después de que el código de exploración de usuario, número de servicio de micro-canales como fondo adquirió Unicode sceneId, servidor de notificaciones WebSocket, la sesión que ha pasado sus valores Unicode y la sesión de valor Unicode adaptado para enviar un mensaje, comando en particular, y registramos automáticamente enviado con openID pasado
  4. Página recibido un mensaje específico: comandos de inicio de sesión automático y openID, automáticamente ayuda al usuario saltar al registro
//html
    <p>使用微信 扫码登录/注册</p>
    <img v-bind:src="wechatUrl">
     
  import sockjs from '../assets/js/sockjs-1.1.2.min' //根据本地路径,引入sockjs
   export default {
    data () {
       return{
          wechatUrl:'',
          websocket: null,
          openId:''
       }
     }
    }
  beforeMount () {
      var that = this;
      var unicode;
      var websocket = null;
      var transports = [];
      var url = `${IPLOCATION}/sockjs`;
      websocket = new SockJS(url, undefined, {
        transports: transports
      });
      websocket.onopen = function () {
        console.log('that.websocket: connection is opened');
      };
      websocket.onclose = function () {
        console.log('that.websocket: connection is closed');
      };
      websocket.onheartbeat = function () {
        console.log('that.websocket: connection heartbeat...');
      };
      websocket.onmessage = function (e) {
        if (e.data.indexOf("AUTOMATIC_LOGIN") != -1) {
          websocket.onclose();
          that.toLogin(e);
        } else {
          console.log('websocket:', e.data);
        }
      };
      that.websocket = websocket
    },
mounted(){
      var that=this;
      that.unicode = Math.round(Math.random() * 100000000) + "1";
      $.get(IPLOCATION + `${接口}sceneId=${that.unicode}`, null, function (url) {
        that.wechatUrl = url
      });
      setTimeout(function () {that.websocket.send(that.unicode)}, 2000);
    }
//扫码登录
 toLogin(e) {
        var that=this;
        that.openId = e.data.split("####")[1];
        // var mixedValues = e.data.split('####');
      // var openId = mixedValues[1]; // 用户的openId
      var sceneId = 911; // 登录系统默认场景值
      // 关闭二维码
      // 通过ajax访问后台登录接口认证并登录
      ......
      }
Publicado 27 artículos originales · ganado elogios 21 · vistas 4596

Supongo que te gusta

Origin blog.csdn.net/weixin_43997143/article/details/90290778
Recomendado
Clasificación