Kaynağa Gözat

直播/回放复制地址链接解密

xuqiaoying 3 yıl önce
ebeveyn
işleme
fff84c7e4c
3 değiştirilmiş dosya ile 236 ekleme ve 7 silme
  1. 225 4
      package-lock.json
  2. 1 0
      package.json
  3. 10 3
      src/pages/living-room/index.vue

+ 225 - 4
package-lock.json

@@ -2577,6 +2577,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -2756,6 +2764,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -5833,10 +5849,9 @@
       "dev": true
     },
     "js-base64": {
-      "version": "2.6.4",
-      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
-      "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
-      "dev": true
+      "version": "3.7.2",
+      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.2.tgz",
+      "integrity": "sha512-NnRs6dsyqUXejqk/yv2aiXlAvOs56sLkX6nUdeaNezI5LFFLlsZjOThmwnrcwh5ZZRwZlCMnVAY3CvhIhoVEKQ=="
     },
     "js-tokens": {
       "version": "3.0.2",
@@ -8029,6 +8044,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -8096,6 +8119,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -8162,6 +8193,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -8227,6 +8266,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -8292,6 +8339,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -8357,6 +8412,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -8422,6 +8485,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -8488,6 +8559,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -8553,6 +8632,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -8768,6 +8855,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -8833,6 +8928,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -8912,6 +9015,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -8985,6 +9096,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -9051,6 +9170,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -9119,6 +9246,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -9187,6 +9322,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -9291,6 +9434,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -9556,6 +9707,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -9650,6 +9809,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -9716,6 +9883,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -9781,6 +9956,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -9848,6 +10031,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -9927,6 +10118,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -9994,6 +10193,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -10080,6 +10287,14 @@
             "js-base64": "^2.1.9",
             "source-map": "^0.5.6",
             "supports-color": "^3.2.3"
+          },
+          "dependencies": {
+            "js-base64": {
+              "version": "2.6.4",
+              "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+              "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+              "dev": true
+            }
           }
         },
         "supports-color": {
@@ -11025,6 +11240,12 @@
         "source-map": "^0.7.1"
       },
       "dependencies": {
+        "js-base64": {
+          "version": "2.6.4",
+          "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+          "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+          "dev": true
+        },
         "source-map": {
           "version": "0.7.3",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",

+ 1 - 0
package.json

@@ -12,6 +12,7 @@
   "dependencies": {
     "axios": "^0.26.1",
     "element-ui": "^2.15.6",
+    "js-base64": "^3.7.2",
     "jsencrypt": "^3.2.1",
     "moment": "^2.29.2",
     "print-js": "^1.6.0",

+ 10 - 3
src/pages/living-room/index.vue

@@ -179,6 +179,7 @@ import "@/assets/css/chatroom.css";
 import "@/assets/css/pc.css";
 import "@/assets/css/tool.css";
 import "@/assets/css/public.css";
+let Base64 = require('js-base64').Base64
 
 export default {
   components: {
@@ -261,7 +262,7 @@ export default {
       return;
     }
     const { a } = this.$route.query
-    console.log('aaaaaaaaa', a)
+    console.log('aaaaaaaaa', a, decodeURIComponent(location.search.slice(5)))    
     this.channelId = this.$route.params.channelId
     // 有a字段是标识是复制链接进来
     if (a ==1) {
@@ -283,7 +284,6 @@ export default {
     this.vid = vid
     this.identification = new Date().valueOf() + ""
     this.buyCourse = 0
-    // this.getParam()
     this.playVideo();
     if (this.sectionType !=3 ) {
       this.studyRecordGetLastLive();
@@ -334,7 +334,14 @@ export default {
     },
     // 获取直播间跳转参数的接口
     getParam() {
-      const { cid, gid, sid} = this.$route.query
+      let decodeValue = decodeURIComponent(location.search.slice(5))
+      let paramArr = Base64.decode(decodeValue).split('&')
+      console.log('paramArr:',paramArr)
+      let paramObj = {}
+      for (let i = 0; i < paramArr.length; i++) {
+          paramObj[paramArr[i].split('=')[0]] = paramArr[i].split('=')[1]
+      }
+      const { cid, gid, sid} = paramObj
       console.log('cid, gid, sid',  cid, gid, sid)
       this.$axios({
         url: '/course/check/watch/per',