feat(user-edit): 用户编辑页新增打开配置文件夹的快捷入口 - #755
TianHengZhuang wants to merge 1 commit into
Conversation
编辑已有用户时可直接打开该用户的配置目录,省去手动在文件管理器中逐层查找。
审查者指南本 PR 为用户编辑页增加配置文件夹快捷入口:后端校验用户并按需创建配置目录、返回绝对路径,前端通过生成的 API 客户端调用接口并使用 Electron 打开目录,同时覆盖三个游戏编辑页、多语言文案和 changelog。 打开用户配置文件夹的时序图sequenceDiagram
participant User
participant UserEditHeader
participant useUserApi
participant Backend as BackendAPI
participant Config
participant Electron
User->>UserEditHeader: click openConfigFolder
UserEditHeader->>useUserApi: openUserConfigFolder(scriptId, userId)
useUserApi->>Backend: POST /api/scripts/user/config-dir
Backend->>Config: get_user_config_dir(scriptId, userId)
Config->>Config: validate user and mkdir config directory
Config-->>Backend: absolute config path
Backend-->>useUserApi: UserConfigDirOut
useUserApi->>Electron: openFile(path)
Electron-->>User: open config directory
条件显示配置文件夹快捷入口的流程图flowchart LR
EditUser["Edit existing user"] --> Header["UserEditHeader"]
NewUser["Create new user"] --> Header
Header --> Existing{userId provided?}
Existing -->|Yes| Button["Show openConfigFolder button"]
Existing -->|No| Hidden["Hide shortcut"]
Button --> Open["openUserConfigFolder"]
Open --> FileManager["Electron opens config directory"]
文件级变更
可能关联的问题
提示和命令与 Sourcery 交互
自定义使用体验访问你的控制面板以:
获取帮助Original review guide in EnglishReviewer's Guide本 PR 为用户编辑页增加配置文件夹快捷入口:后端校验用户并按需创建配置目录、返回绝对路径,前端通过生成的 API 客户端调用接口并使用 Electron 打开目录,同时覆盖三个游戏编辑页、多语言文案和 changelog。 Sequence diagram for opening a user config foldersequenceDiagram
participant User
participant UserEditHeader
participant useUserApi
participant Backend as BackendAPI
participant Config
participant Electron
User->>UserEditHeader: click openConfigFolder
UserEditHeader->>useUserApi: openUserConfigFolder(scriptId, userId)
useUserApi->>Backend: POST /api/scripts/user/config-dir
Backend->>Config: get_user_config_dir(scriptId, userId)
Config->>Config: validate user and mkdir config directory
Config-->>Backend: absolute config path
Backend-->>useUserApi: UserConfigDirOut
useUserApi->>Electron: openFile(path)
Electron-->>User: open config directory
Flow diagram for conditional config-folder shortcutflowchart LR
EditUser["Edit existing user"] --> Header["UserEditHeader"]
NewUser["Create new user"] --> Header
Header --> Existing{userId provided?}
Existing -->|Yes| Button["Show openConfigFolder button"]
Existing -->|No| Hidden["Hide shortcut"]
Button --> Open["openUserConfigFolder"]
Open --> FileManager["Electron opens config directory"]
File-Level Changes
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
嘿——我已经审阅了你的更改,看起来很棒!
Sourcery 评估
需要人工审阅。 该端点会创建用户配置目录,并返回其绝对文件系统路径,供 Electron 打开。如果查找或路径处理有误,可能会打开或暴露错误的本地配置目录;此外,回滚不会删除已经创建的目录,不过最终状态是有限的,也可以手动修复。
Original comment in English
Hey - I've reviewed your changes and they look great!
Sourcery assessment
Needs a human reviewer. The endpoint creates a user configuration directory and returns its absolute filesystem path for Electron to open. If the lookup or path handling is wrong, it could open or expose the wrong local configuration directory, and reverting will not remove directories already created, though the resulting state is bounded and manually repairable.
HarcoChen
left a comment
There was a problem hiding this comment.
新代码现在是 await window.electronAPI.openFile(response.path) 后直接 return true。 但 MAS 现有 open-file IPC 的设计是:shell.openPath() 打不开时不会 reject,而是正常 resolve { success: false, error };
当前实现遇到目录无法打开、权限/系统文件管理器异常等情况时,会静默认为成功,用户点击按钮可能什么都没发生。仓库现有历史记录页的正确范例:拿到 result 后检查 result.success,失败则展示 result.error。
|
另外能否为所有的用户编辑页面都加入这个? |
关联 Issue
Closes #185
改动内容
用户编辑页标题栏新增「配置文件夹」快捷入口:编辑已有用户时,可一键在文件管理器中打开该用户的配置目录,不必再手动逐层查找。
POST /api/scripts/user/config-dir,按脚本与用户定位配置目录,目录不存在时创建,返回绝对路径。UserEditHeader增加按钮(仅编辑已有用户时显示),绝区零 / 崩坏:星穹铁道 / 鸣潮三个用户编辑页均通过extra-actions插槽接入,并补齐 zh-CN / en-US / ja-JP 文案。yarn openapi依后端 OpenAPI 重新生成,仅包含本功能相关文件。changelog.d/user-config-dir-shortcut.feat.md(一个 PR 一个碎片)。本地验证
python -m pytest tests --collect-only -q:1083 tests collected,退出码 0python -m pytest tests/api -q:18 passedfrontend:yarn typecheck(vue-tsc --noEmit)通过;yarn lint(oxlint)0 warnings / 0 errorsvitest进程无输出、无法启动,未取得结果(未进一步定位,与本改动无关的证据暂无)。Sourcery 总结
为用户编辑页面添加快捷方式,用于打开现有用户的配置文件夹。
新功能:
增强:
杂项:
Original summary in English
Summary by Sourcery
Add a user edit-page shortcut for opening an existing user’s configuration folder.
New Features:
Enhancements:
Chores: