feat: 一键安装支持自选游戏目录
Axolotl desktop CI / guardrails (push) Has been cancelled
Axolotl desktop CI / desktop (macos-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (ubuntu-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (windows-latest) (push) Has been cancelled
Axolotl desktop CI / website (push) Has been cancelled
Repository checks / typos (push) Has been cancelled
Repository checks / tombi (push) Has been cancelled
Rust checks / shear (push) Has been cancelled
Sync source to CNB / Sync Git ref (push) Has been cancelled

StarLight 实例一键安装此前固定落到启动器默认目录,无法选择游戏数据位置。
现复用创建流程的外部游戏目录能力:点击一键安装后弹出目录选择框,
只允许修改游戏目录,其余参数仍由服务器整合包决定。

- hosted::create 接受 game_dir_root,拼为 <root>/<包名> 作为 game_dir_override
  (刻意避开 versions/ 布局,该结构被外部直链实例检测占用)
- 新增顶层命令 get_launcher_root_dir,作为弹窗默认值(可执行文件所在目录)
- 新增 HostedGameDirModal 弹窗:只读路径框 + 浏览 + 默认位置 + 安装预览
- 补齐 en-US / zh-CN / zh-TW 三语文案

hosted_create 增加 game_dir_root 参数,前端 hostedCreate/install 同步透传。
This commit is contained in:
Xiao-no-love committed 2026-09-18 13:04:28 +08:00
1 parent 51fb0c30f7
commit 5006f432dc
10 files changed
+252 -8

No files matched your search

@@ -23,7 +23,7 @@ export function useHostedCreation() {
completed.value = false
}
}
async function install() {
async function install(gameDirRoot?: string | null) {
if (installing.value) return
installing.value = true
installError.value = ''
@@ -40,7 +40,7 @@ export function useHostedCreation() {
}
}
if (completed.value) return createdInstance.value
createdInstance.value ??= await hostedCreate()
createdInstance.value ??= await hostedCreate(gameDirRoot)
const instanceId = createdInstance.value
await hostedSync(instanceId)
if (attempt !== generation) return