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

APICloud用户登录与登出的实现方法

    使用APICloud平台也有一段时间了,学到了很多东西,挺受益的,所以决定把我遇到过的问题及其解决方法说一说,希望后来者可以更轻松。如有谬误,欢迎指正。谢谢!

登录
    在登录界面登录成功后,广播登录成功事件并设置登录状态。登录成功后需要执行相关命令的界面(如移除登录相关按钮、显示登录用户可见内容、获取当前登录用户资料)需设置登录监听,以便登录成功后作出反馈。
01//登录界面
02//api.sendEvent广播登录成功事件
03api.sendEvent({
04   name: 'loginSuccess'
05});
06 
07//api.setPrefs设置登录成功状态
08api.setPrefs({
09    key: 'loginStatus',
10    value: 'loginSuccess'
11});
12 
13//修改界面
14//api.addEventListener监听登录成功事件(需执行才可生效)
15api.addEventListener({
16    name: 'loginSuccess'
17}, function(ret, err){
18    if( ret ){
19        //执行登录成功相关指令
20    }
21});
判断登录状态

    判断登录状态可用于决定是否打开登录界面。
01//api.getPrefs获取当前登录状态
02api.getPrefs({
03  key: 'loginStatus'
04}, function(ret, err) {
05    //当偏好设置尚未设置或者曾设置后被移除后,返回值(ret.value)均为空。
06    var val = ret.value;
07    if (val && val != "") {
08            //已登录
09    } else {
10        //未登录
11    }
12});
登出

    在登出界面登出成功后,广播登出成功事件并移除登录状态。登出成功后需要执行相关命令的界面(如显示登录相关按钮、移除登录用户可见内容、清空登出用户数据及缓存)需设置登出监听,以便登出成功后作出反馈。
01//登出界面
02//api.sendEvent广播登出成功事件
03api.sendEvent({
04    name: 'logoutSuccess'
05});
06//api.removePrefs移除登录状态
07api.removePrefs({
08    key: 'loginStatus'
09});
10 
11//修改界面
12//api.addEventListener监听登出成功事件(需执行才可生效)
13api.addEventListener({
14    name: 'logoutSuccess'
15}, function(ret, err){
16    if( ret ){
17        //执行登出成功相关指令
18    }
19})