Files
2026-06-24 18:17:13 +08:00

221 lines
5.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 软件发布平台
一个简单易用的软件发布管理系统,支持多版本管理和在线下载。
## 功能特性
**后台管理系统**
- 用户登录验证(默认用户名/密码:admin/admin
- 密码加密存储(使用 PHP password_hash
- 在线修改密码功能
- 上传 APK 文件到服务器
- 版本管理(查看、删除)
- 网站配置(标题、说明、Logo
**前端展示**
- 显示所有已发布的应用版本
- 最新版本优先显示
- 版本详情(版本号、描述、上传时间、文件大小)
- 一键下载功能
**数据存储**
- 使用 SQLite 文件数据库
- APK 文件存储在 `data/apps/` 目录
- Logo 文件存储在 `data/uploads/` 目录
- 用户密码加密存储
## 目录结构
```
php_app_downloader/
├── index.php # 主页(显示所有版本)
├── download.php # 下载接口
├── logo.png # 默认 Logo
├── admin/ # 管理后台
│ ├── index.php # 登录页面
│ ├── dashboard.php # 管理面板
│ ├── upload.php # 文件上传处理
│ ├── config.php # 配置管理
│ ├── delete.php # 删除应用
│ ├── logout.php # 退出登录
│ └── auth.php # 认证中间件
├── includes/ # 共享代码
│ ├── db.php # 数据库连接
│ └── functions.php # 通用函数
├── data/ # 数据存储(需要写权限)
│ ├── apps/ # APK 文件
│ ├── uploads/ # 上传的 Logo
│ └── database.db # SQLite 数据库
└── assets/
└── admin.css # 管理后台样式
```
## 使用说明
### 1. 环境要求
- PHP 7.0+
- SQLite 支持(PHP 默认包含)
- Web 服务器(Apache/Nginx
### 2. 安装步骤
1. 将项目文件上传到 Web 服务器
2. 确保 `data/` 目录有写权限(已设置为 777
3. 访问网站首页,数据库会自动初始化
### 3. 管理后台
访问 `/admin/` 进入管理后台
**默认登录信息:**
- 用户名:`admin`
- 密码:`admin`
**功能说明:**
#### 上传应用
1. 在管理面板点击"上传新应用"
2. 选择 APK 文件
3. 填写版本号(可选)
4. 填写版本描述(可选)
5. 点击"上传应用"
#### 管理版本
- 查看所有已发布的版本
- 下载任意版本
- 删除不需要的版本
#### 网站配置
1. 点击"网站配置"
2. 修改网站标题
3. 修改软件说明
4. 上传新的 Logo(支持 JPG/PNG/GIF
5. 点击"保存配置"
#### 修改密码
1. 点击顶部导航的"修改密码"
2. 输入当前密码
3. 输入新密码(至少4位)
4. 确认新密码
5. 点击"修改密码"
**重要提示:** 首次登录后请立即修改默认密码以提高安全性!
### 4. 前端使用
- 访问网站首页查看所有版本
- 点击"立即下载"按钮下载对应版本
- 右下角有"管理后台"快捷入口
## 数据库结构
### apps 表
存储应用版本信息
| 字段 | 类型 | 说明 |
|------|------|------|
| id | INTEGER | 主键,自增 |
| filename | TEXT | 存储的文件名 |
| original_name | TEXT | 原始文件名 |
| version | TEXT | 版本号 |
| description | TEXT | 版本描述 |
| upload_time | DATETIME | 上传时间 |
| file_size | INTEGER | 文件大小(字节)|
### config 表
存储网站配置
| 字段 | 类型 | 说明 |
|------|------|------|
| key | TEXT | 配置键(主键)|
| value | TEXT | 配置值 |
**预设配置项:**
- `site_title` - 网站标题
- `site_description` - 软件说明
- `logo_path` - Logo 路径
### users 表
存储用户账号信息
| 字段 | 类型 | 说明 |
|------|------|------|
| id | INTEGER | 主键,自增 |
| username | TEXT | 用户名(唯一)|
| password | TEXT | 加密后的密码 |
| created_at | DATETIME | 创建时间 |
## API 接口
### 下载接口
`GET download.php?id={app_id}`
**参数:**
- `id` (可选) - 应用 ID,不传则返回最新版本
**响应示例:**
```json
{
"success": true,
"file": "data/apps/1719223456_app.apk",
"filename": "app.apk",
"version": "1.0.0",
"date": "2024-06-24 17:30:56"
}
```
## 安全建议
1. **修改默认密码**
- 当前密码硬编码在 `admin/index.php`
- 建议修改为复杂密码
2. **限制文件上传**
- 当前仅允许 `.apk` 文件
- 可根据需要调整文件类型限制
3. **数据备份**
- 定期备份 `data/` 目录
- 包含数据库和所有上传的文件
4. **访问控制**
- 建议通过 Web 服务器配置限制 `/admin/` 访问
- 可添加 IP 白名单
## 技术栈
- **后端:** PHP + SQLite
- **前端:** 原生 HTML/CSS/JavaScript
- **样式:** 现代化渐变设计,响应式布局
## 更新日志
### v2.1 (2024-06-24)
- ✅ 新增用户密码管理功能
- ✅ 密码使用 password_hash 加密存储
- ✅ 支持在线修改密码
- ✅ 添加 users 数据表
- ✅ 数据库自动升级机制
### v2.0 (2024-06-24)
- ✅ 新增管理后台系统
- ✅ 新增用户登录功能
- ✅ 支持多版本管理
- ✅ 支持在线上传 APK
- ✅ 支持网站配置管理
- ✅ 重写前端样式
- ✅ 使用 SQLite 数据库
- ✅ PHP 自动创建所需目录
### v1.0
- 基础下载功能
- 显示最新版本
## 许可证
MIT License
---
如有问题或建议,欢迎反馈!