/** * 在 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, }); } } }, request: function(options) { if (options && options.url) { this.setupServerOptions(options); } return this.callParent([options]); } });