diff --git a/src/cuboxSetting.ts b/src/cuboxSetting.ts index 581d7b7..d892582 100644 --- a/src/cuboxSetting.ts +++ b/src/cuboxSetting.ts @@ -1,4 +1,4 @@ -import { App, Notice, PluginSettingTab, Setting } from 'obsidian'; +import { App, Notice, PluginSettingTab, Setting, TextComponent } from 'obsidian'; import type CuboxSyncPlugin from './main'; import { FRONT_MATTER_VARIABLES } from './templateProcessor'; import { ALL_FOLDERS_ID, FolderSelectModal } from './modal/folderSelectModal'; @@ -484,7 +484,7 @@ export class CuboxSyncSettingTab extends PluginSettingTab { // 更新 API Key 设置的描述和状态 private updateApiKeySetting(): void { const domain = this.plugin.settings.domain; - const textComponent = this.apiKeySetting.components[0] as any; + const textComponent = this.apiKeySetting.components[0] as TextComponent; if (!domain) { // 未选择域名 diff --git a/src/templateProcessor.ts b/src/templateProcessor.ts index 734287e..5a9cc7f 100644 --- a/src/templateProcessor.ts +++ b/src/templateProcessor.ts @@ -129,7 +129,7 @@ export class TemplateProcessor { continue; } - const value = (article as any)[variable]; + const value = this.getArticleProperty(article, variable); if (value) { frontMatter[alias] = value; } @@ -308,4 +308,9 @@ export class TemplateProcessor { return highlightedContent; } + + // 类型安全的辅助函数 + private getArticleProperty(article: CuboxArticle, propertyName: string): unknown { + return (article as unknown as Record)[propertyName]; + } } \ No newline at end of file