APICloud技巧 | 使用者登入與登出的實現方法
APICloud中使用者登入與登出的實現方法
登入
在登入介面登入成功後,廣播登入成功事件並設定登入狀態。登入成功後需要執行相關命令的介面(如移除登入相關按鈕、顯示登入使用者可見內容、獲取當前登入使用者資料)需設定登入監聽,以便登入成功後作出反饋。
//登入介面
//api.sendEvent廣播登入成功事件
api.sendEvent({
name: 'loginSuccess'
});
//api.setPrefs設定登入成功狀態
api.setPrefs({
key: 'loginStatus',
value: 'loginSuccess'
});
//修改介面
//api.addEventListener監聽登入成功事件(需執行才可生效)
api.addEventListener({
name: 'loginSuccess'
}, function(ret, err){
if( ret ){
//執行登入成功相關指令
}
});
2.判斷登入狀態
判斷登入狀態可用於決定是否開啟登入介面。
//api.getPrefs獲取當前登入狀態
api.getPrefs({
key: 'loginStatus'
}, function(ret, err) {
//當偏好設定尚未設定或者曾設定後被移除後,返回值(ret.value)均為空。
var val = ret.value;
if (val && val != "") {
//已登入
} else {
//未登入
}
});
3.登出
在登出介面登出成功後,廣播登出成功事件並移除登入狀態。登出成功後需要執行相關命令的介面(如顯示登入相關按鈕、移除登入使用者可見內容、清空登出使用者資料及快取)需設定登出監聽,以便登出成功後作出反饋。
//登出介面
//api.sendEvent廣播登出成功事件
api.sendEvent({
name: 'logoutSuccess'
});
//api.removePrefs移除登入狀態
api.removePrefs({
key: 'loginStatus'
});
//修改介面
//api.addEventListener監聽登出成功事件(需執行才可生效)
api.addEventListener({
name: 'logoutSuccess'
}, function(ret, err){
if( ret ){
//執行登出成功相關指令
}
});