ruoyi-vue项目请求不同地址的接口,主要在于处理跨域问题,即vue.config.js文件处理
1. 修改配置文件(.env.development/.env.production)
# 第三方服务 vue_app_api_service='/service'
2. 修改vue.config.js文件
即新增一个代理。部署项目时,如果使用nginx等代理方式,记得配置vue_app_api_service对应的路径及跳转地址
devserver: {
host: "0.0.0.0",
port: port,
open: true,
proxy: {
[process.env.vue_app_base_api]: {
target: `http://localhost:8080`,
changeorigin: true,
pathrewrite: {
["^" + process.env.vue_app_base_api]: "",
},
},
// ===========这里是新增的==============
[process.env.vue_app_api_service]: {
target: "http://47.100.25.xxx:8080",//<<你想要请求的域名及端口>>
changeorigin: true,
pathrewrite: {
[process.env.vue_app_api_service]: "",
},
},
// ===========这里是新增的==============
},
disablehostcheck: true,
},
3. 新建requestnew.js文件
封装请求处理,可参照原版ruoyi的封装请求
import axios from "axios";
export function requestservice(config) {
// 创建axios实例
const instance = axios.create({
baseurl: process.env.vue_app_api_service,
timeout: 5000,
});
// 请求响应拦截
instance.interceptors.response.use((res) => {
return res.data;
});
// 发送请求
return instance(config);
}
4. 新增接口文件
参考api下的接口文件配置
import request from "@/utils/requestnew";
// 查询列表
export function getcarlist() {
return request({
url: "/car/list",
method: "get",
});
}
使用示例
<template>
<div class="app-container">
<el-button @click="getlist">测试</el-button>
</div>
</template>
<script>
import { getcarlist } from "@/api/../..";
methods: {
/** 调用第三方接口 */
getlist() {
getcarlist().then((res) => {
console.log(res);
});
},
}
</script>总结
到此这篇关于ruoyi-vue处理跨域问题同时请求多个域名接口文章就介绍到这了,更多相关ruoyi-vue处理跨域请求多个域名接口内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论