2026-06-24 18:04:15 +08:00
2026-06-24 17:45:24 +08:00
2026-06-24 17:45:24 +08:00
2026-06-24 17:45:24 +08:00
up
2026-06-24 18:04:15 +08:00
2026-06-24 17:45:24 +08:00
up
2026-06-24 18:04:15 +08:00
2026-06-24 17:45:24 +08:00
2026-06-24 17:45:24 +08:00
2026-06-24 17:45:24 +08:00
2026-06-24 17:45:24 +08:00

软件发布平台

一个简单易用的软件发布管理系统,支持多版本管理和在线下载。

功能特性

后台管理系统

  • 用户登录验证(默认用户名/密码:admin/admin
  • 上传 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. 点击"保存配置"

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 路径

API 接口

下载接口

GET download.php?id={app_id}

参数:

  • id (可选) - 应用 ID,不传则返回最新版本

响应示例:

{
  "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.0 (2024-06-24)

  • 新增管理后台系统
  • 新增用户登录功能
  • 支持多版本管理
  • 支持在线上传 APK
  • 支持网站配置管理
  • 重写前端样式
  • 使用 SQLite 数据库

v1.0

  • 基础下载功能
  • 显示最新版本

许可证

MIT License


如有问题或建议,欢迎反馈!

S
Description
No description provided
Readme
138 KiB
Languages
PHP 88%
CSS 12%