Merge branch 'main' into dev
This commit is contained in:
@@ -69,7 +69,9 @@ export function createDefaultRuntimeConfig(projectRoot: string): RuntimeConfig {
|
||||
|
||||
admin: {
|
||||
sessionSecret: '',
|
||||
sessionTtlHours: 12,
|
||||
// 后台:24h 空闲过期,登录后最多 7 天必须重新登录。
|
||||
sessionIdleTtlHours: 24,
|
||||
sessionAbsoluteTtlHours: 168,
|
||||
defaultUsers: [],
|
||||
},
|
||||
|
||||
@@ -124,6 +126,9 @@ export function createDefaultRuntimeConfig(projectRoot: string): RuntimeConfig {
|
||||
dailyLimit: 10,
|
||||
},
|
||||
orderTimelineVisible: false,
|
||||
// 打手:7 天空闲过期,登录后最多 30 天必须重新登录。
|
||||
sessionIdleTtlHours: 168,
|
||||
sessionAbsoluteTtlHours: 720,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +129,8 @@ function createRuntimeConfig(): RuntimeConfig {
|
||||
},
|
||||
admin: {
|
||||
sessionSecret: '',
|
||||
sessionTtlHours: 12,
|
||||
sessionIdleTtlHours: 24,
|
||||
sessionAbsoluteTtlHours: 168,
|
||||
defaultUsers: [],
|
||||
},
|
||||
platforms: {
|
||||
@@ -178,6 +179,8 @@ function createRuntimeConfig(): RuntimeConfig {
|
||||
dailyLimit: 10,
|
||||
},
|
||||
orderTimelineVisible: false,
|
||||
sessionIdleTtlHours: 168,
|
||||
sessionAbsoluteTtlHours: 720,
|
||||
},
|
||||
cors: {
|
||||
allowedOrigins: ['*'],
|
||||
|
||||
@@ -57,7 +57,12 @@ export const ENV_OVERRIDES: readonly EnvOverride[] = [
|
||||
stringEnv('STORAGE_OSS_REGION', ['storage', 'oss', 'region']),
|
||||
integerEnv('CLAIM_TOKEN_TTL_HOURS', ['orders', 'tokenTtlHours']),
|
||||
stringEnv('ADMIN_SESSION_SECRET', ['admin', 'sessionSecret']),
|
||||
integerEnv('ADMIN_SESSION_TTL_HOURS', ['admin', 'sessionTtlHours']),
|
||||
// 兼容旧变量:固定 TTL 时代按“绝对上限”理解,空闲窗口仍用新默认值并被绝对上限钳制。
|
||||
integerEnv('ADMIN_SESSION_TTL_HOURS', ['admin', 'sessionAbsoluteTtlHours']),
|
||||
integerEnv('ADMIN_SESSION_IDLE_TTL_HOURS', ['admin', 'sessionIdleTtlHours']),
|
||||
integerEnv('ADMIN_SESSION_ABSOLUTE_TTL_HOURS', ['admin', 'sessionAbsoluteTtlHours']),
|
||||
integerEnv('WORKER_SESSION_IDLE_TTL_HOURS', ['worker', 'sessionIdleTtlHours']),
|
||||
integerEnv('WORKER_SESSION_ABSOLUTE_TTL_HOURS', ['worker', 'sessionAbsoluteTtlHours']),
|
||||
adminUsersJsonEnv('ADMIN_DEFAULT_USERS_JSON', ['admin', 'defaultUsers']),
|
||||
stringEnv('KAQUAN91_USER_ID', ['platforms', 'ninetyone', 'userId']),
|
||||
stringEnv('KAQUAN91_SECRET', ['platforms', 'ninetyone', 'secret']),
|
||||
|
||||
@@ -193,7 +193,8 @@ function createRuntimeConfig(overrides: Record<string, unknown> = {}): RuntimeCo
|
||||
},
|
||||
admin: {
|
||||
sessionSecret: '0123456789abcdef0123456789abcdef',
|
||||
sessionTtlHours: 12,
|
||||
sessionIdleTtlHours: 24,
|
||||
sessionAbsoluteTtlHours: 168,
|
||||
defaultUsers: [
|
||||
{
|
||||
username: 'admin',
|
||||
@@ -248,6 +249,8 @@ function createRuntimeConfig(overrides: Record<string, unknown> = {}): RuntimeCo
|
||||
dailyLimit: 10,
|
||||
},
|
||||
orderTimelineVisible: false,
|
||||
sessionIdleTtlHours: 168,
|
||||
sessionAbsoluteTtlHours: 720,
|
||||
},
|
||||
},
|
||||
overrides,
|
||||
|
||||
@@ -100,7 +100,16 @@ export function validateRuntimeConfig(
|
||||
})
|
||||
}
|
||||
requireInteger(issues, 'orders.tokenTtlHours', config.orders?.tokenTtlHours, { min: 0 })
|
||||
requireInteger(issues, 'admin.sessionTtlHours', config.admin?.sessionTtlHours, { min: 1 })
|
||||
requireInteger(issues, 'admin.sessionIdleTtlHours', config.admin?.sessionIdleTtlHours, { min: 1 })
|
||||
requireInteger(issues, 'admin.sessionAbsoluteTtlHours', config.admin?.sessionAbsoluteTtlHours, {
|
||||
min: 1,
|
||||
})
|
||||
requireInteger(issues, 'worker.sessionIdleTtlHours', config.worker?.sessionIdleTtlHours, {
|
||||
min: 1,
|
||||
})
|
||||
requireInteger(issues, 'worker.sessionAbsoluteTtlHours', config.worker?.sessionAbsoluteTtlHours, {
|
||||
min: 1,
|
||||
})
|
||||
|
||||
validateOptionalHttpUrl(issues, 'orders.claimBaseUrl', config.orders?.claimBaseUrl)
|
||||
validateOptionalStorageEndpoint(issues, 'storage.endpoint', config.storage?.endpoint)
|
||||
|
||||
Reference in New Issue
Block a user