|
|
90402c4a17
|
security: 每人一把口令(口令即身份) + 随机会话token + 无配置拒绝启动 + 爆破节流
- STORY_WEB_PASSWORD(默认story) 废弃 → STORY_WEB_USERS=名字1:口令1,名字2:口令2;
未配置/口令<8位/口令或用户名重复 → 启动即退出,杜绝弱默认口令裸奔
- cookie 不再存口令原文:登录发 secrets.token_urlsafe(32) 随机token,
会话存 SQLite sessions 表(30天);登出删token;从 USERS 移除某人=吊销其全部会话
- updated_by 改由服务端按会话身份填写,前端自报 by 不再可信;登录框去掉昵称字段
- 登录失败全局递增节流(最多sleep 5s),口令比较用 secrets.compare_digest
- Dockerfile/compose 移除一切口令默认值;compose 未设 STORY_WEB_USERS 直接报错
- 顺手修 playtest.js 走位/动画/out_ref 行未转义的存储型XSS(esc补齐)
|
2026-06-10 17:34:50 +08:00 |
|
|
|
2fa4c34bb1
|
节点视觉重构 + 右栏选项折叠 + 撤销按钮/快捷键
- kind 名做成顶边框标牌(legend,边框在文字处断开)
- 去掉「开头」字(仅绿框)、去掉选择标题的项数
- 多出口节点每出口一行严格对齐右侧黄点
- 开头节点改为视口垂直居中(左侧)
- 选择节点右栏选项改为可折叠,点开编辑单个
- 撤销/重做按钮(不可用时灰)+ R自动整理 + Enter加后继
|
2026-06-08 19:17:38 +08:00 |
|
|
|
2b66374e90
|
多出口节点重设计 + 全局错误提示
- 选择/随机/战斗节点改为每出口一行、右对齐、行高25px对齐右侧端口
- 去掉重复的选项合并预览,顶部改为紧凑角标
- 未捕获错误/操作失败统一 toast 提示,便于同事发现反馈
|
2026-06-08 18:53:48 +08:00 |
|
|
|
188bfbbf7c
|
节点编辑三项增强
- 删除中间节点自动缝合:线性节点删除后把前驱接到其后继
- 撤销/重做:Ctrl+Z / Ctrl+Y(含连线、删除、移动、改字段,防抖快照)
- 开头节点(nodes[0]):绿色边框+「▶开头」标识,选中事件时自动定位到它
|
2026-06-08 18:39:04 +08:00 |
|
|
|
2de308c1e1
|
编辑器体验改进
- 导入文件后直接关闭弹窗 + toast 提示导入数量
- 自动布局改为按出口顺序的子树居中:选项1/2/3 分支顺序正确且对齐
|
2026-06-08 18:25:07 +08:00 |
|
|
|
4a681dfe91
|
节点编辑器改用 Drawflow 拖拽连线版
- 中间画布换成 Drawflow:拖动节点摆位、从出口圆点拉线到目标=建跳转
- 出口端口动态映射 IR:线性next/choice选项/random分支/fight胜败
- 连线/拖动实时写回 IR;节点坐标持久化到 ir._layout(编译忽略)
- 右栏表单保留并双向联动;改跳转目标触发画布重渲
- 工具栏:自动整理、加后继;防误删(右栏输入时 Del 不删节点)
- 移除旧 tree.js
|
2026-06-08 17:27:45 +08:00 |
|
|
|
f5669dc01d
|
init: 剧情事件协作 Web 编辑器独立仓(从 SGame/tools/event_authoring 拆出)
|
2026-06-08 16:50:27 +08:00 |
|