文档首页> 应用魔方 AppCube> 常见问题> 高级页面> 高级页面如何进行统一的HTTP状态拦截,如401、403等公共处理?
更新时间:2022-04-01 GMT+08:00
分享

高级页面如何进行统一的HTTP状态拦截,如401、403等公共处理?

问题描述

高级页面如何进行统一的HTTP状态拦截,如拦截401、403等公共HTTP状态?

解决方法

  1. 参考下方代码,自定义库,并打成Zip包。

    定制要求:CustomConnectorFilter = ConnectorFilter.extend等内容不允许修改,只需定制修改process方法的实现,必须要有返回值true或false。返回true继续执行逻辑;返回false将终止。
    (function() {
        var CustomConnectorFilter = ConnectorFilter.extend({
    
            /**
                Connector拦截器,业务可根据返回值进行处理
                <p>
                返回true继续执行逻辑;返回false将终止
                <p>
                方法中可获取的参数<br/>
                    url : 请求地址
                    params : 请求参数
                    status : 响应码
                    statusText : 响应码内容
                    resp : 返回参数
            */
            process: function()
            {
               var thisObj = this;
               // 方法内部要求同步处理
               if (thisObj.status == 401) {
                   // 跳转登录
                   return false;
               }
               return true;
            }
    
        });
    })();

  2. 租户级别下上传自定义库。

    1. 在开发工作台左侧列表单击,选择“高级页面 > 库”。
    2. 单击“提交新库”,新建库。
    3. 输入库基本信息,单击“上传”选择zip包,单击“提交”上传库。

  3. 站点内加载使用库。

    1. 在开发工作台左侧菜单栏下方选择“页面设置”。
    2. 选择“资源”页签,单击“新建资源”。
      图1 在站点内引用库
    3. 在“新建资源”页面选择“资源库”,选择库单击“新增”。
      作用域表示如下。
      • 全局:表示该Library可应用于该站点所有高级页面。
      • 视图级:该Library仅应用于web或者mobile视图中。
      • 页面级:可应用于具体哪些高级页面。

分享:

高级页面所有常见问题

more

close