小程序的登錄邏輯能否放在app.js中實現?

知曉程序員,專注微信小程序開發的程序員!

前言:做小程序開發的同學,可能都會考慮一個問題,用戶登錄這個方法是公用的,我們應該把這個方法放在哪裏最合適呢?

看到上面的問題後,很大一部分剛入門同學都會直接把登錄方法放在app.js裏,並且有些同學直接把用戶登錄放在了app的onLaunch或者onShow方法裏面,然後打開任何page都會先login了,這種實現方式可取嘛?

我們先來看一下小程序發送請求的官方API:

這個API,其實是一個異步請求,並不具備同步的功能,也不能實現sleep效果。

異步請求,就有個問題,API數據何時返回,是不確定的。如果把用戶登錄方法放在了app的onLaunch或onShow裏面,然後又在page.js裏面用到了登錄方法的返回結果(比如用戶暱稱和頭像),那就可能出現偶爾有暱稱和頭像,偶爾又沒有。異步請求只能通過callback的方式來模擬同步的效果。

因此,不建議把登錄方法放在app的生命週期函數裏面。

再來看一下,連勝老師在小程序中,登錄邏輯的實現,如下圖:

之前的文章已經提到過此實現方式,下面我們來討論一下,用戶登錄方法寫在哪裏更合適?

兩種選擇方案:

第一:登錄方法放在app.js裏面,如下

第二:放在utils/util.js裏面,這裏面也可以把其他公用方法一併寫入。

以上兩種方案都可行,但是,連勝老師更傾向於把公用方法都放入util.js中,app.js中主要獲取options參數時用,比如識別小程序碼,需要獲取scene參數;從羣聊中打開小程序卡片,你可以獲取shareTickets參數;小程序之間互相跳轉,你可以獲取到appid等參數。

希望本次分享對剛入門小程序的同學有幫助~

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