From c2c1a4c368e14a8dbe7c0649305f6e2fa0e03b78 Mon Sep 17 00:00:00 2001 From: Purp1e <47248616+Purple-CSGO@users.noreply.github.com> Date: Fri, 21 Mar 2025 02:42:49 +0800 Subject: [PATCH] [feat] global watch dir and set better check logic todo: first time check failed should let user manually click --- bun.lockb | Bin 373683 -> 374115 bytes package.json | 1 + src/app/(main)/preference/path/page.tsx | 8 +-- src/app/layout.tsx | 15 +++++- src/app/prepare/page.tsx | 10 ++-- src/components/cstb/FastLaunch.tsx | 4 +- src/components/cstb/Prepare.tsx | 68 +++++++++++++----------- src/store/index.ts | 1 - src/store/steam.ts | 52 ++++++++++++------ 9 files changed, 99 insertions(+), 60 deletions(-) diff --git a/bun.lockb b/bun.lockb index dd2e89209bcc2ea907f05b61dba23bdf0708ee9c..61fa940ed34e6a4387d86973a2ba7d4a759eff7b 100755 GIT binary patch delta 77916 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

)EJ4{h2%wv3U-FNRs)H=4Xa(gU3$v2G}Q-~ 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 diff --git a/package.json b/package.json index 618a2de..6d6ad7f 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "@tauri-apps/plugin-store": "^2.2.0", "@tauri-store/valtio": "^2.0.0", "@types/throttle-debounce": "^5.0.2", + "@uidotdev/usehooks": "^2.4.1", "framer-motion": "^12.5.0", "jotai": "^2.12.2", "next": "15.2.2", diff --git a/src/app/(main)/preference/path/page.tsx b/src/app/(main)/preference/path/page.tsx index 299a1dc..1521c07 100644 --- a/src/app/(main)/preference/path/page.tsx +++ b/src/app/(main)/preference/path/page.tsx @@ -6,10 +6,10 @@ export default function Page() { return (

-

Steam路径:{steam.state.dir}

-

游戏路径:{steam.state.csDir}

-

Steam路径有效:{steam.state.isDirValid ? "是" : "否"}

-

游戏路径有效:{steam.state.isCsDirValid ? "是" : "否"}

+

Steam路径:{steam.state.steamDir}

+

游戏路径:{steam.state.cs2Dir}

+

Steam路径有效:{steam.state.steamDirValid ? "是" : "否"}

+

游戏路径有效:{steam.state.cs2DirValid ? "是" : "否"}

Steam账号:{steam.currentUser().accountName}

) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 9099899..74853f9 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,14 +1,27 @@ "use client" -import { steamStore } from "@/store/steam" +import { steamStore, useSteamStore } from "@/store/steam" import { useEffect } from "react" import "./globals.css" import Providers from "./providers" import { init } from "@/store" +import { useDebounce } from "@uidotdev/usehooks" + export default function RootLayout({ children }: { children: React.ReactNode }) { useEffect(() => { void init() }) + // 检测steam路径和游戏路径是否有效 + const steam = useSteamStore() + const debounceSteamDir = useDebounce(steam.state.steamDir, 500) + const debounceCs2Dir = useDebounce(steam.state.cs2Dir, 500) + useEffect(() => { + steam.checkSteamDirValid() + }, [debounceSteamDir]) + useEffect(() => { + steam.checkCs2DirValid() + }, [debounceCs2Dir]) + return ( diff --git a/src/app/prepare/page.tsx b/src/app/prepare/page.tsx index 85844ca..c9b6b1c 100644 --- a/src/app/prepare/page.tsx +++ b/src/app/prepare/page.tsx @@ -4,13 +4,13 @@ import { useSteamStore } from "@/store/steam" import { useEffect, useState } from "react" export default function Page() { const steam = useSteamStore() - const [steamDir, setSteamDir] = useState(steam.state.dir) - const [cs2Dir, setCs2Dir] = useState(steam.state.csDir) + const [steamDir, setSteamDir] = useState(steam.state.steamDir) + const [cs2Dir, setCs2Dir] = useState(steam.state.cs2Dir) useEffect(() => { - setSteamDir(steam.state.dir) - setCs2Dir(steam.state.csDir) - }, [steam.state.dir, steam.state.csDir]) + setSteamDir(steam.state.steamDir) + setCs2Dir(steam.state.cs2Dir) + }, [steam.state.steamDir, steam.state.cs2Dir]) return (
{ type="button" onClick={() => invoke("launch_game", { - steamPath: `${steam.state.dir}/steam.exe`, + steamPath: `${steam.state.steamDir}/steam.exe`, launchOption: tool.state.launchOptions[tool.state.launchIndex] || "", server: "perfectworld", }) @@ -35,7 +35,7 @@ const FastLaunch = () => { type="button" onClick={() => invoke("launch_game", { - steamPath: `${steam.state.dir}/steam.exe`, + steamPath: `${steam.state.steamDir}/steam.exe`, launchOption: tool.state.launchOptions[tool.state.launchIndex] || "", server: "worldwide", }) diff --git a/src/components/cstb/Prepare.tsx b/src/components/cstb/Prepare.tsx index b9c0a48..2bdbca6 100644 --- a/src/components/cstb/Prepare.tsx +++ b/src/components/cstb/Prepare.tsx @@ -1,4 +1,4 @@ -import { addToast, Button, Spinner } from "@heroui/react" +import { addToast, Button, Chip, Spinner } from "@heroui/react" import { useRouter } from "next/navigation" import { useEffect, useState } from "react" import { steamStore, useSteamStore } from "@/store/steam" @@ -31,43 +31,33 @@ export function Prepare() { const router = useRouter() const [loading, setLoading] = useState(true) const [checking, setChecking] = useState(false) - const [, setSteamDir] = useState(steam.state.dir) - const [, setCs2Dir] = useState(steam.state.csDir) + const [, setSteamDir] = useState(steam.state.steamDir) + const [, setCs2Dir] = useState(steam.state.cs2Dir) const [inited, setInited] = useState(false) - const [links, setLinks] = useState([]) useEffect(() => { const initValues = async () => { - await steamStore.start() - const initialSteamDir = steam.state.dir - const initialCs2Dir = steam.state.csDir + const initialSteamDir = steam.state.steamDir + const initialCs2Dir = steam.state.cs2Dir setSteamDir(initialSteamDir) setCs2Dir(initialCs2Dir) + + const allCheckPassed = steam.state.steamDirValid && steam.state.cs2DirValid + setInited(steam.state.steamDirValid && steam.state.cs2DirValid) + // 逻辑有点问题,第一次启动时检查成功直接跳转,第一次检查失败不跳转,用户手动点击 + if (allCheckPassed) { + router.push("/home") + return + } + + setTimeout(() => { + setLoading(false) + }, 300) } void initValues() }) - useEffect(() => { - void onOpenUrl((urls) => { - console.log("deep link:", urls) - setLinks(urls) - }) - const checkPaths = async () => { - setChecking(true) - const exist: boolean = - (await check_path(path.resolve(steam.state.dir, "steam.exe"))) && - (await check_path(path.resolve(steam.state.csDir, "cs2.exe"))) - - setTimeout(() => { - setInited(exist) - setLoading(false) - setChecking(false) - }, 500) - } - void checkPaths() - }, [steam.state.dir, steam.state.csDir, router]) - const handleSelectSteamDir = async () => { const selected = await open({ title: "选择 Steam.exe 文件", @@ -135,7 +125,7 @@ export function Prepare() {
{ setSteamDir(e.target.value) steam.setDir(e.target.value) @@ -149,7 +139,7 @@ export function Prepare() {
{ setCs2Dir(e.target.value) steam.setCsDir(e.target.value) @@ -160,7 +150,12 @@ export function Prepare() {
- {links.length > 0 &&

{links}

} + + +
+ {steam.state.steamDirValid ? "Steam √" : "Steam ×"} + {steam.state.cs2DirValid ? "CS2 √" : "CS2 ×"} +
) } + +function TestDeepLink() { + const [links, setLinks] = useState([]) + const router = useRouter() + + useEffect(() => { + void onOpenUrl((urls) => { + console.log("deep link:", urls) + setLinks(urls) + }) + }, [router]) + return <>{links.length > 0 &&

{links}

} +} diff --git a/src/store/index.ts b/src/store/index.ts index 9666764..bd09a09 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -10,6 +10,5 @@ export async function init() { await toolStore.start() await steamStore.start() const appConfigDirPath = await appConfigDir() - console.log(appConfigDirPath) await setStoreCollectionPath(path.resolve(appConfigDirPath, "cstb")) } diff --git a/src/store/steam.ts b/src/store/steam.ts index 88b0db3..20fae8c 100644 --- a/src/store/steam.ts +++ b/src/store/steam.ts @@ -2,10 +2,14 @@ import type { SteamUser } from "@/types/steam" import { store } from "@tauri-store/valtio" import { DEFAULT_STORE_CONFIG } from "./config" import { useSnapshot } from "valtio" +import { useEffect } from "react" +import { addToast } from "@heroui/react" +import { invoke } from "@tauri-apps/api/core" +import { dir } from "console" const defaultValue = { - dir: "C:\\Program Files (x86)\\Steam", - csDir: "", + steamDir: "C:\\Program Files (x86)\\Steam", + cs2Dir: "", users: [ { steamID64: "76561198052315353", @@ -16,8 +20,8 @@ const defaultValue = { avatar: "", }, ] as SteamUser[], - isDirValid: false, - isCsDirValid: false, + steamDirValid: false, + cs2DirValid: false, } export const steamStore = store( @@ -35,27 +39,41 @@ export const useSteamStore = () => { setDir, setCsDir, setUsers, - setIsDirValid, - setIsCsDirValid, + setSteamDirValid, + setCs2DirValid, + checkSteamDirValid, + checkCs2DirValid, currentUser, resetSteamStore, } } const setDir = (dir: string) => { - steamStore.state.dir = dir + steamStore.state.steamDir = dir } const setCsDir = (dir: string) => { - steamStore.state.csDir = dir + steamStore.state.cs2Dir = dir } const setUsers = (users: SteamUser[]) => { steamStore.state.users = users } -const setIsDirValid = (valid: boolean) => { - steamStore.state.isDirValid = valid +const setSteamDirValid = (valid: boolean) => { + steamStore.state.steamDirValid = valid } -const setIsCsDirValid = (valid: boolean) => { - steamStore.state.isCsDirValid = valid +const setCs2DirValid = (valid: boolean) => { + steamStore.state.cs2DirValid = valid +} + +const checkSteamDirValid = async () => { + const pathExist = await invoke("check_path", { path: steamStore.state.steamDir }) + console.log("steamDir", steamStore.state.steamDir, "pathExist", pathExist) + setSteamDirValid(pathExist) +} + +const checkCs2DirValid = async () => { + const pathExist = await invoke("check_path", { path: steamStore.state.cs2Dir }) + console.log("cs2Dir", steamStore.state.cs2Dir, "pathExist", pathExist) + setCs2DirValid(pathExist) } const currentUser = () => { @@ -63,9 +81,9 @@ const currentUser = () => { } const resetSteamStore = () => { - setDir(defaultValue.dir) - setCsDir(defaultValue.csDir) + setDir(defaultValue.steamDir) + setCsDir(defaultValue.cs2Dir) setUsers(defaultValue.users) - setIsDirValid(defaultValue.isDirValid) - setIsCsDirValid(defaultValue.isCsDirValid) -} + setSteamDirValid(defaultValue.steamDirValid) + setCs2DirValid(defaultValue.cs2DirValid) +} \ No newline at end of file