微信小程序雲開發之登錄功能

雲開發這一塊,登錄功能可以使用緩存。將用戶信息用緩存記錄。那麼你可能有疑問了,用戶清除了怎麼辦?那豈不是會造成數據紊亂?
別急,我們還是可以備份一下用戶信息的嘛~ 將用戶信息存入數據庫一份,展示信息用緩存,這樣用戶每次打開小程序時,就不必要從數據庫中獲取數據,從而減少數據庫請求次數。

我們通過button按鈕設置類型獲取用戶信息,將用戶信息設置爲全局變量。因爲小程序每次啓動的時候都是要先運行全局文件的。所以我們可以有以下步驟:

  1. 獲取用戶信息,設置緩存
  2. 編寫全局變量代碼
  3. 獲取全局變量,取用戶信息

index.wxml:

 <button open-type="getUserInfo" bindgetuserinfo="getUserInfo">登錄</button>

顯示用戶信息你可以自己寫以下,通過判斷userInfo值是否存在,從而取消登錄按鈕的展示,展示用戶信息。

index.js:

data: {
        userInfo:''
    },

onLoad: function (options) {

        const userInfo = app.globalData.userInfo
        this.setData({
            userInfo:userInfo
        })
    },

getUserInfo(e){
//雲函數將用戶信息存入數據庫,可參考我前面的文章
      wx.setStorageSync('userInfo', e.detail.userInfo)
        this.setData({
            userInfo:e.detail.userInfo
        })
 }

app.js:

onLaunch: function () {

    const userInfo = wx.getStorageSync('userInfo')
    if(userInfo){
      this.globalData.userInfo = userInfo
    }else{
      console.log('no userInfo')
    }
    if (!wx.cloud) {
      console.error('請使用 2.2.3 或以上的基礎庫以使用雲能力')
    } else {
      wx.cloud.init({
        // env 參數說明:
        //   env 參數決定接下來小程序發起的雲開發調用(wx.cloud.xxx)會默認請求到哪個雲環境的資源
        //   此處請填入環境 ID, 環境 ID 可打開雲控制檯查看
        //   如不填則使用默認環境(第一個創建的環境)
        // env: 'my-env-id',
        traceUser: true,
      })
    }
  },
  globalData:{
    userInfo:'',
    openId:''
  }

在這裏插入圖片描述
有問題可以隨時評論留言~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章