小程式初始化載入,根據登入狀態判斷跳轉首頁還是登入頁

JoeYoung發表於2019-04-02

準備是在小程式初始化進行一下登入狀態判斷,每次登陸以後會在storage裡存一個user,根據這個值判斷,沒登陸過小程式啟動進登入頁面,登陸過直接跳轉首頁:

App({
    onLaunch: function() {
        //初始化載入,先判斷使用者登入狀態
        if (wx.getStorageSync('user')) {
            wx.switchTab({
                url: 'pages/home/home'
            })
        } else {
            wx.reLaunch({
                url: 'pages/login/login'
            })
        }
  
    },
    globalData: {
  
    }
})

在aap.js裡面初始化的時候進行判斷,真機情況下沒有登入狀態時,還是會先載入首頁面(一閃而過),之後跳轉到login登入頁面,登入成功後,返回首頁。

小程式登入獲取使用者資訊:

login.wxml

<button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授權登入</button>  

<view wx:else>請升級微信版本</view> 
login.js
Page({
  data: {
    //判斷小程式的API,回撥,引數,元件等是否在當前版本可用。
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },
  onLoad: function() {
    // 檢視是否授權
    wx.getSetting({
      success: function(res){
        if (res.authSetting['scope.userInfo']) {
          wx.getUserInfo({
            success: function(res) {
              console.log(res.userInfo)
              //使用者已經授權過
            }
          })
        }
      }
    })
  },
  bindGetUserInfo: function(e) {
    console.log(e.detail.userInfo)
    if (e.detail.userInfo){
      //使用者按了允許授權按鈕
    } else {
      //使用者按了拒絕按鈕
    }
  }
})

wx.canIUse(string schema)

判斷小程式的API,回撥,引數,元件等是否在當前版本可用。

 

相關文章