Spaces:
Running
Running
神代綺凛
commited on
Commit
•
36e431c
1
Parent(s):
76d16eb
feat: get buvid3 from api
Browse files- server/app.ts +15 -6
server/app.ts
CHANGED
@@ -159,16 +159,20 @@ class LoginQr {
|
|
159 |
|
160 |
if (result.code !== 0) return result;
|
161 |
|
162 |
-
|
163 |
-
|
164 |
-
|
|
|
|
|
165 |
|
166 |
return result;
|
167 |
}
|
168 |
|
169 |
-
private async
|
170 |
-
const r = await fetch('https://
|
171 |
-
|
|
|
|
|
172 |
}
|
173 |
}
|
174 |
|
@@ -179,6 +183,11 @@ class Cookie {
|
|
179 |
if (cookies) this.add(cookies);
|
180 |
}
|
181 |
|
|
|
|
|
|
|
|
|
|
|
182 |
public add(cookies: string[]) {
|
183 |
cookies.forEach(str => {
|
184 |
const [nv] = str.split(';');
|
|
|
159 |
|
160 |
if (result.code !== 0) return result;
|
161 |
|
162 |
+
result.cookie = new Cookie()
|
163 |
+
.set('buvid3', await this.getBuvid3())
|
164 |
+
.add(r0.headers.getSetCookie())
|
165 |
+
.del('i-wanna-go-back')
|
166 |
+
.toString();
|
167 |
|
168 |
return result;
|
169 |
}
|
170 |
|
171 |
+
private async getBuvid3() {
|
172 |
+
const r = await fetch('https://api.bilibili.com/x/frontend/finger/spi', { headers: this.header });
|
173 |
+
const { code, message, data } = await r.json();
|
174 |
+
if (code !== 0) throw new Error(message);
|
175 |
+
return data.b_3;
|
176 |
}
|
177 |
}
|
178 |
|
|
|
183 |
if (cookies) this.add(cookies);
|
184 |
}
|
185 |
|
186 |
+
public set(name: string, value: string) {
|
187 |
+
this.cookie.set(name, value);
|
188 |
+
return this;
|
189 |
+
}
|
190 |
+
|
191 |
public add(cookies: string[]) {
|
192 |
cookies.forEach(str => {
|
193 |
const [nv] = str.split(';');
|