自动建议、任务添加与控制台日志验证
日期:2026-09-27。
交互
服务器请求日志移除了手工拼接的 UTC 时间,保留 ServerInteractive 自动提供的时间与日志等级。请求记录的 JSON 时间字段仍保留。
管理员与玩家端共用原生 WinUI AutoSuggestBox:装备表单中的技能、部件、源力石等已有选项,以及玩家、任务、库存、物品目录、紫卡、货币、检测到的游戏路径、运行时目标和设置搜索都使用候选输入。姓名、邮件正文、新账号资料、密码等自由输入保持原有控件;主题和简单操作菜单仍使用选择控件。
候选项支持名称与内部路径匹配,保留实际对象标识;同名项不会自动误选。未知输入不能提交到需要指定选项的字段,有效的空值选项(如自动设置)可以正常选择。远程查询有延迟合并与取消处理,旧响应不会覆盖新查询。库存和目录的搜索自动更新列表,回车或搜索图标立即查询,清空后恢复列表;新查询回到第一页。切换账号、分类或离开页面会取消待处理查询。
系列任务新增「添加缺失任务…」弹窗,候选仅包含账号未持有的任务。添加后显示该任务,可进一步编辑进度;不会完成新任务、覆盖已有任务或重复添加。原有批量补齐入口保留。玩家需要同时具备「添加缺失系列任务」与「添加物品」权限;任务进度编辑和批量操作仍独立授权。
原生输入事件随控件加载和卸载订阅、取消订阅。界面测试在显示窗口中等待原生模板与展开动画完成,通过真实 TextBox、查询与保存按钮触发交互;多宽度构造测试单独在隐藏窗口执行。
验证
已通过的 Release 原生桌面报告:artifacts/desktop-smoke-8b076c589a524d16954979c42405dde1/。
- 管理员 29 组、玩家 34 组通过;只读玩家检查通过。
- Release 组件测试:服务器 261 项、客户端 42 项全部通过,报告位于
artifacts/test-results/。 - 两端实际打开任务添加弹窗,通过候选输入选择任务、点击添加、从隔离 API 回读;核对已有任务进度未变化。
- 列表实测名称搜索、完整路径查询、无结果、清空恢复;技能实测无效值拦截、候选选择、保存和回读。
- 自动建议实测同名项、合法空值、无效输入、异步旧响应、切换上下文、失败提示及实际目录 API。
- 只读玩家 47 个分类隐藏未授权编辑与添加入口;新任务接口测试覆盖权限撤销、物品授权限制、重复项、过期版本和无效路径。
- 控制台实测请求行仅有一组框架时间。6 MB 库存读取期间仍有 UI 调度心跳,预览保持分页。
复现:pwsh -File scripts/Smoke-Desktop.ps1 -Configuration Release -VerifyDialogs。测试仅使用临时端口、隔离账号和数据目录,不启动游戏。
发布入口:pwsh -File scripts/Publish.ps1 -VerifyDialogs。对最终可执行文件运行 HTTP、隐藏多宽度桌面、可见原生桌面、只读权限及安装器自检后才更新常用启动入口。最终报告位于包内 validation/。
发布和独立桌面验证为每个项目使用独立中间目录,避免同时构建时共享 XAML 生成文件。发布报告按本次脚本返回的目录收集,保留隐藏布局和原生交互两组报告,不会误用其他验证任务的最新目录。
最终可执行文件验证:artifacts/package-20260927-autosuggest-quests-r2/。HTTP 29 项、隐藏布局(管理端 27 组 / 玩家端 32 组)、原生交互(管理端 30 组 / 玩家端 35 组)、两轮只读玩家和 NativeAOT 安装器自检全部通过。原生交互报告来自 artifacts/desktop-smoke-ba9a9354103f4eb5a3686a0664352f65/,发布包内另存对应报告。首次发布尝试未通过全部检查,没有更新常用启动入口;应使用本次 -r2 包。
此记录不代表全部 OpenWF 运行时或真实游戏内分支已经验收。