# steamAPI Steam 登录验证本地服务,供客户端调用:使用账号、密码 + maFile 完成 Steam 登录,返回 session、steam_id、cookies 等。 ## 环境要求 - [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) ## 启动方式 在项目目录下执行: ```bash cd steam-client/steamAPI dotnet run dotnet run --urls "http://localhost:5000" ``` 默认监听 **http://localhost:5000**(客户端 Tauri 代码中写死为该地址)。 ### 指定端口(可选) ```bash dotnet run --urls "http://localhost:5000" # 或使用其他端口,例如 5001,同时需修改客户端中 verify_steam_login 的 api_url dotnet run --urls "http://localhost:5001" ``` ### 发布为独立可执行文件(Windows x64) ```bash dotnet publish -c Release -r win-x64 --self-contained ``` 输出在 `bin/Release/net8.0/win-x64/publish/`,可直接运行其中的 `steamAPI.exe`。 ## 接口说明 - **POST /login** - Body (JSON): `{ "Username": "steam用户名", "Password": "密码", "MaFilePath": "maFile 完整路径", "ProxyUrl": "http://127.0.0.1:7890" }` - 成功:返回 `session`(steamId、accessToken、refreshToken、sessionId)及 `cookies`(含 steamLoginSecure 等) - 失败:400/500 + 错误信息 - **POST /wallet-balance** - Body (JSON): `{ "SteamLoginSecure": "xxx", "ProxyUrl": "http://127.0.0.1:7890" }` - 成功:返回 `{ "amount": "1234", "currency": "USD" }`(`amount` 单位为美分) - 失败:400/500 + 错误信息 ### 代理配置(避免依赖系统全局代理) 当本机直连 Steam 受限时,可以只给 `steamAPI` 进程配置代理,不需要开系统全局代理: 1. 请求级代理(优先级最高):在 `/login` 的 JSON 中传 `ProxyUrl`。 2. 进程级代理:设置环境变量 `STEAM_PROXY_URL` 后启动服务。 示例(macOS / Linux): ```bash export STEAM_PROXY_URL="http://127.0.0.1:7890" dotnet run --urls "http://localhost:5000" ``` ## 依赖 - 项目引用同目录下 `SteamAuth` 及 NuGet 包 `SteamKit2`、`Microsoft.AspNetCore.App`。首次运行会自动还原包。