很多人不明白用dwz要如何在没有登录的时候跳转到登录页面,没有权限的时候弹出提示。
其实,作者在设计的时候,已经完全考虑到了这些需求。
不管是navTab还是dialog,dwz的页面加载最终都是通过loadUrl函数来实现,打开loadUrl
1 success: function(response){ 2 var json = DWZ.jsonEval(response); 3 if (json.statusCode==DWZ.statusCode.timeout){ 4 alertMsg.error(DWZ.msg("sessionTimout"), {okCall:function(){ 5 DWZ.loadLogin(); 6 }}); 7 } if (json.statusCode==DWZ.statusCode.error){ 8 if (json.message) alertMsg.error(json.message); 9 } else { 10 $this.html(response).initUI(); 11 if ($.isFunction(callback)) callback(response);
你会发现其实服务器端响应对于打开页面也是适用的,也就是打开navTab和dialog时,后台也可以返回JSON来控制加载,很多人不知道这点。
有了这个,权限控制就变得异常简单,如果没有登录,返回的json就设置statusCode为timeout,这样就会跳转到登录页面;如果没有权限,则设置statusCode为error,这样就能弹出提示框,这里可以扩展一下,因为这个时候虽然页面没有加载,但是navTab或者dialog还是打开了,加一句判断关闭就OK了。