# arkweb-be **Repository Path**: finntenzor/arkweb-be ## Basic Information - **Project Name**: arkweb-be - **Description**: 2019智力方舟后端 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-08-24 - **Last Updated**: 2024-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智力方舟出题系统(后端) ## 安装依赖 ```sh composer install ``` ## 所需PHP扩展 ```txt openssl fileinfo gd mbstring mysqli pdo_mysql filter ``` ## 环境配置 ### 创建密钥 需要安装openssl ```sh bash sslkey_generate.sh ``` 没意外应该会在/runtime/keys下生成密钥对 ### 创建目录 以下目录需要手工创建,或给予适当权限 ```txt /runtime 读写 /runtime/keys 读 /runtime/zip 读写 /public/uploads 读写 /public/uploads/image 读写 /public/uploads/avatar 读写 ``` ### 环境变量 参考.env.example编写 ```ini APP_DEBUG=false # 调试开关 APP_SKIP_AUTH=false # 是否跳过权限检查 APP_PUBLIC= # 基路径,一般是空 DB_HOST=127.0.0.1 # 数据库主机地址 DB_NAME=ark # 数据库名 DB_USERNAME=root # 用户名 DB_PASSWORD= # 密码 DB_PORT=3306 # 端口 ``` ## 系统检查 配置完毕后,访问以下URL以检查常见配置是否正确: `/api/v1/check` ## 创建数据库 ```sh php think migrate:run ``` ## 其他功能性命令 ```txt migrate migrate:clear 清空数据库但不删除数据表 migrate:drop 删除所有数据表 migrate:refresh 重置数据库 user user:createsuperadmin 添加超级管理员,所有操作忽略权限限制 user:removeuser 删除用户 user:showusers 显示所有用户 user:testuserpassword 测试用户密码 util util:build-apijs 生成API接口文件 util:mockdata 生成模拟数据 ``` 用法请-h自查,原理和功能请参考`/application/command/` ## 目录结构 主要目录结构请参考ThinkPHP文档 [ThinkPHP5.1官方文档](https://www.kancloud.cn/manual/thinkphp5_1/353946) 其他目录结构 ```txt /lib 权限检查(从其他项目复制而来,故位置有些特别。注意composer.json中有PSR-4配置) /application/command 自定义命令 /application/common/model 模型 /application/common/services 密码加密、类型检查、依赖检查等服务 /application/common/util 时间日期等工具类 /application/http/middleware 权限检查中间件 /application/index/controller 控制器 /application/index/validate 验证器 ``` ## 其他 将/thinkphp/library/think/model/concern/Attribute.php第443行改为: $value = $this->formatDateTime('Y-m-d H:i:s.u', $value, true);