
















@@ -62,16 +62,6 @@ function getCandidateSessionPaths(accountId: string): string[] {
6262return primaryPath === legacyPath ? [primaryPath] : [primaryPath, legacyPath];
6363}
646465-function isSessionFileName(file: string): boolean {
66-return file.startsWith("session-") && file.endsWith(".json");
67-}
68-69-function readSessionStateFile(file: string): { filePath: string; state: SessionState } {
70-const filePath = path.join(getSessionDir(), file);
71-const data = fs.readFileSync(filePath, "utf-8");
72-return { filePath, state: JSON.parse(data) as SessionState };
73-}
74-7565/** Load a saved session, rejecting expired or mismatched appId entries. */
7666export function loadSession(accountId: string, expectedAppId?: string): SessionState | null {
7767try {
@@ -212,65 +202,3 @@ export function clearSession(accountId: string): void {
212202);
213203}
214204}
215-216-/** Load all saved sessions from disk. */
217-export function getAllSessions(): SessionState[] {
218-const sessions = new Map<string, SessionState>();
219-try {
220-const sessionDir = getSessionDir();
221-if (!fs.existsSync(sessionDir)) {
222-return [];
223-}
224-const files = fs.readdirSync(sessionDir);
225-226-for (const file of files) {
227-if (isSessionFileName(file)) {
228-try {
229-const { state } = readSessionStateFile(file);
230-if (typeof state.accountId !== "string" || !state.accountId) {
231-continue;
232-}
233-const existing = sessions.get(state.accountId);
234-if (!existing || (state.savedAt ?? 0) >= (existing.savedAt ?? 0)) {
235-sessions.set(state.accountId, state);
236-}
237-} catch {}
238-}
239-}
240-} catch {}
241-return [...sessions.values()];
242-}
243-244-/** Remove expired session files from disk. */
245-export function cleanupExpiredSessions(): number {
246-let cleaned = 0;
247-try {
248-const sessionDir = getSessionDir();
249-if (!fs.existsSync(sessionDir)) {
250-return 0;
251-}
252-const now = Date.now();
253-const files = fs.readdirSync(sessionDir);
254-255-for (const file of files) {
256-if (isSessionFileName(file)) {
257-const filePath = path.join(sessionDir, file);
258-try {
259-const { state } = readSessionStateFile(file);
260-261-if (now - state.savedAt > SESSION_EXPIRE_TIME) {
262-fs.unlinkSync(filePath);
263-cleaned++;
264-debugLog(`[session-store] Cleaned expired session: ${file}`);
265-}
266-} catch {
267-try {
268-fs.unlinkSync(filePath);
269-cleaned++;
270-} catch {}
271-}
272-}
273-}
274-} catch {}
275-return cleaned;
276-}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。