From e50051c641b14bc300086ad806a0da741016043f Mon Sep 17 00:00:00 2001 From: Searchstars Date: Thu, 3 Oct 2024 17:53:52 +0800 Subject: [PATCH] =?UTF-8?q?bugfix:=201.=20=E7=BD=91=E7=BB=9C=E6=9C=AA?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E6=97=B6=E4=B8=8D=E8=B7=B3=E8=BD=AC=E5=88=B0?= =?UTF-8?q?networkerror=E9=A1=B5=202.=20=E6=90=9C=E7=B4=A2=E6=9F=90?= =?UTF-8?q?=E4=BA=9B=E5=86=85=E5=AE=B9=E6=97=B6=E6=97=A0=E9=99=90=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=203.=20=E7=BC=93=E5=AD=98=E9=A1=B5=E4=B8=93=E6=A0=8F?= =?UTF-8?q?=E6=8E=A7=E4=BB=B6=E6=B8=B2=E6=9F=93=E9=94=99=E8=AF=AF=20improv?= =?UTF-8?q?ements:=20=E7=BC=93=E5=AD=98=E5=85=A5=E5=8F=A3=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- scripts/build_vela4_emu.py | 9 -- scripts/buildtools.py | 7 +- src/bilibiliclient.ts | 33 +++--- src/common/arealist_savedcontent.png | Bin 1231 -> 725 bytes src/components/Article/Article.ux | 4 +- src/eula.ts | 76 +++++++++++++ src/manifest.json | 125 ++++++++++++++++++++- src/pages/arealist/arealist.ux | 26 ++++- src/pages/savedcontent/savedcontent.ux | 2 +- src/pages/searchresult/searchresult.ux | 148 +++++++++++++++++-------- src/pages/splash/splash.ux | 4 +- 12 files changed, 347 insertions(+), 90 deletions(-) delete mode 100644 scripts/build_vela4_emu.py create mode 100644 src/eula.ts diff --git a/.gitignore b/.gitignore index 50b64cf..12d53d0 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ /dist /build .husky/ -*/__pycache__ \ No newline at end of file +*/__pycache__ +src/buildinfo.ts \ No newline at end of file diff --git a/scripts/build_vela4_emu.py b/scripts/build_vela4_emu.py deleted file mode 100644 index e6f384a..0000000 --- a/scripts/build_vela4_emu.py +++ /dev/null @@ -1,9 +0,0 @@ -import os -import buildtools - -DESIGN_WIDTH = 466 - -buildtools.setManifestDesignWidth(DESIGN_WIDTH) -buildtools.writeBuildInfo() - -os.system("aiot server --watch --open-nuttx --enable-custom-component true --enable-protobuf true") \ No newline at end of file diff --git a/scripts/buildtools.py b/scripts/buildtools.py index 79b4c21..9fc7f42 100644 --- a/scripts/buildtools.py +++ b/scripts/buildtools.py @@ -45,7 +45,6 @@ def readFileToJson(path): return f def writeJsonToFile(path, obj): - f = open(path, "w+") - write_str = json.dumps(obj) - f.write(write_str) - f.close() \ No newline at end of file + with open(path, "w+", encoding="utf-8") as f: + write_str = json.dumps(obj, ensure_ascii=False, indent=4) + f.write(write_str) \ No newline at end of file diff --git a/src/bilibiliclient.ts b/src/bilibiliclient.ts index 690a9a8..75ac1da 100644 --- a/src/bilibiliclient.ts +++ b/src/bilibiliclient.ts @@ -1,5 +1,6 @@ import { fetch, storage, crypto, prompt } from './tsimports'; import * as interconnectfetch from './interconnectfetch' +import * as eula from './eula' // Wbi签名混淆表 const mixinKeyEncTab = [ @@ -58,14 +59,14 @@ class BilibiliClient { return ("x" === name ? randomInt : 3 & randomInt | 8).toString(16).toUpperCase() })); - constructor(interconnectMode = false, interconnecter = null){ + constructor(interconnectMode = false, interconnecter = null) { this.updateBUVID(); this.interconnect_mode = interconnectMode; - if(interconnectMode){ + if (interconnectMode) { this.fetch = new interconnectfetch.fetch(interconnecter); this.interconnecter = interconnecter } - else{ + else { this.fetch = fetch; } } @@ -86,7 +87,7 @@ class BilibiliClient { // 构建Cookie字符串 private getCookieString(): string { var cookies = `buvid3=${this.buvid3}; buvid4=${this.buvid4}; `; - if(this.sessData){ + if (this.sessData) { cookies += `SESSDATA=${this.sessData}; bili_jct=${this.biliJct}; DedeUserID=${this.dedeUserID}; sid=${this.sid}; ` } return cookies; @@ -137,7 +138,7 @@ class BilibiliClient { private async postRequest(url: string, data: string, content_type: string, custom_headers: any = null): Promise { console.log(`postRequest: ${url}, body: ${data}, contentType: ${content_type}`); let headers = { ...this.getHeaders(), "Content-Type": content_type } - if(custom_headers){ + if (custom_headers) { headers = custom_headers } try { @@ -180,10 +181,12 @@ class BilibiliClient { return { update: false, msg: "" }; } - async getEulaShowContent(): Promise{ - const response = (await this.fetch.fetch({ - url: "http://hbstatics.astralsight.space/eularead-content.txt", - })).data; + getEulaShowContent(): any { + // 使用硬编码的EULA文本 + // 因为部分地区可能无法访问境外加速CDN + const response = { + data: eula.eula + }; return response.data; } @@ -194,7 +197,7 @@ class BilibiliClient { const response = await this.getRequest('https://passport.bilibili.com/x/passport-login/web/qrcode/generate'); if (response && response.data) { this.qrCodeKey = response.data.data.qrcode_key; - if(this.interconnect_mode){ + if (this.interconnect_mode) { await this.interconnecter.sendMessage(JSON.stringify({ msgtype: "SHOWQR", message: response.data.data.url @@ -469,8 +472,8 @@ class BilibiliClient { 用户:bili_user 相簿:photo */ - async searchContentWithType(keyword: string, search_type: string){ - console.log("[searchContentWithType] keyword=" + keyword+ " type=" + search_type) + async searchContentWithType(keyword: string, search_type: string) { + console.log("[searchContentWithType] keyword=" + keyword + " type=" + search_type) const url = "https://api.bilibili.com/x/web-interface/wbi/search/type" const response = await this.getRequestWbi(url, { keyword, @@ -524,7 +527,7 @@ class BilibiliClient { async SendDMSessionMessage(receiver_id: string, msg_type: number, content: string) { const url = "https://api.vc.bilibili.com/web_im/v1/web_im/send_msg"; const body = `msg[sender_uid]=${this.accountInfo.mid}&msg[receiver_id]=${receiver_id}&msg[receiver_type]=1&msg[msg_type]=${msg_type}&msg[dev_id]=${this.dm_deviceid}&msg[timestamp]=${Number.parseInt(((new Date()).getTime() / 1000).toString())}&msg[content]=${encodeURIComponent(`{"content": "${content}"}`)}&csrf=${this.biliJct}&csrf_token=${this.biliJct}&msg[msg_status]=0&msg[new_face_version]=0&from_firework=0&build=0&mobi_app=web`; - + var headers = { ...this.getHeaders(), "Content-Type": "application/x-www-form-urlencoded" } headers["Host"] = "api.vc.bilibili.com" headers["Origin"] = "https://message.bilibili.com" @@ -557,7 +560,7 @@ class BilibiliClient { // 根据BVID与CID获取视频MP4流地址 // qn: 32=480p 64=720p - async getVideoMP4StreamByBVID(cid: string, bvid: string, qn: string = "32"){ + async getVideoMP4StreamByBVID(cid: string, bvid: string, qn: string = "32") { const url = `https://api.bilibili.com/x/player/wbi/playurl` const response = await this.getRequestWbi(url, { cid, @@ -572,7 +575,7 @@ class BilibiliClient { } // 获取专栏网页HTML(需要过parser才能使用) - async getArticle(cvid: string): Promise{ + async getArticle(cvid: string): Promise { const url = `https://www.bilibili.com/read/${cvid}`; const response = await this.getRequest(url, "text"); diff --git a/src/common/arealist_savedcontent.png b/src/common/arealist_savedcontent.png index 13e5cac591b465d2d325bffac907ac7675cca7b3..9652dd1d3be9335ffff632076d067ad3e1d05722 100644 GIT binary patch literal 725 zcmV;`0xJE9P)Px#1am@3R0s$N2z&@+hyVZre@R3^R9J=8SkZCgAP`+VSAa^O1b1*s1?N<7F2PrU zN>B-&RNzSkz7BjHpbl^cFCU-_LAwfzu`_uy`jCLPk7WhB5ZwU)EC2`K0$_U&8+QSK zGv0CeYCXlk5?yN>o7RK^zOC@)__o4-)DDbsJBPs47;~){s~V>UfDXVOz%g!f9EPNS z4x6-{nRW-@6m3{eLyh1;5X!->2?x*@@*Jxt0N?=vKlbkHzu_9?}kSW0`?2 zdl!Z0eG9lbr*_=l>NJ9r#5s002t}1^@s6I8J)%00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1Y}7>K~#8N?VHJK z6hRopGwvwFcrorry+jdF5nS+~2IG<#@szv&fFSC{ATAgG1Fw3JXb6ZPF&fb%cyK`x zL63@vf(hatl=i)L!Q7ku?R0xxn+how0B4o~&MX6*Sq3<>3~*){;LI|>nPtGV zcl4g;%|+M_t%a7bECEIfg+kz2)l8o{V6`0x+@BzM6U(IO zm1;^zc^R^}1d4j~l0;z}FG7o@nn)tMA%3(G;RSRGO6q9JGi>8&=r!6N`zX82EUdg4 zVH8@U3L1+Q&@epMq_aT+W?`ikgaK%wDrig=K?CrjS!bsRA6e{nD|ND=Sq+`k$tg-_ z8aTdcHR1|}7_nM^Z4r$w6ohxIVM1|k1r4qwDl~~U_ zkr<{`qQY<19Eo8jCDt=>Z47u4J{vkJ;LI|>nPq@8%YanO!u3i!bb?WeYR1Mkr^C8g zXv|fFJJ4lDN9nC%WB$4yb~1;_6Ba+h*~`I}SFwPfVzY&!~f{Aeu^bC4yD6aNorz z75zFF31=o(G)$KDLB(0jQS_s(z*7txSRdd4$1D!UaU6!O>trNc#&zQ0wyi%EA=b^p zKmHq`6S}PmqUn+tMWtnYTF@pM zyo@K{W(C`(n;1!80g)SN8$^#4EL#}t{9$UegWZ(&NV#e zVANSjE5c^+tEgAdDpk<9yo1_cR^VA$;L-sLzasDraJ_W3YGB*D!bXv@>nyCqdG8$9 z-m8Mff=AR&c<@|jgG64GV&!KDZ4k#We#27la4OcE+IBKA&=|7*)otFXhj0^w(002ovPDHLkV1lyoEz|%2 diff --git a/src/components/Article/Article.ux b/src/components/Article/Article.ux index 7f93765..cc350d6 100644 --- a/src/components/Article/Article.ux +++ b/src/components/Article/Article.ux @@ -1,6 +1,6 @@