/laravel-skeleton

基于Laravel的快速项目开发框架,能够快速生成后台管理页面和API接口

Primary LanguageCSS

Laravel 快速开发模板

文档

常用方法

  • 响应失败:FastResponse::error(...)
{
    "success": false,
    "message": "请先登陆",
    "code": 401
}
  • 响应成功: FastResponse::success(...)
{
    "success": true,
    "message": "成功",
    "data": {
        "id": 1,
        "nickname": "虚拟用户11",
        "avatar": "......",
        "created_at": "2022-09-05T02:42:19.000000Z",
        "updated_at": "2022-09-05T06:20:00.000000Z"
    }
}

Shell脚本

# 初始化CURD
php artisan infyom:publish --localized 

# 生成API
php artisan infyom:api $MODEL_NAME
# 生成后台页面
php artisan infyom:scaffold $MODEL_NAME
# 生成API+后台
php artisan infyom:api_scaffold $MODEL_NAME 

# 清除用户所有的token并且生成一个新的
php8 artisan user:token 1 -F

# 设置管理员账号
php8 artisan admin:user

# 从现有的Mysql中生成后台CRUD
php8 artisan infyom:scaffold AppUser --fromTable  --table=app_users 
php8 artisan infyom:scaffold User --fromTable  --table=users 

# 从文件生成
php8 artisan infyom:scaffold Demo --fieldsFile=Demo.json 
# 回滚(删除生成的文件)
php8 artisan infyom:rollback Demo scaffold
# 只更新controller
php8 artisan infyom.scaffold:controller AppUser --fromTable  --table=app_users 

数据JSON描述文件

  • name: 数据库字段名称
  • dbType: 数据库迁移数据类型,参考Laravel 迁移文件语法,后面可以接:分割方法,,分割参数,格式{类型},{参数1},{参数2},{...}:{方法1},{方法参数1},{...}$table->string('nickname',50)=>string,50:default,
  • htmlType: 表单显示数据类型,参考html input标签语法, 格式{类型}:{K},{V}:{K2},{V2}...,代码见HTMLFieldGenerator
    • select:Draft:1,Published:2,Archived:3
    • enum同上
    • radio:Blog:1,Event:2,Guest:3
    • checkbox 貌似不支持
    • ...
  • validations: 表单验证规则
  • searchable: 是否支持搜索
  • fillable: 是否可以填充属性
  • primary: 主键
  • inForm: 表单是否展示(create, update)
  • inIndex: 列表是否展示(index)
  • inView: 详情是否展示(show)

checkbox代码参考

<!-- Roles Field -->
<div class="form-group col-sm-6">
    {!! Form::label('sex', __('models/demos.fields.roles'), ['class' => 'form-check-label']) !!}
    <div class="form-check">
        {!! Form::checkbox('roles[]', '1', null, ['class' => 'form-check-input','id'=>'roles-1']) !!}
        {!! Form::label('roles-1', '客服', ['class' => 'form-check-label']) !!}
    </div>
    <div class="form-check">
        {!! Form::checkbox('roles[]', '2', null, ['class' => 'form-check-input','id'=>'roles-2']) !!}
        {!! Form::label('roles-2', '销售', ['class' => 'form-check-label']) !!}
    </div>
    <div class="form-check">
        {!! Form::checkbox('roles[]', '3', null, ['class' => 'form-check-input','id'=>'roles-3']) !!}
        {!! Form::label('roles-3', '管理员', ['class' => 'form-check-label']) !!}
    </div>
    <div class="form-check">
        {!! Form::checkbox('roles[]', '4', null, ['class' => 'form-check-input','id'=>'roles-4']) !!}
        {!! Form::label('roles-4', '超级管理员', ['class' => 'form-check-label']) !!}
    </div>
</div>

用户表

  • 管理员: User,框架自带的,用来做后台管理员
  • 应用用户: AppUser,基本上做任何一个应用都需要定义用户表,可以修改这个模型对应的迁移文件支持个性化的业务需求