Forráskód Böngészése

根据环境变量统一设置basePath

yingp 7 éve
szülő
commit
12e9372310
1 módosított fájl, 33 hozzáadás és 0 törlés
  1. 33 0
      frontend/saas-web/overrides/data/Connection.js

+ 33 - 0
frontend/saas-web/overrides/data/Connection.js

@@ -0,0 +1,33 @@
+/**
+ * 在 ajax request 前修改url,增加服务端`basePath`
+ * `basePath`在`app.json`配置
+ */
+Ext.define('saas.override.data.Connection', {
+    override: 'Ext.data.Connection',
+ 
+    urlRegexp: /(http|ftp|https):\/\//,
+
+    privates: {
+        setupServerOptions: function(options) {
+            var serverOptions = Ext.manifest.server, originUrl = options.url;
+            if (serverOptions && serverOptions.basePath && !this.urlRegexp.test(originUrl) &&
+              (!serverOptions.urlPattern || new RegExp(serverOptions.urlPattern).test(originUrl))) {
+                Ext.apply(options, {
+                    url: serverOptions.basePath + (originUrl.indexOf('/') == 0 ? '' : '/') + originUrl,
+                    headers: {
+                        'Authorization': ' '
+                    }
+                });
+            }
+            return url;
+        }
+    },
+
+    request: function(options) {
+        if (options && options.url) {
+            this.setupServerOptions(options);
+        }
+        return this.callParent([options]);
+    }
+ });
+