收藏
回答

微信小程序 wx.login({

回答关注问题邀请回答
收藏

2 个回答

  • Jianbo
    Jianbo
    2023-01-04

    可以是代码执行异步的问题。

    建议在页面onload里调用wx.login

    2023-01-04
    有用
    回复
  • Jk
    Jk
    2023-01-04

    // app.js

    const api = require('./api/api.js');

    import {TOKEN} from './config/appConfig';

    App({

       onLaunch() {

          // 展示本地存储能力

          const logs = wx.getStorageSync('logs') || []

          logs.unshift(Date.now())

          wx.setStorageSync('logs', logs)

          let wxCode = ''

          // 登录

          wx.login({

             success: res => {

                // 发送 res.code 到后台换取 openId, sessionKey, unionId

                wxCode = res.code

                api.login({

                   code: wxCode,

                   from:'mini'

                }).then(res => {

                   wx.setStorageSync(TOKEN, res.body.token);

                })

             }

          })

          this.getMenuInfo();

       },


      

        getMenuInfo: function() {

          let menuInfo = wx.getMenuButtonBoundingClientRect();  

          wx.getSystemInfo({

            success: res => {

              // 导航栏的高度 = 状态栏高度 + 菜单按钮高度 + 菜单按钮的上下间隔的高度

              this.globalData.barInfo.height = res.statusBarHeight + menuInfo.height + (menuInfo.top - res.statusBarHeight) * 2;

              this.globalData.barInfo.menuTop = menuInfo.top;

              this.globalData.barInfo.menuHeight = menuInfo.height;

            }

          })

        },

       globalData: {

          userInfo: null,

          barInfo: {

             height: null,

             menuHeight: null,

             menuTop: null

           }

       }

    })

    2023-01-04
    有用
    回复
登录 后发表内容