一、问题分析

现象,ios 设备可以正常连接到 server,也可以打开远控,但远控的屏幕无法显示,F12中还看到跨域错误。如下图

05 Sonic - 修改iso无法远控传图问题(前端解决跨域问题)_解决方案

 

05 Sonic - 修改iso无法远控传图问题(前端解决跨域问题)_ios_02

 最后发现有两个问题:

1、agent 没有启动 5673,所以浏览器连不上,报的跨域错误

2、端口已经启动,还是报跨域,这就是真的跨域了 

二、解决

解决这个问题可以前端解决跨域,也可以后端解决跨域。这次用的前端解决方案

1、在 vite.config.js 中增加proxy

05 Sonic - 修改iso无法远控传图问题(前端解决跨域问题)_跨域_03

 

server: {
proxy: {
'/api': {
target: 'http://114.67.166.247:8094/api', // 是后端接口地址,需要根据实际情况修改
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, '')
}
}
},

2、在 axios.js 修改 baseURL

05 Sonic - 修改iso无法远控传图问题(前端解决跨域问题)_解决方案_04

baseURL = "/api" // 这里改的是 dev 的配置,如果需要打包,需要把下边的 process.env.NODE_ENV === 'production' 也改成 /api

3、重新运行前端代码即可

npm install
npm run dev