我们现有需要控制权限的地方大概有以下几个点:
-
入口控制,这点在配置文件中体现
-
数据接口控制, 这点体现在请求数据源以及对数据源做筛选的场景
-
视图展现控制,这点体现在视图层上根据权限情况控制视图内容的展现
| ioc.addInterceptor( | |
| { | |
| // add 方法会在注册组件前(addComponent)调用, | |
| // 会传入 ioc 实例以及当前要注册的组件配置, | |
| // 在此方法中可以自由的修改配置或者创建一个新的配置,最终必须得返回一个配置对象给 ioc, | |
| // ioc 会用返回的配置对象作为当前正在注册的组件配置。 | |
| add: function(ioc, config) { | |
| if(config.$dom) { | |
| config.$dom = document.getElementById(config.$dom); |
| // ub-ria/mvc/List.js | |
| List.prototype.imp = null; | |
| /** | |
| * @params {er/Action} imp | |
| */ | |
| List.prototype.setImp = function (imp) { | |
| this.imp = imp; | |
| } |
| function parseQuery(querystring){ | |
| querystring = querystring.split('&'); | |
| var query = {}; | |
| for (var i = querystring.length - 1; i > -1; i--) { | |
| var kv = querystring[i].split('='); | |
| var key = decodeURIComponent(kv[0]); | |
| query[key] = decodeURIComponent(kv[1]); | |
| } | |
| return query; | |
| } |