# 玩玩云桌面客户端(Tauri + Vue + TypeScript) 这是玩玩云网盘的桌面端,基于 `Tauri 2 + Vue 3 + TypeScript` 开发。 默认对接地址:`https://cs.workyai.cn`。 ## 功能概览 - 账号登录(复用网页端账号体系) - 文件列表浏览、目录切换、全局搜索 - 新建文件夹、重命名、删除 - 分享链接 / 直链创建与管理 - 下载(支持断点续传) - 本地目录同步(手动/定时) - 客户端版本检测与更新下载 ## 环境要求 - Node.js 18+(建议 20 LTS) - Rust stable(建议通过 `rustup` 安装) - Tauri CLI(项目已在 `package.json` 中声明) 可选:Linux 交叉编译 Windows 时还需要: - `mingw-w64` - `nsis` ## 开发运行 ```bash cd desktop-client npm install npm run tauri dev ``` ## 对接你的网盘后端 ### 1. 修改 API 基础地址 当前默认地址在 `desktop-client/src/App.vue`: - `appConfig.baseUrl`(默认 `https://cs.workyai.cn`) 改成你的服务地址后重新运行/打包。 ### 2. 后端需提供的核心接口 桌面端通过现有 Web API 工作,至少需要这些接口: - `POST /api/login` - `POST /api/logout` - `GET /api/user/profile` - `GET /api/files` - `GET /api/files/search` - `POST /api/files/mkdir` - `POST /api/files/rename` - `POST /api/files/delete` - `POST /api/share/create` - `GET /api/share/my` - `DELETE /api/share/:id` - `POST /api/direct-link/create` - `GET /api/client/desktop-update` - 分片上传相关接口(客户端走 `api_upload_file_resumable`) ### 3. 鉴权与跨域要求 - 使用 Cookie / Session 鉴权 - 服务端允许桌面端跨域并携带凭据(credentials) - 建议启用 HTTPS ## 构建打包 ```bash cd desktop-client npm install npm run tauri build ``` 构建产物示例: - `desktop-client/src-tauri/target/release/bundle/nsis/*.exe` ## Linux 交叉编译 Windows(x64) ```bash cd desktop-client rustup target add x86_64-pc-windows-gnu npm run tauri build -- --target x86_64-pc-windows-gnu ``` 如需生成安装包,请确保系统安装 `mingw-w64` 与 `nsis`。 ## 更新发布接入(与本项目后端配合) 1. 把新安装包上传到服务端下载目录(示例:`frontend/downloads/`)。 2. 在后台设置中更新: - `desktop_update.latest_version` - `desktop_update.installer_url` - `desktop_update.release_notes` 3. 客户端会通过 `GET /api/client/desktop-update` 检查更新并下载新包。 ## 常见问题 ### Q1:改了接口地址但还是连旧地址? 确认修改的是 `desktop-client/src/App.vue` 中的 `appConfig.baseUrl`,并重新构建。 ### Q2:为什么更新接口返回有新版本,但客户端不弹更新? 检查: - `latest_version` 是否确实大于客户端当前版本 - `installer_url` 是否可访问 - 客户端能否访问后端 `desktop-update` 接口 ### Q3:分享/直链重复创建问题 当前后端已支持“同一用户同一路径复用已有链接”。若要生成新链接,请先删除旧链接再创建。