Laravel6.0 最新开源后台系统,集成了大部分常用功能,后台模板 Layui

版权说明

这里用了Layui admin ui ,我已购买了正版,现在我这里说明下。如果你们需要,请购买正版,去官方购买下载。,避免不必要的麻烦,如果未来有时间,将全部改成bootstrap 模板,这个不确定具体时间,因为太忙,没时间。

即将增加bootstrap 4 + Layui 库版本

这样大家方便去商业,不必再付费


声明

本系统属于个人开源给大家学习,没有什么高低之分,如果你们要是觉得这写的水平低,请自觉绕道,本文不合适你花费时间阅读,只供于学习使用,发布本文章,没有建议大家一定要用,只是个人的一个分享,经此而已.。

KongQi Laravel admin

集成了,图片上传,多图上传,批量Excel导入,批量插入,修改,添加,搜索,权限管理RBAC,验证码,插件一个综合完善后台,助你开发快人一步。
准许协议MIT,允许你修改和包装,但需要注明版权。

关于后台管理系统

利用laravel框架,打造一款快速开发后台操作,内置了RBAC权限管理,集成了列表api,批量删除,批量增加,Excel批量导入,排序,列表编辑,图片上传,图片多图上传,编辑器,插件安装等。

  • 界面采用Layui,简单方便,上手容易
  • 对经常用到的一些功能,进行了封装和改造,让代码写的更少。
  • 拿到就能快速开发,无需繁琐的搭建一个后台管理系统。
  • 代码极少就能完成增删改查。
  • 搜索功能进行了改变,减少一大堆的判断
  • blade视图自动找到文件模板,免去写很多的视图定位文件,全部自动化。

系统说明

  • PHP7.2以上版本
  • Laravel 6.0,低于这个版本也可以,但不能低于5.2版本

最新学习社区-黑白课堂

http://www.heibaiketang.com

系统截图

系统演示
系统演示
系统演示
系统演示
系统演示
系统演示
系统演示
系统演示
系统演示
系统演示
系统演示

安装

第一步:拉取代码

git clone  https://github.com/kong-qi/kongqi_laravel_admin.git

第二步:安装框架依赖

composer install

第三步:创建一个数据库,utf8mb4字符集
第四步:本地创建网站应用,绑定到网站目录/public下
第五步:重写
nginx 重写

location / {
    if (!-e $request_filename){
        rewrite  ^(.*)$  /index.php?s=$1  last;   break;
    }
}

apache 重写,默认public已经有了,可忽略

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

第六步拷贝您的.env,或者新建一个,内容如下

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:Fv0e0XTllfQQSWXfHbxd/lrqLlH9FCt41hRNLUAEpRo=
APP_DEBUG=1
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=a
DB_USERNAME=root
DB_PASSWORD=123456
DB_PREFIX=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=6379
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

LANG=zh-CN
KONGQI_SERVER=eyJob3N0Ijoid3d3LjIwMTlsdi5jb20iLCJpcCI6IjEyNy4wLjAuMSIsInBvcnQiOiI4MCJ9
DEBUGBAR_ENABLED=false

第七步:打开你的网站/admin/即可,自动判断进行安装

http://www.xx.com/admin

在线安装在第三步的时候,如果出现没有提示,请再次输入即可。

安装完成

插件库地址

http://fuwu.kongqikeji.com/

无插件版本,精简版本

https://github.com/kong-qi/kongqi_laravel_... ,其他都一样去除了插件加载

文件说明

除了本身是laravel框架的文件,就不说明了。自行查阅文档

app/Plugin 插件安装的模块目录,

app/Plugin/AdminBaseController.php 插件后台继承基本控制器
app/Plugin/AdminCurlController.php 插件后台继承增删改查控制器
app/Plugin/FrontBaseController.php 插件前台基本控制器
app/Plugin/PluginController.php 插件基本控制器

如果存在插件了,格式会如下,插件结构

app/Plugin/Vote/
    app/Plugin/Vote/Admin/ 后台控制器存放目录
    app/Plugin/Vote/adminRoute.php 后台路由
    app/Plugin/Vote/config.php 插件安装配置文件,固定格式
    app/Plugin/Vote/Front/ 前台控制器存放目录
    app/Plugin/Vote/frontRoute.php 前台路由文件
    app/Plugin/Vote/helper.php 帮助函数文件
    app/Plugin/Vote/Kernel.php 自定义中间件配置文件
    app/Plugin/Vote/Middleware/ 中间件存放目录
    app/Plugin/Vote/Migrations/ 安装数据库相关文件目录
    app/Plugin/Vote/Models/ 插件模型存放目录

Services目录

app/Services/DateServices.php 日期封装类
app/Services/SearchServices.php 搜索封装类
app/Services//WeiXinServices.php 微信相关封装类

TraitClass 目录trait类,方便多次使用

app/TraitClass/ApiTrait.php 接口输出格式trait类
app/TraitClass/BladeTrait.php 视图输出格式trait类
app/TraitClass/ModelCurlTrait.php 增删改查接口输出格式trait类
app/TraitClass/QueryWhereTrait.php 搜索查询的trait类
app/TraitClass/RouteTrait.php 路由信息的trait类
app/TraitClass/SearchScopeTrait.php 搜索范围的trait类
app/TraitClass/TreeTrait.php 树形 trait类

ExtendClass 目录

app/ExtendClass/AnyUpload.php 任意上传类
app/ExtendClass/UploadFile.php 上传配置和初始化

Facades 门面定义的类

app/Facades/AnyUpload.php
app/Facades/PhpTree.php

Providers 提供者

app/Providers/BladeServiceProvider.php 自定义blade模板指令

静态文件存储

public/static/admin 后台模板文件目录
public/static/install 安装样式目录
public/static/js 公用的JS文件目录
public/static/layui 框架目录
public/static/themify-icons 字体目录

插件静态目录

public/plugin
例如Vote这个插件,那么对应
public/plugin/vote

开发增删改查

生成一个控制器文件,自己创建一个也可以,

php artisan make:controller Admin\TextController

继承基本控制器

<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;

class TextController extends BaseDefaultController
{
    //
}

设置绑定对应要操作模型类

# 例如我这里操作管理员

<?php

namespace App\Http\Controllers\Admin;

use App\Models\Admin;
use Illuminate\Http\Request;

class TextController extends BaseDefaultController
{
    //绑定操作的模型
    public function setModel()
    {
        return $this->model=new Admin();
    }

//表单添加需要验证规则
/**
     * 表单验证规则
     * @param string $id 存在的时候表示更新
     * @return array
     */
    public function checkRule($id = '')
    {
        if (!$id) {
            return [

                'password' => 'required',
                'account' => 'required',

            ];
        }
        return [

            'account' => 'required',

        ];

    }

    //如果我们这个字段对应的验证没有翻译到,那么可以编写如下进行对应,这样如果账号没有必填,就会提示账号了
     public function checkRuleField()
        {
            return [

                'password' => '密码',
                'account' => '账号',

            ];
        }

  }  

这样就可以完成基本的简单的增删改查的控制器,当然现在还没完成,需要绑定路由
修改route/admin.php

$resource = [
        'AdminController',
        'AdminRoleController',
        'AdminPermissionController',
        'CategoryController',
        'PluginController'
    ];
    末尾增加刚才TextController
$resource = [
        'AdminController',
        'AdminRoleController',
        'AdminPermissionController',
        'CategoryController',
        'PluginController',
        'TextController'
    ];

路由加完了。那么左侧菜单也需要增加一下config/admin_menu.php,照着里面格式加一个即可。

这样就完成了一个后台的功能了。
这样首页,添加,修改,编辑,都已经全部写好了,具体的功能,查阅文件,都有说明,不一一讲。

经常用到的方法如下

//首页需要输出到模板里面的数据,返回数组
public function indexData()
{
    return ['hello'=>'你好'];//那样前端首页模板,就可以用{{ $hello }}这个变量取值
}
//添加和修改共享数据,返回数组,$show不为空时,表示修改,那么$show就是这个的编辑的实例查询数据
public function createEditData($show = '')
{
    return ['navs'=>[['id'=>'1','name'=>'熊猫'],['id'=>'2','name'=>'老虎']]];//那么在编辑和输出,可以使用变量{{ $nav }}
}
 //如果你需要去掉默认的编辑和删除按钮,就在这里面重写,最后要返回$item
 public function apiJsonItem($item)
 {
     $item->hello='你好';//首页输出字段就会多了个hello
     return $item;
 }
 //如果不需要去除”编辑和删除按钮“,那么就在里面重写列表输出的字段内容。需要返回$item
 public function apiJsonItemExtend($item)
 {
     $item->hello='你好';//首页输出字段就会多了个hello
     return $item;
 }
 //模型这个操作完之后,你还需要做的事情,可以在里面写,例如我更新缓存,更新日志等
     public function afterSave($model, $id = '')
     {
     }
  //创建,更新之前需要干的事情
     protected function beforeSave($model, $id = '')
     {
     }
 //开启事务,如果表单存在字段['begin_db'=>1]表示开启事务,或者是直接修改beginDb,返回1也表示开启,开启事务之后,afterSave就必须返回真才能正确提交
  /**
      * 是否开启事务
      * @return bool 真表示开启
      */
     protected function beginDb($data, $id = '')
     {
         return isset($data['begin_db']) ? $data['begin_db'] : 0;
     }

常用函数

app/Http/Helper.php

//静态资源加载
function ___($path)
{
    return asset('/static/' . $path);
}

/**
 * 插件样式
 * @param $path
 * @return string
 */
function plugin_res($path)
{
    return asset('/plugin/' . $path);
}
其他的自行查阅

路由前缀命名说明

route/admin.php


默认前缀是"admin."
例如管理员
admin.admin.index
> 插件路由命名

admin.plugin.vote.vote.index
admin.plugin.这个是固定,vote是插件名字,后面才是控制器对应的路由名字

> 插件前端命名

plugin.vote.vote.index
plugin.是固定形式前缀。vote是插件名字,后面才是控制器对应的路由名字


### 前端Layui模块位置

\public\static\admin\modules\,所有的模块默认在这里,
引入的时候,都需要先调用index这个模块
layui.use(['index'], function () {
})

> 重点模块我进行了封装

custorm.js 自定义JS内容
treetable.js 进行更改过
layerOpen.js 弹窗模块
uploader.js 上传模块
request.js 请求模块ajax

本帖由系统于 1个月前 自动加精
空气
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 36
Antony

东西还行, 插件太贵

1个月前 评论
空气

@Antony :joy:嗯,是的,毕竟原创,也不想因为几百块出售。市面上好多烂大街的,十几,二十块都有。哈哈 :joy:,但这不是我的风格。

1个月前 评论
北冥

挺好的,不用插件就行了

1个月前 评论
空气

:joy:对呀,不然就自己撸,要尊重别人的辛苦劳动成果。

1个月前 评论

前端要是 Vue 或者 React 就更好了 :smiley:

1个月前 评论
空气

@xiaobei :joy:有机会再来,时间太宝贵。轮子很难造

1个月前 评论

为你点赞,这功能真的不错

1个月前 评论

大家能不能少用layui后台啊. 不管从配色还是其他地方来讲真的是不太好看. bs搭建一个都比这个好很看很多.. 界面上来讲

file
bs 花不了几分钟就可以自定义了

3周前 评论
justmd5 3周前
空气

@可乐加冰 这个东西,完全看自己的需要,有人喜欢,有人不喜欢,关键是轮子要小,代码效率要高,整体来说layui的她比较全面,不需要全部靠插件堆积,bs基本上靠插件堆积,个人觉得还是比较费劲。

3周前 评论

哈哈 主要看自己 随口说说而已. bs也不是基本上靠插件哦

3周前 评论
Ίκαρος

看了下源码,你的系统使用了付费的LayuiAdmin,而你带着它来当成开源产品来售卖。
已举报。
稍后联系贤心,我得确认下你用的这套LayuiAdmin付费买的,还是说破解版。

3周前 评论
Ίκαρος

那就不要拿来开源,然后改成 MIT,一句“为了学习”也不能免责。

3周前 评论
空气

@Ίκαρος 现在我已经购买了。正版了吧

3周前 评论
空气
  1. 授权 layui 官方任意周边付费产品均可获得我们的 VIP 认证,用户可通过Fly社区的授权帐号下载到产品。
  2. 授权者可将授权后的产品用于任意符合国家法律法规的应用平台,并且不受域名和项目数量限制。
  3. 授权者如果使用 layui 收费产品开发的商业项目(如ERP / CRM / CMS等),需保留我们的源码头注释和出处。
  4. 授权者务必尊重知识产权,严格保证不恶意传播产品源码、不得直接对授权的产品本身进行二次转售或倒卖、不得对授权的产品进行简单包装后声称为自己的产品等。否则我们有权利收回产品授权,并根据事态轻重追究相应法律责任。
  5. 授权 layui 官方的源码类付费产品(如:layim、layuiAdmin等),不支持退款。
  6. 我们有义务为授权者提供有效期内的产品下载、更新和维护,一旦过期,授权者无法享有相应权限。终身授权则不受限制。
  7. layui.com 拥有最终解释权
3周前 评论
空气

file

3周前 评论
Ίκαρος

@空气 👍

3周前 评论
Krisji

说实话 不如 前后端分离 来得好。。

3周前 评论
可乐加冰 3周前
Krisji (作者) 3周前
可乐加冰 3周前

会员或密码错误

3周前 评论

登录不进去了,显示密码错误

3周前 评论
空气

@lupure 改回来了。已增加防止修改

3周前 评论
空气

@FirstBlood 改回来了。已增加防止修改

3周前 评论

出现错别字了,更改密码的提示,还有你官网的联系我们

3周前 评论
空气

@FirstBlood 哪个位置,截图看看先

3周前 评论

大神群群友友情回复一下

3周前 评论
ThinkCsly

这个功能是怎么做的啊

file
是layui自带的吗?这个很好啊。 :blush:

3周前 评论
空气

@ThinkCsly 对的,layui ui的数据表格自带的。

3周前 评论
ThinkCsly

@空气
文档有吗?我还没找到呢。

3周前 评论
空气

@ThinkCsly :joy:这个时候靠度娘,打开他们的ui,然后就可以了找到了。数据表格。

3周前 评论
ThinkCsly

@空气 这个功能叫什么名字呀?可不易截个图给我 :blush: :see_no_evil:

3周前 评论
ThinkCsly

@空气,找到了,谢谢。 :smiley: :smile:

3周前 评论

@空气 我安装了下这个后台,理了理轮子的顺序构造等,但是我有一点不是太明白,为什么安装完成后他加载比较慢,你是设置了属性了还是其他什么原因呢?这个还没有读懂,烦请指教

5天前 评论
空气

@FirstBlood 你说的慢,我不清楚哦,我没觉得什么不妥,而且也没加载什么东西,我觉得速度还可以的。

5天前 评论

@空气 就是说他在加载表格时,会有一个等待的转圈操作,这个是什么情况呢?我运行着大概3-4s才会出现表格中的数据

5天前 评论
空气

@FirstBlood F12自己看下就知道了。

5天前 评论

@空气 那好吧,我回去后运行看下,看是哪堵塞了,应该是一点击侧边栏然后在一秒内出现数据就对了哈

5天前 评论
空气

@tangtangloveyou 嗯,高手求放过。

4天前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!