发表于: 2017-04-25 21:55:19

1 1018


完成的事情:

登录和项目渲染。

计划的事情:

debug and demo

问题:

登录,直接就把js任务中的登录页面复制了过来,然后作点小改动就可以应用。

登录以后,把账号、密码放到cookie中,然后切换到后台操作页面,在后台操作页面获取cookie中的账号密码,然后使用接口请求数据。

单单初始化就要嵌套4层请求。。。

1、登录

2、获取对应角色权限

3、获取模块列表id

4、获取模块列表

然后使用2和4步得到的数据较比,并对项目进行渲染。

var ctrl = this;

$scope.getCookie = function(str){

    var aStr = document.cookie.split(';');

    for(var i=0; i<aStr.length; i++){

        while(aStr[i].indexOf(' ')!=-1){

            aStr[i] = aStr[i].replace(' ','');

        }

        var arr = aStr[i].split('=');

        if(arr[0] == str){

            return arr[1];

        }

    }

}

$scope.delCookie = function(str){

    var date = new Date();

    date.setTime(date.getTime()-10000);

    document.cookie = str+"="+";"+"expires="+date.toGMTString();

}

$scope.logOut = function(){

    $scope.delCookie('testname');

    $scope.delCookie('testpwd');

    location.href = 'index.html';

}

ctrl.user = $scope.getCookie('testname');

ctrl.password = $scope.getCookie('testpwd');

myFac.http("POST","/carrots-admin-ajax/a/login/",{name:ctrl.user,pwd:ctrl.password}).then(function(res){

    //console.log('user',res);

    ctrl.id = res.data.role.id;

    myFac.http('get','/carrots-admin-ajax/a/u/role/'+ctrl.id).then(function(data){

        //console.log(data);

        ctrl.role = data.data.role;

        for(var i in ctrl.role.permissionsSet){

            var arr = ctrl.role.permissionsSet[i];

            var state = [];

            for(var j in arr){

                switch(arr[j]){

                    case 'create':

                        state[0] = true;

                        break;

                    case 'update':

                        state[1] = true;

                        break;

                    case 'delete':

                        state[2] = true;

                        break;

                    case 'sort':

                        state[3] = true;

                        break;

                    default:

                        break;

                }

            }

            ctrl.role.permissionsSet[i] = state;

        }

        ctrl.userList = [];

        myFac.http('get','/carrots-admin-ajax/a/u/module/',{page:1,size:100}).then(function(res){

            

            var s = (function(){

                var list = res.data.ids;

                var arr;

                for(var i in list){

                    if(i==0){

                        arr = 'ids='+list[i];

                    }else{

                        arr += '&ids='+list[i];

                    }

                }

                return arr;

            })();

            myFac.http('get','/carrots-admin-ajax/a/u/multi/module?'+s).then(function(data){

                ctrl.moduleList = data.data.moduleList;

                for(var i in ctrl.moduleList){

                    var parentID = ctrl.moduleList[i].parentID;

                    var id = ctrl.moduleList[i].id;

                    for(var j in ctrl.userList){

                        if(ctrl.userList[j].parent.id == parentID){

                            if(ctrl.role.permissionsSet[ctrl.moduleList[i].id] == undefined){

                                ctrl.moduleList[i].state = false;

                                ctrl.userList[j].state = ctrl.userList[j].state;

                            }else{

                                ctrl.moduleList[i].state = ctrl.role.permissionsSet[ctrl.moduleList[i].id].length>0?true:false;

                                ctrl.userList[j].state = ctrl.role.permissionsSet[ctrl.moduleList[i].id].length>0?true:ctrl.userList[j].state;

                            }

                            ctrl.userList[j].list.push(ctrl.moduleList[i]);

                        }

                    }

                }

            });

        });

    });

});

        

收获:

复盘项目进度



返回列表 返回列表
评论

    分享到