tianyunperfect vor 2 Jahren
Ursprung
Commit
04b247f142
2 geänderte Dateien mit 4 neuen und 60 gelöschten Zeilen
  1. 4 1
      tmp/monkey/B站-复制视频引用.js
  2. 0 59
      tmp/tmp.js

+ 4 - 1
tmp/monkey/B站-复制视频引用.js

@@ -18,7 +18,7 @@
 
     function myCopy(string) {
         let tmpId = getTempId();
-        jQuery('body').append(jQuery("<div id='"+tmpId+"'>"+string+"</div>"))
+        jQuery('body').append(jQuery("<div id='" + tmpId + "'>" + string + "</div>"))
         let range = document.createRange();
         range.selectNode(jQuery("#" + tmpId)[0]);
         // 清除选择
@@ -32,6 +32,9 @@
     }
 
     jQuery('.tit').dblclick(function () {
+        let bvid = window.__INITIAL_STATE__.videoData.bvid;
+        let aid = window.__INITIAL_STATE__.videoData.aid;
+        let cid = window.__INITIAL_STATE__.videoData.cid;
         // let url = `https://player.bilibili.com/player.html?high_quality=1&danmaku=0&bvid=${bvid}`;
         let url = `https://video-direct-link.vercel.app/bili.mp4?aid=${aid}&bvid=${bvid}&cid=${cid}`;
         myCopy(url);

+ 0 - 59
tmp/tmp.js

@@ -1,63 +1,4 @@
-const table = [...'fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF'];
-const s = [11, 10, 3, 8, 4, 6];
-const xor = 177451812;
-const add = 8728348608;
 
-const av2bv = (av) => {
-    let num = NaN;
-    if (Object.prototype.toString.call(av) === '[object Number]') {
-        num = av;
-    } else if (Object.prototype.toString.call(av) === '[object String]') {
-        num = parseInt(av.replace(/[^0-9]/gu, ''));
-    }
-    ;
-    if (isNaN(num) || num <= 0) {
-        // 网页版直接输出这个结果了
-        return '¿你在想桃子?';
-    }
-    ;
 
-    num = (num ^ xor) + add;
-    let result = [...'bv1  4 1 7  '];
-    let i = 0;
-    while (i < 6) {
-        // 这里改写差点犯了运算符优先级的坑
-        // 果然 Python 也不是特别熟练
-        // 说起来 ** 按照传统语法应该写成 Math.pow(),但是我个人更喜欢 ** 一些
-        result[s[i]] = table[Math.floor(num / 58 ** i) % 58];
-        i += 1;
-    }
-    ;
-    return result.join('');
-};
-
-const bv2av = (bv) => {
-    let str = '';
-    if (bv.length === 12) {
-        str = bv;
-    } else if (bv.length === 10) {
-        str = `BV${bv}`;
-        // 根据官方 API,BV 号开头的 BV1 其实可以省略
-        // 不过单独省略个 B 又不行(
-    } else if (bv.length === 9) {
-        str = `BV1${bv}`;
-    } else {
-        return '¿你在想桃子?';
-    }
-    ;
-    if (!str.match(/[Bb][Vv][fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF]{10}/gu)) {
-        return '¿你在想桃子?';
-    }
-    ;
-
-    let result = 0;
-    let i = 0;
-    while (i < 6) {
-        result += table.indexOf(str[s[i]]) * 58 ** i;
-        i += 1;
-    }
-    ;
-    return `av${result - add ^ xor}`;
-};
 console.log(bv2av("BV16Y4y1w7Sb"));
 // https://video-direct-link.vercel.app/bili.mp4?aid=av644205043&bvid=BV16Y4y1w7Sb