海康Web 无插件版SDK,它起了个nginx,将 /ISAPI 和 /webSocketVideoCtrlProxy 链接代理到海康设备。但是当你初始化SDK和登录完成获取设备端口的时候,它会将需要代理的地址写入cookie,nginx从cookie里获取要代理的地址。
我把他整合到Vue里,封装为一个组件。我想在开发的时候,预览设备视频,具体参照这个
https://juejin.cn/post/7369909173938798601 我像他那样写死地址似乎是没有问题的。如果我想搞成动态的就搞不明白了。问了GPT,他似乎有点智障。
你是想实现动态代理吗?当Cookie里的地址变化时,代理的地址随之更新?
嗯嗯,有什么好办法吗?我问了问gpt,然后在vue.config.js里配置了代理,但是似乎不行
@echo_lovely: vue.config.js是本地代理,只在本地有效,发布以后,比如服务器如果是用Nginx进行部署和访问的,应该在Nginx的配置里面做文章。
昨天搜了一下Nginx动态代理,有人弄过,通过正则表达式处理,但是感觉不一定能满足你的需求。
你的端口总在变的话,如果不多,干脆Nginx里面多指定几个转发,
或者看Nginx能不能正则匹配开头,比如80端口开头的就走这个代理。
@顾星河: 对,我就是想实现本地代理,开发的时候可以调用。nginx 配置的话,海康有demo, 直接用他的就够了
@echo_lovely: vue.config.js好像实现不了,配置只能写死,或者读.env环境变量,你可以考虑用Nginx做个中转,或者vue.config.js里枚举一下那些端口,enmmm 跟写死差不多一个意思了
@顾星河: 那就算了,我写死好了,先单看一个
可以用axios,封装个interceptor,参考 https://panjiachen.github.io/vue-element-admin-site/zh/guide/advanced/error.html#页面 的 @/utils/request.js