目录
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";exportfunction 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";
// 查询列表
exportfunctiongetCarList(){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>
版权归原作者 技术用户 所有, 如有侵权,请联系我们删除。