成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

gitmilk / 1607人閱讀

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

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

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

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

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

附上代碼:

app.js

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

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

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

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

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

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

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

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

二、未登陸時(shí),不會(huì)展示任何數(shù)據(jù),點(diǎn)擊登陸

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

三、如已登陸

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

總結(jié)

  • 依靠全局?jǐn)?shù)據(jù)進(jìn)行狀態(tài)的標(biāo)記,有利于各個(gè)頁面的對(duì)全局?jǐn)?shù)據(jù)的使用,也方便維護(hù)
  • 不管哪個(gè)頁面,加載時(shí)都需要獲取全局中的狀態(tài),已確認(rèn)當(dāng)前是應(yīng)該登陸還是未登陸
  • 用戶數(shù)據(jù)userInfo是個(gè)關(guān)鍵點(diǎn),因?yàn)榈顷懥四阒辽俚米層脩艨吹絺€(gè)人信息吧,所以這也是維持登陸狀態(tài)的點(diǎn)之一。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/121406.html

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<