# App Store 项目 这是一个基于 PHP 7.4 的 App Store 项目,使用 Bootstrap 实现 Fluent Design 风格界面,数据存储采用 MySQL 数据库。项目各页面顶栏已添加 logo 图片,路径为 `/favicon.jpeg`,点击可跳转至首页,图片设置了高度 30px、右边距 10px 以及圆角样式 `var(--border-radius)`。 ## 项目结构 ``` app2/ ├── config.php # 配置文件,包含数据库和管理员信息 ├── app_store.sql # 数据库初始化 SQL 文件 ├── index.php # 首页 ├── app.php # App 信息页 ├── admin/ # 管理员后台目录 │ ├── addapp.php │ ├── deleteapp.php │ ├── editapp.php │ ├── index.php │ ├── login.php │ ├── manage_tags.php │ ├── review_apps.php │ └── system_info.php ├── developer/ # 开发者后台目录 │ ├── dashboard.php │ ├── edit_app.php │ ├── login.php │ ├── logout.php │ ├── profile.php │ ├── register.php │ └── upload_app.php ├── vendor/ # Composer 依赖 ├── includes/ # 通用包含文件 ├── api.php # API 接口文件 ├── styles.css # 自定义 CSS 文件 ├── images/ # 存储 App 预览图片和年龄分级 SVG │ ├── age_3plus.svg │ ├── age_7plus.svg │ ├── age_12plus.svg │ ├── age_17plus.svg ├── files/ # 存储 App 文件 ``` ## 环境要求 - PHP 7.4+ - MySQL 5.7+ - Composer - Node.js (可选,用于前端资源构建) - Web 服务器(如 Apache 或 Nginx) ## 快速启动指南 对于有经验的开发者,可按照以下步骤快速部署: ```cmd # 1. 克隆项目并进入目录 .git clone app2 cd app2 # 2. 创建并配置环境文件 copy config.example.php config.php # 编辑config.php设置数据库和邮件信息 # 3. 创建数据库并导入结构 mysql -u root -p -e "CREATE DATABASE your_db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" mysql -u root -p your_db_name < app_store.sql # 4. 安装依赖并设置权限 composer install icacls files /grant Users:(OI)(CI)W icacls images /grant Users:(OI)(CI)W # 5. 启动开发服务器 php -S localhost:8000 ``` 访问 http://localhost:8000 开始使用,管理员后台地址:http://localhost:8000/admin ## 详细安装教程 ### 1. 环境准备 确保您的系统满足以下要求: - PHP 7.4+(推荐PHP 8.0+) - MySQL 5.7+ 或 MariaDB 10.2+ - Composer(PHP依赖管理工具) - Web服务器(Apache/Nginx/IIS)或PHP内置服务器 - Git(可选,用于版本控制) #### 检查PHP环境 打开命令提示符,输入以下命令验证PHP版本: ```cmd php -v # 应显示PHP 7.4.0或更高版本 # 检查必要扩展 php -m | findstr /i "mysqli pdo_mysql json curl fileinfo" # 确保以上扩展均已安装 ``` ### 2. 获取项目代码 选择以下任一方式获取代码: #### 方式一:使用Git克隆(推荐) ```cmd git clone app2 cd app2 ``` #### 方式二:手动下载 1. 从项目仓库下载ZIP压缩包 2. 解压到本地目录(如 `c:\web\app2`) 3. 打开命令提示符,进入项目目录: ```cmd cd c:\web\app2 ``` ### 3. 数据库配置 #### 创建数据库 1. 登录MySQL控制台: ```cmd mysql -u root -p ``` 2. 创建数据库(将`your_db_name`替换为您喜欢的数据库名称): ```sql CREATE DATABASE your_db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; exit ``` #### 导入数据库结构 ```cmd mysql -u root -p your_db_name < app_store.sql ``` > **注意**:请确保在导入前替换命令中的`your_db_name`为您实际创建的数据库名称 ### 4. 应用配置 #### 创建配置文件 如果项目中存在`config.example.php`: ```cmd copy config.example.php config.php ``` 如果不存在,请手动创建`config.php`文件并添加以下内容: ```php ``` #### 配置参数说明 | 参数 | 说明 | 示例值 | |------|------|--------| | DB_HOST | 数据库主机地址 | localhost | | DB_USER | 数据库用户名 | root | | DB_PASS | 数据库密码 | your_actual_password | | DB_NAME | 数据库名称 | app_store | | APP_URL | 应用访问URL | http://localhost/app2 | | DEBUG_MODE | 调试模式开关 | true/false | ### 5. 安装依赖 使用Composer安装项目依赖: ```cmd composer install ``` > 如果没有安装Composer,请先从 https://getcomposer.org/ 下载并安装 ### 6. 设置目录权限 项目需要对以下目录有写入权限: - `files/`:存储上传的应用文件 - `images/`:存储应用截图和图标 #### 图形界面方式(推荐) 1. 在文件资源管理器中找到项目目录 2. 右键点击`files`文件夹,选择**属性** 3. 切换到**安全**选项卡,点击**编辑** 4. 选择当前用户,勾选**写入**权限,点击**确定** 5. 对`images`文件夹执行相同操作 #### 命令行方式 ```cmd icacls files /grant Users:(OI)(CI)W icacls images /grant Users:(OI)(CI)W ``` ### 7. 配置Web服务器 #### 选项A:使用PHP内置开发服务器(推荐用于开发) ```cmd php -S localhost:8000 ``` ## API 文档 ### 根路径 `/api` - **方法**:GET - **功能**:返回可用端点信息 - **响应示例**: ```json { "status": "success", "message": "App Store API", "version": "1.0", "endpoints": { "/api?action=list": "获取应用列表,支持search、platform、age_rating、tag、page、limit参数。search:搜索关键词;platform:平台;age_rating:年龄分级;tag:标签;page:页码;limit:每页数量", "/api?action=app&id=1": "获取指定ID的应用详情,需传入app_id参数。包含应用基础信息、版本、图片、评价和标签信息", }, "example": "GET /api?action=list&search=游戏&limit=10" } ``` ### 应用列表 `/api?action=list` - **方法**:GET - **功能**:获取应用列表,支持多条件筛选和分页查询 - **参数**: - `search`:搜索关键词,可选 - `platform`:平台,可选 - `age_rating`:年龄分级,可选 - `tag`:标签,可选 - `page`:页码,可选,默认1 - `limit`:每页数量,可选,默认10 - **响应示例**: ```json { "data": [ { "id": "1", "name": "示例应用", "description": "这是一个示例应用", "age_rating": "3+", "avg_rating": "4.5" } ], "pagination": { "total": 100, "page": 1, "limit": 10, "totalPages": 10 } } ``` ### 应用详情 `/api?action=app&id={id}` - **方法**:GET - **功能**:获取指定ID应用的详细信息,包含基础信息、版本、图片、评价和标签信息 - **参数**: - `id`:应用ID,必需,数字类型 - **响应示例**:响应包含应用基础信息、版本、图片、评价和标签信息。