完善浏览器配置库与未保存提示

- 新增 IndexedDB 配置保存、加载、删除及批量导入导出

- 配置列表支持选中、双击加载和悬浮操作提示

- 新增未保存提示设置,默认关闭并持久化到浏览器

- 优化配置管理界面并同步九种语言文案

- 更新开发文档与生产构建产物
This commit is contained in:
tianmo committed 2026-10-23 11:48:21 +08:00
1 parent 8bd9154414
commit 46083c8d2a
30 files changed
+2244 -1293

No files matched your search

+25
View File
@@ -120,6 +120,31 @@ for (const [preset, locale, expected] of presetCases) {
}
}
const projectLibraryBundle = await build({
entryPoints: ['src/editor/projectLibrary.ts'],
bundle: true,
format: 'esm',
platform: 'node',
write: false,
logLevel: 'silent',
})
const projectLibrary = await import(
`data:text/javascript;base64,${Buffer.from(projectLibraryBundle.outputFiles[0].contents).toString('base64')}`
)
if (projectLibrary.normalizeProjectName(' Demo.json ') !== 'Demo') {
throw new Error('Project name normalization must trim spaces and the .json suffix')
}
if (projectLibrary.projectJsonFileName('Demo') !== 'Demo.json') {
throw new Error('Project download file name is incorrect')
}
let invalidProjectNameRejected = false
try {
projectLibrary.normalizeProjectName('bad/name')
} catch {
invalidProjectNameRejected = true
}
if (!invalidProjectNameRejected) throw new Error('Invalid project names must be rejected')
const cases = [
[null, ['zh-CN'], 'zh-CN'],
[null, ['zh-Hant-TW'], 'zh-TW'],