国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

大齡業(yè)余程序員要搞個django小程序--09--小程序登陸狀態(tài)維護之個人中心如何做數(shù)據(jù)加載

gitmilk / 1599人閱讀

摘要:個人中心如何加載數(shù)據(jù)截圖中,顯性的數(shù)據(jù)有登陸我的積分瀏覽歷史我的收藏年會會員成為會員時則顯示會員到期時間以上幾個數(shù)據(jù)都是顯性的,即登陸后就要立刻顯示的。那么這個頁面數(shù)據(jù)的加載應這樣設計。

在此之前,先明確:
1、小程序初次載入時檢查sessionKey和緩存中是否有userInfo,兩個都滿足時,將全局變量isLoginGlobal: bool 標記未true

2、小程序的登陸狀態(tài)依靠全局變量isLoginGlobal: bool 來確認登陸與否

3、其他頁面加載時,要優(yōu)先將isLoginGlobal寫入載入data,為true時,再加載緩存中的uesrInfo

4、能加載到userInfo時(確保萬無一失,加載某個頁面時,再嘗試讀取一下userInfo的緩存),能加載進來則確認登陸狀態(tài),反之則不登陸。

附上代碼:

app.js

App({  onLaunch() {    // 檢查用戶的登陸狀態(tài)    this.checkLoginStatus()  },  checkLoginStatus() {    // 當sessionKey和userInfo同時存在時才能設置為登陸狀態(tài)    let u = wx.getStorageSync("userInfo")    let s = checkSessionLogin()    s.then((res) => {      if (u) {        console.log("設置為登陸狀態(tài)");        this.globalData.isLoginGlobal = true;      } else {        console.log("需要重新登陸");        this.globalData.isLoginGlobal = false;      }    }).catch(err => {      console.log("需要重新登陸");      this.globalData.isLoginGlobal = false;    })  },  globalData: {    // 全局設置,用來設置小程序的登陸狀態(tài),依賴sessionKey和userInfo    isLoginGlobal: false,  }})
/** 1、使用wx.checkSession檢查微信服務端的sessionKey是否過期 -> 過期則使用wx.login發(fā)請求,反之則保持小*    程序的登陸狀態(tài)* 2、使用wx.login發(fā)起請求*/export const checkSessionLogin = () => {  return new Promise((resolve, reject) => {    wx.checkSession({      success: (res) => {        resolve(res)      },      fail: (err) => {        reject(err)      },      complete: (res) => {},    })  })}

這樣判斷來判斷去,還使用全局變量來維護登陸狀態(tài)會不會很麻煩,其實我也不清楚,不過感覺這樣很穩(wěn)妥,容錯率高。

個人中心如何加載數(shù)據(jù)

截圖中,顯性的數(shù)據(jù)有

  • 登陸
  • 我的積分、瀏覽歷史、我的收藏
  • 年會會員(成為會員時則顯示會員到期時間)

以上幾個數(shù)據(jù)都是顯性的,即登陸后就要立刻顯示的。那么這個頁面數(shù)據(jù)的加載應這樣設計。

一、登陸狀態(tài)的判斷

  • 獲取全局變量isLoginGlobal,為true時,繼續(xù)讀取本地緩存userInfo
  • 能讀取到userInfo時,將isLogin = true設置到本頁面data中,正式標記已登陸
  • 反之,isLoginGlobalfalse或獲取不到userInfo的緩存,設置isLogin = false,標記為未登陸

二、未登陸時,不會展示任何數(shù)據(jù),點擊登陸

  • 存儲token到緩存中
  • 存儲userInfo到緩存中
  • 標記isLoginGlobal = true 、標記本頁data: isLogin = true
  • 將顯性數(shù)據(jù)寫到data

三、如已登陸

在步驟一中,如果標記為登陸,那么應及時向開發(fā)者服務器發(fā)起請求,接收顯性的數(shù)據(jù)并予以展示,通俗地說,都登陸了,最起碼顯性的數(shù)據(jù)得給人家看吧??

總結

  • 依靠全局數(shù)據(jù)進行狀態(tài)的標記,有利于各個頁面的對全局數(shù)據(jù)的使用,也方便維護
  • 不管哪個頁面,加載時都需要獲取全局中的狀態(tài),已確認當前是應該登陸還是未登陸
  • 用戶數(shù)據(jù)userInfo是個關鍵點,因為登陸了你至少得讓用戶看到個人信息吧,所以這也是維持登陸狀態(tài)的點之一。

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/121406.html

相關文章

  • 大齡業(yè)余程序搞個django程序--08--深入理解程序登陸狀態(tài)維護

    摘要:由于微信小程序沒有一套身份驗證管理的框架,只提供等幾個,所以對于我這種初學者來說,小程序登陸狀態(tài)管理就顯得很麻煩。按照個人的理解,需要攜帶。總之,和只要其中之一不存在,都要把登陸狀態(tài)標記為未登陸。不然用戶不清楚不確定是否登陸成功。 ...

    zsy888 評論0 收藏0
  • 30 歲的安卓程序還有出路嗎,應該怎么規(guī)劃?

    摘要:在舒伯的生涯階段里有個確立階段,歲歲。知識技術安卓程序員需要掌握編程語言應用框架開發(fā)工具等這些具體的知識和技術。技術能力與閱歷對安卓程序員來講,知識技術是一方面,是容易習得的,是較淺的層面。 大齡程序員的界定 老早網(wǎng)上有人說,安卓開發(fā)干不過30歲,后來又有人說干不過35歲,后來又有人說干不過...

    不知名網(wǎng)友 評論0 收藏0
  • Django搭建個人博客:結束和開始

    摘要:教程看到這里,你已經(jīng)學會如下內容搭建開發(fā)環(huán)境博文管理用戶管理發(fā)表評論若干小功能搭建簡單的小博客,以上的功能夠用了。教程為了起步平緩,沒有展開這方面的內容。陌生人,祝你學業(yè)進步事業(yè)有成歡迎常到杜賽的個人網(wǎng)站做客 教程看到這里,你已經(jīng)學會如下內容: 搭建開發(fā)環(huán)境 博文管理 用戶管理 發(fā)表評論 若干小功能 搭建簡單的小博客,以上的功能夠用了。 相信你的志向不止于此。畢竟程序員面試個個造火...

    zqhxuyuan 評論0 收藏0
  • 首次公開,整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時間永遠都過得那么快,一晃從年注冊,到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設置私密了,不收拾不好看呀。 ...

    Harriet666 評論0 收藏0
  • 從國企到互聯(lián)網(wǎng),一個初入職場將近一年半工作經(jīng)驗程序的「得」與「失」

    摘要:寫在前面年月日,我只身一人來到北京,開始人生中的第一份工作,在一家國企從事軟件開發(fā)工作。因為現(xiàn)在晚飯都是在公司吃,如果不是刷朋友圈,我是不知道北京哪天的夕陽又刷屏了的,因此錯過了很多美麗的瞬間,也算一點遺憾吧。 ...

    不知名網(wǎng)友 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<