# 极简App分发系统 一个纯前端实现的App分发系统,支持管理员登录、App上传和无需登录下载功能。 ## 功能特性 - ✅ 管理员登录(密码:admin123) - ✅ App上传(支持.apk、.ipa、.zip文件,最大1GB) - ✅ App删除功能 - ✅ 无需登录即可下载 - ✅ 响应式设计 - ✅ 纯前端实现,无框架依赖 - ✅ 支持后端API扩展 ## 快速开始 ### 1. 启动后端服务 ```bash cd background go run main.go ``` 后端服务将在 http://localhost:6903 上运行 ### 2. 启动前端服务 ```bash # 使用Python启动简单HTTP服务器 python -m http.server 8000 # 或使用Node.js npx http-server -p 8000 ``` 访问地址:http://localhost:8000 #### 后端要求 - 端口:6903 (修改自默认的3000端口) - 无需鉴权 - 支持CORS跨域请求 #### API接口 | 方法 | 路径 | 描述 | 请求体 | 响应 | |------|------|------|--------|------| | GET | /api/apps | 获取App列表 | - | `[{id: string, name: string, fileName: string, date: string, filePath: string}]` | | POST | /api/apps | 上传App | multipart/form-data
`name`: App名称
`file`: 文件 | `{success: boolean, message?: string}` | | DELETE | /api/apps/:id | 删除指定App | - | `{success: boolean, message?: string}` | | GET | /api/apps/:id | 下载指定App | - | 文件流 | | GET | /api/docs | 获取文档内容 | - | `[{docBody: string}]` | ## 技术栈 - HTML5 - CSS3 - JavaScript (ES6+) - Go (后端) - Gin (Web框架) ## 文件结构 ``` ├── background/ # 后端目录 │ ├── main.go # 后端主程序 │ ├── apps.json # 应用数据持久化文件 │ ├── files/ # 存储上传的文件 │ └── docs/ # 存储文档文件 ├── index.html # 主页面 ├── style.css # 样式文件 ├── script.js # 核心逻辑 └── README.md # 说明文档 ``` ## 使用说明 ### 管理员登录 1. 在登录框中输入密码:admin123 2. 点击"登录"按钮 3. 成功后将显示上传区域 ### 上传App 1. 登录成功后,在上传区域填写App名称(可选,不填写则使用文件名作为默认值) 2. 选择要上传的文件(.apk、.ipa、.zip) 3. 点击"上传"按钮 4. 上传成功后,App将显示在下载列表中 ### 下载App 1. 在下载区域找到要下载的App 2. 点击"下载"按钮即可开始下载 ### 删除App 1. 点击App列表中的"删除"按钮 2. 在确认对话框中点击"确定" 3. App将从列表和服务器中被删除 ## 自定义配置 ### 修改管理员密码 在 `script.js` 中修改: ```javascript const ADMIN_PASSWORD = 'your_new_password'; ``` ### 修改后端API地址 在 `script.js` 中修改: ```javascript const API_BASE_URL = 'http://your-backend-url:port/api'; ``` ### 修改后端端口 在 `background/main.go` 中修改: ```go port = ":6903" // 修改为你想要的端口 ``` ## 数据持久化 - 应用列表数据保存在 `background/apps.json` 文件中 - 上传的文件保存在 `background/files/` 目录中 - 文档内容保存在 `background/docs/` 目录中 ## 注意事项 1. 默认使用localStorage存储登录状态,数据只保存在浏览器中 2. 应用数据持久化在后端的apps.json文件中 3. 生产环境中请修改默认密码 4. 建议添加HTTPS支持,尤其是在公网环境中 ## 许可证 MIT