angular 小试
来源:互联网 发布:centos识别不到硬盘 编辑:程序博客网 时间:2024/06/10 15:50
//测试tokenvar app = angular.module('myApp', ['ngRoute']);//构造拦截器,添加token信息 3app.config(function($httpProvider){ //构造拦截器 var intercepter=function($q,$rootScope,Auth){ return{ 'response':function(resp){ if(resp.config.url=='/login'){ //假设API服务器返回的数据格式如下 Auth.setToken(resp.data.token); } return resp; }, 'responseError':function(rejection){ //错误处理 switch(rejection.status){ case 401: if(rejection.config.url!=='api/login') //如果当前不是在登陆页面 $rootScope.$broadcast('auth:loginRequired'); break; case 403: $rootScope.$broadcast('auth:forbidden'); break; case 404: $rootScope.$broadcast('page:notFound'); break; case 500: $rootScope.$broadcast('server:error'); break; } } }//return };//intercepter $httpProvider.interceptors.push(intercepter);});app.config(function($routeProvider,ACCESS_LEVELS){ $routeProvider.when('/', {templateUrl: 'HTTPBasic.html', reloadOnSearch: false}); $routeProvider.when('/count', {templateUrl: 'count.html', reloadOnSearch: false}); $routeProvider.otherwise({ redirectTo:'/'});});//定义页面访问权限1app.constant('ACCESS_LEVELS',{ pub:1, user:2});//构造拦截器服务2app.factory('Auth',function($cookieStore,ACCESS_LEVELS){ var _user=$cookieStore.get('user'); var setUser=function(user){ if(!user.role||user.role<0){ user.role=ACCESS_LEVELS.pub; } _user=user; $cookieStore.put('user',_user); } return { isAuthorized:function(lvl){ //判断是否有权限 return _user.role>=lvl; }, setUser: setUser, isLoggedIn: function(){ return _user?true: false; }, getUser: function(){ return _user; }, getId: function(){ return _user? _user._id:null; }, getToken: function(){ return _user? _user.token:''; }, setToken: function(token){ //自己新加入 _user._token=token; }, logout:function(){ $cookieStore.remove('user'); _user=null; } };});//请求数据服务app.service('Backend',function($http,$q,$rootScope,Auth){ this.getDashboardData=function(){ $http({ method:'GET', url:'http://localhost:8080/bbwbg/userController/list', params:{ taken:Auth.getToken(),name:'fd'} }).success(function(data){ return data.data; }).catch(function(reason){ $q.reject(reason); }); };});app.controller('MainController',function($scope,Backend){ $scope.name="heha"; Backend.getDashboardData();});
0 0
- angular 小试
- angular-leaflet 小例
- angular路由小笔记
- angular小tip
- angular一些小知识
- Angular的小综合
- requirejs+angular+restangular小实例
- angular的一个小问题
- angular的服务小总结
- 关于angular的一些小笔记
- 从零开始构建 Wijmo & Angular 2 小应用
- angular的ui-router小demo
- angular路由及小功能总结记录
- Angular
- angular
- angular
- angular
- angular
- swift按钮通过代码添加点击事件时出现unrecognized selector sent to instance 0x136ea5010错误
- C语言开发总结(十七)
- Spring 配置文件中Bean 属性id和name的区别
- 10款最好用的MySQL数据库客户端图形界面管理工具
- Page Object Model (Selenium, Python)
- angular 小试
- iOS———实现抖动效果
- Excel中concatenate函数的使用方法
- 杂碎(2)
- CAS实现SSO单点登录原理
- 半全局立体匹配方法调研,以及一些立体匹配方向的思考
- ECSHOP添加购物车加图片飞入效果
- Jenkins Https方式获取Git代码 Failed to connect to repository 错误
- spring环境的搭建及作用和定义<一>