首页 > 建站教程 > APP开发,混合APP >  APICloud用户登录与登出的实现方法正文

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 ){
        //执行登出成功相关指令
    }
})