El subprograma WeChat llama asincrónicamente a la función de la aplicación para resolver el problema de que la carga de otras páginas no puede obtener el openid establecido en la aplicación al iniciar

Primero personalice el contenido de una función en app.js para escribir los datos que necesita pasar, lo que necesito aquí es la referencia de openid del usuario

lc: function (wei) {

    var that = this;

    wx.login({
      success: function (res) {
        console.log(res.code)
        //发送请求

        wx.request({
          url: 'http://127.0.0.1:9090/xcxmvc/pp/dl', //接口地址
          data: { code: res.code },
          header: {
            'content-type': 'application/json' //默认值
          },
          success: function (res) {
            c = "ff";
            console.log(res.data)
            that.globalData.openid = res.data.openid;
            wei(res);
            return wei;
          }
        })
      }

    })
    console.log("c");
   

    // this.ajax();//调用ajax函数
  },

Luego llame a esta función al iniciar app.js

var wei = this.lc(function (wei) {
      console.log(wei);
    
    });

Finalmente, escriba la carga de la página que necesita obtener los datos

onLoad:function(){
 var that = this;
    var wei = app.lc(function (wei) {
      console.log(wei.data.openid);
      that.setData({openid:wei.data.openid});
    
   
    wx.connectSocket({
      url: "ws://127.0.0.1:9090/xcxmvc/so",
    })

    //连接成功
    wx.onSocketOpen(function () {
      console.log("c" + that.data.openid);
      wx.sendSocketMessage({
        data: that.data.openid,
      })
    })
    wx.onSocketMessage(function (res) {
      var objData = JSON.parse(res.data);
      console.log(res);
      that.setData({ nr: objData });
    })


    //连接失败
    wx.onSocketError(function () {
      console.log('websocket连接失败!');
    })

    });
  },

Necesito escribir la solicitud envar wei = app.lc(function (wei) { 写在这里})

Supongo que te gusta

Origin blog.csdn.net/weixin_40938312/article/details/104730824
Recomendado
Clasificación