APICloud平台即将全面升级至用友开发者中心,请广大用户查看公告,及时进行账户迁移
APP开发平台 > Blog > APICloud技巧 | 用户登录与登出的实现方法

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

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

    }

});

复制代码



文 : 无心戈

转自:APICloud官方论坛 . 分享区



高效的App定制平台,标准化、便宜、快!

提交APP定制开发需求