fix(systemconfig): 保留发布选项版本避免开关重置

This commit is contained in:
yml2213
2026-11-05 12:02:53 +08:00
parent 0d558bdce0
commit 16f87d4123
2 changed files with 11 additions and 0 deletions
@@ -3,6 +3,14 @@ import { describe, expect, it } from 'vitest'
import { mergeListingPublishOptions } from './listingOptions'
describe('mergeListingPublishOptions', () => {
it('保留配置结构版本,避免保存时触发旧版迁移', () => {
const options = mergeListingPublishOptions({
schema_version: 2,
})
expect(options.schema_version).toBe(2)
})
it('读取后台配置的押金说明', () => {
const options = mergeListingPublishOptions({
price_config: {
@@ -102,6 +102,7 @@ export interface ListingPublishAgreements {
}
export interface ListingPublishOptions {
schema_version: number
/** 发布页是否展示「是否解锁德穆兰」选项 */
unlock_demulan_enabled: boolean
next_season_pass_enabled: boolean
@@ -147,6 +148,7 @@ const defaultDepositTooltip = `1. 系统推荐押金(基础覆盖)
若您在设置足额押金后仍感不放心,可选择购买平台提供的《全额包赔服务》。一旦发生封号损失,将获得账号市场价值的全额赔付,让您的出租过程后顾无忧。`
export const emptyListingPublishOptions: ListingPublishOptions = {
schema_version: 2,
unlock_demulan_enabled: false,
next_season_pass_enabled: false,
server_options: [],
@@ -240,6 +242,7 @@ export function mergeListingPublishOptions(
options?: Partial<ListingPublishOptions>
): ListingPublishOptions {
return {
schema_version: readPositiveInteger(options?.schema_version, 2),
unlock_demulan_enabled: options?.unlock_demulan_enabled === true,
next_season_pass_enabled: options?.next_season_pass_enabled === true,
server_options: normalizeStringList(options?.server_options),