路由页一轮交互细化:草稿预览、预选、若干修正

上半部分收敛成一条规则:草稿和已保存一致时显示内核现状;不一致时显示
按草稿保存后的样子,将移除的画删除线、新增的虚线描边,即将被移除的当前
选中用危险色警示。点击语义只看卡片:现在就存在的成员点了立刻生效,保存
后才加入的点了是预选,保存成功后再作为运行时动作选上。预览的集合运算在
web/member-preview.ts,组件里只留接线。

其余:订阅选择器重写成可搜索多选(原平铺标签订阅一多就是一面墙);删除
入站换成页面内确认对话框;列表右列解析到最终出口并标注链式;「高级配置」
更名「配置」;表单重置改按内容比较(按引用的话任何一次运行时刷新都会冲掉
未保存的草稿,watch 传返回数组的 getter 同样触发这个问题);保存后先刷
运行时再换配置数据,避免卡片区闪空。
This commit is contained in:
2026-08-11 14:39:47 +08:00
parent 6bedce215c
commit a4d08892f7
10 changed files with 658 additions and 132 deletions
+3 -1
View File
@@ -28,9 +28,11 @@ async function load() {
refreshing.value = true
loadError.value = ''
try {
// 先刷运行时再换配置数据。反过来的话,保存后界面已经按新配置渲染,
// 而新建的组在运行时里还查不到,成员卡片会先闪空一下再出现。
await reloadRuntime()
snapshot.value = await api.readConfig()
needsToken.value = false
await reloadRuntime()
} catch (error) {
if (error instanceof ApiError && error.unauthorized) {
clearToken()