首页 新闻 会员 周边 捐助

Vue项目如何自动获取到cookie里存的代理地址,然后自动实现代理?

0
悬赏园豆:10 [已解决问题] 解决于 2024-09-25 17:20

背景

海康Web 无插件版SDK,它起了个nginx,将 /ISAPI 和 /webSocketVideoCtrlProxy 链接代理到海康设备。但是当你初始化SDK和登录完成获取设备端口的时候,它会将需要代理的地址写入cookie,nginx从cookie里获取要代理的地址。

问题

我把他整合到Vue里,封装为一个组件。我想在开发的时候,预览设备视频,具体参照这个
https://juejin.cn/post/7369909173938798601 我像他那样写死地址似乎是没有问题的。如果我想搞成动态的就搞不明白了。问了GPT,他似乎有点智障。

echo_lovely的主页 echo_lovely | 小虾三级 | 园豆:1546
提问于:2024-08-21 17:27
< >
分享
最佳答案
0

你是想实现动态代理吗?当Cookie里的地址变化时,代理的地址随之更新?

收获园豆:7
顾星河 | 大侠五级 |园豆:7281 | 2024-08-21 22:26

嗯嗯,有什么好办法吗?我问了问gpt,然后在vue.config.js里配置了代理,但是似乎不行

echo_lovely | 园豆:1546 (小虾三级) | 2024-08-22 08:10

@echo_lovely: vue.config.js是本地代理,只在本地有效,发布以后,比如服务器如果是用Nginx进行部署和访问的,应该在Nginx的配置里面做文章。
昨天搜了一下Nginx动态代理,有人弄过,通过正则表达式处理,但是感觉不一定能满足你的需求。
你的端口总在变的话,如果不多,干脆Nginx里面多指定几个转发,
或者看Nginx能不能正则匹配开头,比如80端口开头的就走这个代理。

顾星河 | 园豆:7281 (大侠五级) | 2024-08-22 10:41

@顾星河: 对,我就是想实现本地代理,开发的时候可以调用。nginx 配置的话,海康有demo, 直接用他的就够了

echo_lovely | 园豆:1546 (小虾三级) | 2024-08-22 10:43

@echo_lovely: vue.config.js好像实现不了,配置只能写死,或者读.env环境变量,你可以考虑用Nginx做个中转,或者vue.config.js里枚举一下那些端口,enmmm 跟写死差不多一个意思了

顾星河 | 园豆:7281 (大侠五级) | 2024-08-22 11:21

@顾星河: 那就算了,我写死好了,先单看一个

echo_lovely | 园豆:1546 (小虾三级) | 2024-08-22 13:14
其他回答(1)
0

可以用axios,封装个interceptor,参考 https://panjiachen.github.io/vue-element-admin-site/zh/guide/advanced/error.html#页面 的 @/utils/request.js

收获园豆:3
彼时今日 | 园豆:528 (小虾三级) | 2024-08-22 08:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册