一嚣镜、app必須要登陸才能使用
這里寫代碼片該種情況并沒有太多的選擇余地豆同,所有的接口必須依賴Token才能使用,這時候能做的就是彈出登陸界面驹溃,讓用戶登陸城丧。問題是,用戶登陸成功之后的刷新問題豌鹤。
1亡哄、在某些(基本上是大多數(shù),特別是沒有自帶下拉刷新的界面)布疙,在will appear里面做網(wǎng)絡(luò)請求
2蚊惯、通知。大多數(shù)情況下灵临,我們會有一個baseVC的存在截型,定義一個“是否需要刷新”的變量,當(dāng)用戶登陸成功之后儒溉,發(fā)送一個登陸成功的通知宦焦,并在需要刷新的界面重新做請求
3、建立一個專門管理Token過期API的類顿涣,在檢測Token過期的情況后波闹,劫持該API,登陸成功之后园骆,重新發(fā)送該請求
二舔痪、app即使沒有登陸部分功能也可以使用
這邊涉及到一個問題就是寓调,當(dāng)Token過期彈出登陸界面之后锌唾,用戶是可以取消登陸的,這時候如果在will appear里面做網(wǎng)絡(luò)請求的話夺英,并且用戶一直選擇取消晌涕,就會導(dǎo)致死循環(huán)。
1痛悯、取消通知余黎。定制一個參數(shù),用來判斷用戶在沒有登陸的情況下载萌,是否可以進(jìn)入該界面惧财,如果不能接入巡扇,逐一返回上一個界面(因為在檢測Token過期并彈出登陸界面的時候,這時候本地的Token信息理論上是應(yīng)該被清除掉的)
2垮衷、登陸成功通知厅翔。可以和上面必須登陸時候一樣的做法
3搀突、同以上必須登陸的情況