Przeglądaj źródła

更新 VideoPage.vue 中的 wsUrl

reghao 2 miesięcy temu
rodzic
commit
ea0d1448af
1 zmienionych plików z 24 dodań i 2 usunięć
  1. 24 2
      src/views/home/VideoPage.vue

+ 24 - 2
src/views/home/VideoPage.vue

@@ -837,8 +837,8 @@ export default {
       videoUrl(videoId).then(res => {
         if (res.code === 0) {
           if (this.userToken != null && this.sendEvent) {
-            this.wsUrl = 'wss:' + process.env.VUE_APP_SERVER_URL + '/ws/media?' +
-              'userToken=' + this.userToken + '&videoId=' + videoId
+            // this.wsUrl = 'wss:' + process.env.VUE_APP_SERVER_URL + '/ws/media?userToken=' + this.userToken + '&videoId=' + videoId
+            this.wsUrl = this.getUrl(videoId)
             this.initWebSocket()
           }
 
@@ -876,6 +876,28 @@ export default {
         })
       })
     },
+    getUrl(videoId) {
+      const protocol = location.protocol
+      const hostname = location.hostname
+      const port = location.port
+      let prefix
+      if (protocol === 'https:') {
+        if (port === '' || port === 443) {
+          prefix = 'wss://' + hostname
+        } else {
+          prefix = 'wss://' + hostname + ':' + port
+        }
+      } else {
+        if (port === '' || port === 80) {
+          prefix = 'ws://' + hostname
+        } else {
+          prefix = 'ws://' + hostname + ':' + port
+        }
+      }
+
+      var wsUrl = prefix + '/ws/media?userToken=' + this.userToken + '&videoId=' + videoId
+      return wsUrl
+    },
     danmakuConfig() {
       // TODO 获取弹幕配置,将 videoUrl 作为本函数的回调
     },