<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400"></a></p>

# UzTech.Laravel

> Jason.Chen , 为了构建一个健壮的底层。

[TOC]

## 1.安装

```shell
git pull http://git.yuzhankeji.cn/UzTech/laravel.git
```

```shell
# 生成 laravel 密钥
php artisan key:generate --ansi

# 数据库迁移
php artisan migrate

# 数据填充
php artisan db:seed --class=AdminPanelSeeder

# api 密钥
php artisan jwt:secret
```

手动导入 initial.sql 后台数据基础文件

## 包含的基础组件

> OSS文件管理包
>
> "jasonc/flysystem-oss": "^2.0"
>
> 模块化工具
>
> "nwidart/laravel-modules": "^8.2"
>
> 模块安装工具
>
> "joshbrw/laravel-module-installer": "^2.0"
> 
> API 管理工具
> 
> "jasonc/api": "^3.3"
> 
> 后台模板
> 
> "encore/laravel-admin": "^1.8"

## 模块安装

> 模块安装完毕之后，要执行  composer dump-autoload

### 1.

## 模块开发

### 1. 创建新模块

```shell

php artisan make:module ModuleName

```

### 2. 模块目录的一些规范

```
modules/
  ├── Blog/
      ├── Config/  配置目录，使用 Config::get('module_name.') 调用
      ├── Console/ 控制台命令
          ├── Kernel.php 执行定时任务
      ├── Database/ 数据库
          ├── Migrations/ 数据表单迁移
          ├── Seeders/    数据填充文件
      ├── Events/  事件目录
      ├── Http/
          ├── Controllers/ 控制器
              ├── Admin/ 
              ├── Api/ 
          ├── Middleware/  中间件目录
          ├── Requests/    请求验证
          ├── Resources    API接口资源
      ├── Jobs/ 队列
      ├── Listeners/ 监听器
      ├── Models/   模型
          ├── Traits/  模块内部模型使用的traits
      ├── Providers/
          ├── BlogServiceProvider.php
          ├── RouteServiceProvider.php
      ├── Resources/  静态资源目录
          ├── assets/
              ├── js/
                ├── app.js
              ├── sass/
                ├── app.scss
          ├── lang/
          ├── views/
      ├── Routes/     路由
          ├── admin.php
          ├── api.php
      ├── Service/  内部服务
      ├── Traits/   对外的traits 
      ├── composer.json
      ├── module.json
      ├── README.md
```
### 3. 定时任务相关说明

```
定时任务命令在ServiceProvider中加载
if ($this->app->runningInConsole()) {
   $this->commands([]);
}
定时任务的执行
在模型文件夹 Console 建立 Kernel 类，类中 runCommand 执行定时任务
$schedule->command(**)->everyMinute();
```