# plus-app **Repository Path**: AprilWind123/plus-app ## Basic Information - **Project Name**: plus-app - **Description**: plus-app - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-27 - **Last Updated**: 2026-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Plus App 基于 **Tauri 2 + Vue 3 + TypeScript + Vite** 的桌面端应用。 ## 环境要求 - Node.js 20 LTS 或更高版本 - pnpm 9 或更高版本 - Rust stable(仅运行或构建 Tauri 桌面应用时需要) 建议使用 VS Code,并安装 Vue - Official、Tauri 和 rust-analyzer 扩展。 ## 安装依赖 ```bash pnpm install ``` ## 启动与构建 | 命令 | 用途 | | --- | --- | | `pnpm dev` | 启动 Vite 本地 Web 开发服务,地址为 `http://localhost:1420`。 | | `pnpm tauri:dev` | 启动 Tauri 桌面开发窗口,同时运行前端服务。 | | `pnpm build` | 执行 TypeScript 类型检查并构建生产前端产物。 | | `pnpm build:staging` | 使用预发布环境变量构建前端产物。 | | `pnpm tauri:build` | 打包当前平台的 Tauri 桌面安装包。 | | `pnpm preview` | 预览已构建的 Web 前端产物。 | 首次执行 `pnpm tauri:dev` 或 `pnpm tauri:build` 时,Rust 依赖的下载和编译耗时会稍长。 ## 环境配置 项目使用 Vite 环境文件。变量必须以 `VITE_` 开头,才可在 Vue 代码中通过 `import.meta.env` 访问。 | 文件 | 使用场景 | 说明 | | --- | --- | --- | | `.env` | 所有模式 | 认证协议通用配置。 | | `.env.development` | `pnpm dev`、`pnpm tauri:dev` | 本地开发配置及本地接口代理。 | | `.env.staging` | `pnpm dev:staging`、`pnpm build:staging` | 预发布/联调配置。 | | `.env.production` | `pnpm build`、`pnpm tauri:build` | 生产构建配置。 | | `.env.local` | 本机覆盖配置 | 不提交 Git,可覆盖所有模式的同名变量。 | | `.env.example` | 配置样例 | 复制后按实际环境填写。 | 当前提供的变量: ```dotenv VITE_APP_TITLE=Plus App VITE_APP_ENV=development VITE_APP_BASE_API=/dev-api VITE_API_PROXY_TARGET=http://localhost:8080 VITE_APP_ENCRYPT=true ``` 本地开发通过 `/dev-api` 代理访问 `VITE_API_PROXY_TARGET`;请替换 `.env.staging` 与 `.env.production` 中的示例域名。认证请求会按参考项目使用 AES-ECB 加密数据体,并以 RSA 加密 AES 密钥后放入 `encrypt-key` 请求头。请确保客户端公私钥与后端加解密密钥配对一致。 使用示例: ```ts const apiBaseUrl = import.meta.env.VITE_APP_BASE_API; ``` ## 目录说明 ```text src/ Vue 前端代码 src-tauri/ Tauri / Rust 桌面端配置与入口 public/ 静态资源 ``` ## 当前范围 登录页已接入 `/auth/code` 验证码、`/auth/login` 登录、`/auth/register` 注册和 `/auth/binding/{source}` 第三方授权链接;第三方授权会在系统浏览器中打开。