配置改为数据库存储

将运行时 JSON 配置迁入 app_config_entries,启动时从文件导入并删除源文件。
This commit is contained in:
yml2213
2026-07-10 09:14:12 +08:00
parent ce01c2aa34
commit 3642ad8aec
20 changed files with 577 additions and 251 deletions
@@ -1,8 +1,12 @@
import fs from 'node:fs'
import path from 'node:path'
import { APP_CONFIG_KEYS } from '../../../config/app-config-keys.js'
import { PROJECT_ROOT } from '../../../config/runtime.js'
import { readJsonFile, writeJsonFile } from '../../../utils/json-file-store.js'
import {
hasAppConfigEntry,
readAppConfigEntry,
saveAppConfigEntry,
} from '../../config/app-config-store.js'
import { normalizeCloudtentaclesMatchName } from '../../order/cloudtentacles-match-utils.js'
import type { KuaishouFeifeiProductRule } from '../../../types/runtime-config.js'
@@ -29,23 +33,28 @@ export function getKuaishouFeifeiConfigFilePath() {
}
export function hasKuaishouFeifeiConfigFile() {
return fs.existsSync(KUAISHOU_FEIFEI_CONFIG_FILE_PATH)
return hasAppConfigEntry(
APP_CONFIG_KEYS.kuaishouFeifei,
KUAISHOU_FEIFEI_CONFIG_FILE_PATH,
)
}
export function getKuaishouFeifeiSourceConfig(): KuaishouFeifeiSourceConfig {
return readJsonFile(
KUAISHOU_FEIFEI_CONFIG_FILE_PATH,
createDefaultKuaishouFeifeiSourceConfig,
normalizeKuaishouFeifeiSourceConfig,
)
return readAppConfigEntry({
configKey: APP_CONFIG_KEYS.kuaishouFeifei,
legacyFilePath: KUAISHOU_FEIFEI_CONFIG_FILE_PATH,
fallback: createDefaultKuaishouFeifeiSourceConfig,
normalize: normalizeKuaishouFeifeiSourceConfig,
})
}
export function saveKuaishouFeifeiSourceConfig(rawValue: unknown): KuaishouFeifeiSourceConfig {
return writeJsonFile(
KUAISHOU_FEIFEI_CONFIG_FILE_PATH,
rawValue,
normalizeKuaishouFeifeiSourceConfig,
)
export function saveKuaishouFeifeiSourceConfig(rawValue: unknown): Promise<KuaishouFeifeiSourceConfig> {
return saveAppConfigEntry({
configKey: APP_CONFIG_KEYS.kuaishouFeifei,
legacyFilePath: KUAISHOU_FEIFEI_CONFIG_FILE_PATH,
value: rawValue,
normalize: normalizeKuaishouFeifeiSourceConfig,
})
}
export function normalizeKuaishouFeifeiSourceConfig(rawValue: unknown): KuaishouFeifeiSourceConfig {