使用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 ){

//执行登录成功相关指令

}

});

复制代码

判断登录状态

判断登录状态可用于决定是否打开登录界面。

//api.getPrefs获取当前登录状态

api.getPrefs({

key: 'loginStatus'

}, function(ret, err) {

//当偏好设置尚未设置或者曾设置后被移除后,返回值(ret.value)均为空。

var val = ret.value;

if (val && val != "") {

//已登录

} else {

//未登录

}

});

复制代码

登出

在登出界面登出成功后,广播登出成功事件并移除登录状态。登出成功后需要执行相关命令的界面(如显示登录相关按钮、移除登录用户可见内容、清空登出用户数据及缓存)需设置登出监听,以便登出成功后作出反馈。

//登出界面

//api.sendEvent广播登出成功事件

api.sendEvent({

name: 'logoutSuccess'

});

//api.removePrefs移除登录状态

api.removePrefs({

key: 'loginStatus'

});

//修改界面

//api.addEventListener监听登出成功事件(需执行才可生效)

api.addEventListener({

name: 'logoutSuccess'

}, function(ret, err){

if( ret ){

//执行登出成功相关指令

}

});

复制代码

相关文章