feat(Tab设置+UI主题): 迭代09 Tab设置统一管理 + 迭代10 UI适配DSH主题
迭代09 (R-011): Tab 设置统一管理所有会话 tab
- settings.tabs 布尔对象 → 统一有序数组 (kind: builtin|strategy)
- 旧配置 schema union 兼容 + 读取归一化无感迁移
- strategies 收窄为 {id,name},策略行 name join 自动跟随改名
- 策略增删联动 tabs 条目 (add 追加末尾 / remove 联动删除)
- 客户端统一注册读 tabs 数组,内置与策略可任意混排
- 设置页 Tab 设置子 tab:混排表格 + 拖动手柄 + 显隐开关 + 落点立即持久化
- 策略分组瘦身:仅 新增/重命名/删除 + 指引提示
- 回归测试: test-r011-tabs (23) + test-r011-api (12)
迭代10 (R-012): UI 适配 DSH 浅色/深色/跟随系统主题
- 10 个视图文件 141 处硬编码色 → var(--dsw-alias-*, fallback)
- 语义映射: bg-layer/label/border/state/button-contrast 等
- 淡底 color-mix 自适应;遮罩 bg-mask-1;阴影 shadow-lv3
This commit is contained in:
@@ -2,15 +2,15 @@
|
||||
* 服务端 API:策略 / 份额 / tabs 域(从 api.js 拆分,2026-08-31)
|
||||
*
|
||||
* 端点:
|
||||
* strategies / strategies/update / strategies/add / strategies/remove / strategies/move
|
||||
* strategies / strategies/update / strategies/add / strategies/remove
|
||||
* strategy-positions / unallocated / summary
|
||||
* add-shares / move-all-shares / remove-shares
|
||||
* tabs / tabs/update
|
||||
*/
|
||||
|
||||
import {
|
||||
getStrategies, updateStrategies, addStrategy, removeStrategy, moveStrategy,
|
||||
getTabConfig, updateTabConfig,
|
||||
getStrategies, updateStrategies, addStrategy, removeStrategy,
|
||||
getTabs, updateTabs,
|
||||
} from '../settings.js';
|
||||
|
||||
/** 策略/份额/tabs 端点方法表 */
|
||||
@@ -19,7 +19,6 @@ export const STRATEGY_METHODS = new Set([
|
||||
'strategies/update',
|
||||
'strategies/add',
|
||||
'strategies/remove',
|
||||
'strategies/move',
|
||||
'strategy-positions',
|
||||
'unallocated',
|
||||
'summary',
|
||||
@@ -50,13 +49,11 @@ export async function handleStrategy(method, args, { manager, settings }) {
|
||||
await removeStrategy(settings, args.strategyId);
|
||||
await manager.clearStrategyShares(args.strategyId);
|
||||
return getStrategies(settings);
|
||||
case 'strategies/move':
|
||||
return await moveStrategy(settings, args.strategyId, args.dir);
|
||||
case 'tabs':
|
||||
return getTabConfig(settings);
|
||||
return getTabs(settings);
|
||||
case 'tabs/update':
|
||||
await updateTabConfig(settings, args.tabs);
|
||||
return getTabConfig(settings);
|
||||
await updateTabs(settings, args.tabs);
|
||||
return getTabs(settings);
|
||||
case 'strategy-positions':
|
||||
return await manager.getStrategyPositions(args.strategyId);
|
||||
case 'unallocated':
|
||||
|
||||
Reference in New Issue
Block a user