|
|
@@ -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]);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|