1、index.js

    proxyTable: {			//解决跨域问题
  			"/api":{		//设置第一代理
            target: 'http://192.168.105.42:9090',	
			//secure:false,					//如果是https接口,需要配置这个参数
            changeOrigin: true,			//如果接口跨域需要配置这个参数
            pathRewrite: {
                '^/api': '/'		
            }
       },
       
       '/navy':{ // 设置第二个代理
        	target: "http://192.168.105.42:9095",
       	 	changeOrigin: true,
        	pathRewrite: {
	            '^/navy': '/'		
	        }  

    	},
    },

2、main.js

	axios.defaults.baseM1URL= "/api";
	axios.defaults.baseM2URL= "/navy";
	
	//对get请求传递过来的参数处理
	function paramsToUrl(url, params) {
	    if (!params) return url
	    for (var key in params) {
	        if (params[key] && params[key] != 'undefined') {
	            if (url.indexOf('?') != -1) {
	                url += '&' + '' + key + '=' + params[key] || '' + ''
	            } else {
	                url += '?' + '' + key + '=' + params[key] || '' + ''
	            }
	        }
	    }
	    return url
	}
	
	function requireData(url,params,type,item){
		if(!url) return false
		switch(item){
			case 'M1':
				url=axios.defaults.baseM1URL+url
				break;
			case 'M2':
				url=axios.defaults.baseM2URL+url
				break;			
			default:
				url=axios.defaults.baseM4URL+url
		}
	
		if(type==='get'){
			url=paramsToUrl(url, params)
			return new Promise((resolve,reject)=>{
				Axios.get(url,params).then(res=>{
					resolve(res.data)
					}).catch(err=>{
						reject(err)
					})
			})
		}else{
			return new Promise((resolve,reject)=>{
				Axios.post(url,params).then(res=>{
					resolve(res.data)
					}).catch(err=>{
						reject(err)
					})
			})
		}
	
	}
	
	//->接口1的请求数据方法		 IP地址为:http://192.168.105.42:9090调该方法
		Vue.prototype.reqM1Service=function(url,params,type){
			return requireData.call(this,url,params,type,'M1')
		}
	//->接口2的请求数据方法		 IP地址为:http://192.168.105.42:9095调该方法
		Vue.prototype.reqM2Service=function(url,params,type){
			return requireData.call(this,url,params,type,'M2')
		}

3、mine.vue

	    this.reqM1Service('/bsApi/Home/AddUserFeedback', params).then(
	      res => {
	     	if(res.status == 200){
	       		_this.$toast.success({
					message: '提交成功',
					forbidClick: true,
					duration:1000								
				})	     	
			}
	      }
	    );

参考文档

Logo

前往低代码交流专区

更多推荐