# exchange.v5ico_turkey_admin 本仓库为 **FastAdmin(ThinkPHP5)** 后端管理系统项目。Web 入口在 `public/`,支持多模块(如 `admin`、`api`、`index` 等)。 生产部署请优先阅读:`DEPLOYMENT.md`。 ## 1. 技术栈 - **框架**:ThinkPHP 5.0.x(`topthink/framework ~5.0.24`) - **后台框架**:FastAdmin - **数据库**:MySQL(配置:`application/database.php`) - **缓存/队列**:Redis(业务配置:`application/config.php` 的 `redis`;队列配置:`application/extra/queue.php`) - **队列**:`topthink/think-queue 1.1.6` ## 2. 目录结构(关键目录) - **`public/`**:Web 根目录(Nginx/Apache 的 root 必须指向这里) - **`application/`**:业务代码 - **`application/admin/`**:后台模块 - **`application/api/`**:API 模块(含 Cron/Job 等入口) - **`application/index/`**:前台/首页模块 - **`application/extra/`**:扩展配置(`site.php`、`upload.php`、`queue.php` 等) - **`addons/`**:FastAdmin 插件(如 `kefu`、`translate`、`qcloudsms` 等) - **`runtime/`**:运行时目录(日志、缓存等,通常需要可写权限) - **`think`**:ThinkPHP 控制台入口(命令行) ## 3. 环境配置(.env) 根目录存在示例:`.env.sample`。你可以复制为 `.env` 并按实际环境修改。 - **生产环境**:建议 `app.debug=false`。 - 数据库连接与表前缀通过 `Env::get('database.xxx', ...)` 读取。 ## 4. 初始化安装 ### 4.1 命令行安装(推荐) 项目内置安装命令(见 `application/admin/command/Install.php`): - `php think install --hostname=127.0.0.1 --hostport=3306 --database=YOUR_DB --username=YOUR_USER --password=YOUR_PASS --prefix=fa_` 安装过程中会: - 导入初始化 SQL:`application/admin/command/Install/fastadmin.sql` - 写入/更新 `application/database.php` - 写入安装锁:`application/admin/command/Install/install.lock` - 将 `public/admin.php` 重命名为随机文件名(后台入口更安全) 安装完成后会输出:后台入口、后台账号与密码。 ### 4.2 Web 安装入口说明 `public/index.php` 会检测 `install.lock`,未安装时会跳转到 `install.php`。 说明:本仓库中未看到 `public/install.php` 文件,实际安装建议使用命令行 `php think install`。 ## 5. 开发运行(本地) ### 5.1 启动方式 ThinkPHP5 常见运行方式: - 使用 Nginx/Apache 指向 `public/` - 或使用 PHP 内置服务(仅开发调试):将 Web 根指向 `public/` ### 5.2 资源压缩(可选) 项目内置资源压缩命令(见 `application/admin/command/Min.php`),会调用 `node` 执行 `r.js`: - `php think min --module=backend --resource=all --optimize=none` 如需使用该命令,请确保服务器/本机已安装 Node.js。 ## 6. 队列(Redis) 队列配置:`application/extra/queue.php`(默认 `connector=redis`,并使用 Redis 的 `select=5`)。 启动消费者: - `php think queue:listen` - `php think queue:work --daemon` 示例队列接口:`application/api/controller/Job.php`(调用 `think\Queue::push(...)`)。 ## 7. 定时任务 / K线脚本 - **定时任务入口(API)**:`application/api/controller/Cron.php` - **K线生成脚本**(根目录): - `NewTradeKline.php` - `NewTradeKlines.php` - `TradeKline.php` 这些脚本通过 `BIND_MODULE` 绑定到 `application/api` 下对应模块执行,可用于定时/守护进程方式运行。生产部署建议参考 `DEPLOYMENT.md`。 ## 8. 更多文档 - **生产部署教程**:`DEPLOYMENT.md`