@lightcone-ai/daemon 0.15.21 → 0.15.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/browser-login.js +41 -4
package/package.json
CHANGED
package/src/browser-login.js
CHANGED
|
@@ -106,19 +106,56 @@ export const PLATFORM_CONFIGS = {
|
|
|
106
106
|
},
|
|
107
107
|
async isPageLoggedIn(session) {
|
|
108
108
|
const result = await session.send('Runtime.evaluate', {
|
|
109
|
-
expression: `(() => {
|
|
109
|
+
expression: `(async () => {
|
|
110
110
|
const href = location.href;
|
|
111
111
|
const text = document.body?.innerText || '';
|
|
112
|
+
const token = new URL(href).searchParams.get('token') || '';
|
|
113
|
+
if (!/[?&]token=\\d+/.test(href) || text.includes('登录超时') || text.includes('重新登录')) {
|
|
114
|
+
return {
|
|
115
|
+
href,
|
|
116
|
+
hasToken: Boolean(token),
|
|
117
|
+
loginTimedOut: text.includes('登录超时') || text.includes('重新登录'),
|
|
118
|
+
apiOk: false
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const url = new URL('/cgi-bin/searchbiz', location.origin);
|
|
123
|
+
url.searchParams.set('action', 'search_biz');
|
|
124
|
+
url.searchParams.set('begin', '0');
|
|
125
|
+
url.searchParams.set('count', '1');
|
|
126
|
+
url.searchParams.set('query', '腾讯');
|
|
127
|
+
url.searchParams.set('token', token);
|
|
128
|
+
url.searchParams.set('lang', 'zh_CN');
|
|
129
|
+
url.searchParams.set('f', 'json');
|
|
130
|
+
url.searchParams.set('ajax', '1');
|
|
131
|
+
|
|
132
|
+
let apiOk = false;
|
|
133
|
+
try {
|
|
134
|
+
const response = await fetch(url.toString(), {
|
|
135
|
+
credentials: 'include',
|
|
136
|
+
headers: {
|
|
137
|
+
'Accept': 'application/json, text/javascript, */*; q=0.01',
|
|
138
|
+
'X-Requested-With': 'XMLHttpRequest'
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
const payload = await response.json();
|
|
142
|
+
apiOk = response.ok && Number(payload?.base_resp?.ret ?? 0) === 0 && Array.isArray(payload?.list);
|
|
143
|
+
} catch {
|
|
144
|
+
apiOk = false;
|
|
145
|
+
}
|
|
146
|
+
|
|
112
147
|
return {
|
|
113
148
|
href,
|
|
114
|
-
hasToken:
|
|
115
|
-
loginTimedOut:
|
|
149
|
+
hasToken: Boolean(token),
|
|
150
|
+
loginTimedOut: false,
|
|
151
|
+
apiOk
|
|
116
152
|
};
|
|
117
153
|
})()`,
|
|
118
154
|
returnByValue: true,
|
|
155
|
+
awaitPromise: true,
|
|
119
156
|
}, 5000);
|
|
120
157
|
const value = result?.result?.value ?? {};
|
|
121
|
-
return Boolean(value.hasToken) && !value.loginTimedOut;
|
|
158
|
+
return Boolean(value.hasToken) && !value.loginTimedOut && Boolean(value.apiOk);
|
|
122
159
|
},
|
|
123
160
|
},
|
|
124
161
|
};
|