| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /**
- * 在 ajax request 前修改url,增加服务端`basePath`
- * `basePath`在`app.json`配置
- */
- Ext.define('Ext.overrides.data.Connection', {
- override: 'Ext.data.Connection',
-
- urlRegexp: /(http|ftp|https):\/\//,
- config: {
- /**
- * @cfg {Object} defaultServerHeaders
- * 与defaultHeaders有区别,只在调用server api的时候才添加的headers
- */
- defaultServerHeaders: null
- },
- /* 本地配置和服务器配置
- "dev":{
- "server": {
- "basePath": "http://127.0.0.1:24002",
- "urlPattern": "^\/api\/"
- }
- },
- "prod":{
- "server": {
- "basePath": "http://10.1.81.2:24002",
- "urlPattern": "^\/api\/"
- }
- },
- */
- privates: {
- setupServerOptions: function(options) {
- //检验是开发环境还是线上地址
- let prod = RegExp("10.1.81.2:*").test(window.location.href);
- var basePath = prod?'http://10.1.81.2:24002':'http://127.0.0.1:24002',
- originUrl = options.url,
- urlPattern = "^\/api\/";
- if ( new RegExp(urlPattern).test(originUrl) ) {
- Ext.Object.merge(options, {
- url: basePath + originUrl.replace('/api',''),
- headers: this.getDefaultServerHeaders() || {}
- });
- }
- }
- },
- request: function(options) {
- if (options && options.url) {
- this.setupServerOptions(options);
- }
- return this.callParent([options]);
- }
- });
-
|