From d0eb167245ff4f59a06434a37f1e9936b8d293c1 Mon Sep 17 00:00:00 2001 From: Jerryplusy Date: Fri, 26 Sep 2025 13:32:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:token=E8=BF=87=E6=9C=9F=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/openlist/openlist.service.ts | 17 +++++++++++++++++ src/modules/cdn/cdn.service.ts | 6 ++++++ 2 files changed, 23 insertions(+) diff --git a/src/core/openlist/openlist.service.ts b/src/core/openlist/openlist.service.ts index 7cc24f0..59c743b 100644 --- a/src/core/openlist/openlist.service.ts +++ b/src/core/openlist/openlist.service.ts @@ -37,6 +37,23 @@ export class OpenListService { } } + public async updateToken(): Promise { + try { + const username = this.configService.get('OPENLIST_API_BASE_USERNAME'); + const password = this.configService.get('OPENLIST_API_BASE_PASSWORD'); + if (username && password) { + this.token = await OpenListUtils.getToken(username, password); + return true; + } else { + this.logger.warn('请先配置用户名和密码..'); + return false; + } + } catch (e) { + this.logger.error(`更新token失败: ${e.message}`); + return false; + } + } + /** * 获取OpenList的JWT Token,如果Token已过期,则重新获取 * @param username 用户名 diff --git a/src/modules/cdn/cdn.service.ts b/src/modules/cdn/cdn.service.ts index 4f61686..5a42bb5 100644 --- a/src/modules/cdn/cdn.service.ts +++ b/src/modules/cdn/cdn.service.ts @@ -50,6 +50,12 @@ export class CdnService { ); } else { this.logger.error(`晶灵cdn检查更新失败: ${remoteFiles.code}`); + if (remoteFiles.code === 401) { + this.logger.log('尝试更新token..'); + if (await this.openListService.updateToken()) { + this.logger.log('更新token成功..'); + } + } } } catch (error) { this.logger.error(`晶灵cdn检查更新失败: ${error}`);