# TappoCloud Store Admin 部署指南 ## 快速开始 ### 1. 后端部署 ```bash cd store # 安装依赖 pip install -r requirements.txt # 配置环境变量 (复制并修改) cp .env.example .env # 初始化数据库 mysql -u root -p tappocloud < schema.sql # 启动服务 uvicorn app.main:app --host 0.0.0.0 --port 8000 ``` ### 2. 前端部署 ```bash cd store/admin # 安装依赖 npm install # 开发模式 npm run dev # 生产构建 npm run build ``` ### 3. 默认账号 - 用户名: `admin` - 密码: `admin123` **重要**: 生产环境请立即修改密码! --- ## 环境变量配置 创建 `store/.env` 文件: ```env TAPPO_DEBUG=false TAPPO_DB_HOST=localhost TAPPO_DB_PORT=3306 TAPPO_DB_USER=root TAPPO_DB_PASSWORD=your_password TAPPO_DB_NAME=tappocloud # JWT 配置 (生产环境必须修改!) TAPPO_JWT_SECRET=your-super-secret-key-change-me TAPPO_JWT_EXPIRE_HOURS=24 # 存储配置 TAPPO_STORAGE_BASE_URL=https://app.tappo.dev/storage ``` --- ## API 端点 | 方法 | 路径 | 说明 | |------|------|------| | POST | `/api/v1/admin/login` | 管理员登录 | | POST | `/api/v1/admin/apps/upload` | 上传应用 (需认证) | | GET | `/api/v1/apps` | 获取应用列表 | | GET | `/api/v1/apps/{app_uid}` | 获取应用详情 | | GET | `/api/v1/apps/{app_uid}/download` | 获取下载信息 | --- ## 上传应用 ### 方式一:Web 界面 1. 访问 `http://localhost:3000/login` (开发) 或生产地址 2. 使用管理员账号登录 3. 拖拽 zip 文件到上传区域 ### 方式二:命令行脚本 ```bash cd store/scripts # 发布单个应用 python publish.py your-app-v1.0.0.zip # 批量发布 python publish.py app1.zip app2.zip app3.zip # 指定 API 地址 (默认 https://app.tappo.dev) python publish.py your-app.zip --api http://localhost:8000 ``` ### 方式三:cURL ```bash # 登录获取 token TOKEN=$(curl -s -X POST https://app.tappo.dev/api/v1/admin/login \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"admin123"}' | jq -r '.token') # 上传应用 curl -X POST https://app.tappo.dev/api/v1/admin/apps/upload \ -H "Authorization: Bearer $TOKEN" \ -F "file=@your-app-v1.0.0.zip" ``` --- ## 应用包要求 ZIP 包根目录必须包含 `app.yml`: ```yaml id: my-app # 必填,应用唯一标识 (小写字母、数字、连字符) version: 1.0.0 # 必填,语义化版本号 name: zh-CN: 我的应用 en-US: My App type: community # system | community | external category: tool # security | productivity | tool | ai | data | integration author: Your Name description: zh-CN: 应用描述 en-US: App description ``` --- ## 项目结构 ``` store/ ├── app/ # FastAPI 后端 │ ├── main.py # 应用入口 │ ├── config.py # 配置管理 │ ├── auth.py # JWT 认证 │ ├── models.py # 数据库模型 │ ├── database.py # 数据库连接 │ └── routers/ │ ├── admin.py # 管理员 API │ ├── apps.py # 应用 API │ └── categories.py # 分类 API ├── admin/ # Vue 前端 │ ├── src/ │ │ ├── views/ │ │ │ ├── Login.vue # 登录页 │ │ │ └── Dashboard.vue # 上传管理页 │ │ ├── services/api.js # API 服务 │ │ └── router/index.js # 路由配置 │ └── package.json ├── scripts/ # 命令行工具 │ ├── publish.py # Python 发布脚本 │ ├── publish.sh # Bash 发布脚本 │ └── publish.bat # Windows 发布脚本 ├── storage/ # 应用包存储目录 ├── schema.sql # 数据库初始化脚本 ├── requirements.txt # Python 依赖 └── .env.example # 环境变量示例 ``` --- ## 生产部署建议 1. **使用 Nginx 反向代理** 2. **配置 HTTPS** 3. **修改默认密码和 JWT 密钥** 4. **配置数据库备份** 5. **使用 systemd 管理服务**