PHPackages                             vinlon/laravel-lay-admin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. vinlon/laravel-lay-admin

ActiveLibrary[Admin Panels](/categories/admin)

vinlon/laravel-lay-admin
========================

LayUI Admin Starter for Laravel Project

1.0.1(3y ago)24181MITJavaScript

Since Dec 1Pushed 3y ago1 watchersCompare

[ Source](https://github.com/vinlon/laravel-lay-admin)[ Packagist](https://packagist.org/packages/vinlon/laravel-lay-admin)[ RSS](/packages/vinlon-laravel-lay-admin/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (6)Versions (68)Used By (1)

Laravel LayUI Admin
===================

[](#laravel-layui-admin)

更新日志
----

[](#更新日志)

v1.0.0 修改enum库版本，PHP版本最低要求为8.0

v0.8.0: 将角色改为通过枚举类定义，不再写入数据库

v0.7.1: 增加管理员密码找回功能

v0.7.0: 后台用户不再通过命令行创建，第一次打开后会进入初始化页面

v0.6.x: 增加资源管理功能，包括图片管理和内容管理，不需要手动执行db:seed初始化角色

v0.5.0: 将菜单的定义放在配置文件中(去掉admin\_menus表及菜单管理页面)，免去上线时同步系统菜单的步骤

v0.4.0: 更新layui版本到v2.6.4, [查看更新日志](https://www.layui.com/doc/base/changelog.html)

v0.3.1: 添加表单必填项的自动处理功能

v0.3.0: api路由前缀由admin改为lay-admin，以免和业务端代码产生冲突

v0.2.4: BaseController 增加 paginateResponse 方法，简化分页数据查询的代码

使用
--

[](#使用)

1. #### 引入package

    [](#引入package)

```
composer require vinlon/laravel-lay-admin
```

2. #### 发布 public 文件

    [](#发布-public-文件)

```
php artisan vendor:publish --provider="Vinlon\Laravel\LayAdmin\LayAdminServiceProvider" --tag=public --force
```

3. #### 发布 config 文件

    [](#发布-config-文件)

```
php artisan vendor:publish --provider="Vinlon\Laravel\LayAdmin\LayAdminServiceProvider" --tag=config
```

4. #### 创建数据库表并初始化数据

    [](#创建数据库表并初始化数据)

```
# 如果数据库中已经存在对应的数据表，需要先将其 drop
php artisan migrate
```

5. #### 生成JWT\_SECRET

    [](#生成jwt_secret)

```
php artisan jwt:secret
```

配置建议
----

[](#配置建议)

```
# 默认值为admin, 管理后台访问地址为 ${APP_URL}/admin
LAY_ADMIN_ROUTE_PREFIX=
LAY_ADMIN_DISPLAY_NAME=

# JWT Token 有效期，单位为‘分’，默认值为 60 分钟
JWT_TTL=

# 如果需要通过邮件找回密码，则需要添加邮箱相关的配置
MAIL_MAILER=smtp
MAIL_HOST={邮箱使用的smtp服务器}
MAIL_PORT=465
MAIL_USERNAME={邮箱用户名}
MAIL_PASSWORD={邮箱密码}
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS={邮箱用户名}
MAIL_FROM_NAME={发件人名称}

```

命令
--

[](#命令)

- 重置密码

```
php artisan lay-admin:reset-password admin admin

```

```
=====重置成功=====
当前密码为： admin

```

开发指引
----

[](#开发指引)

#### 使用auth:lay-admin middleware 对请求的登录状态进行验证

[](#使用authlay-admin-middleware-对请求的登录状态进行验证)

```
Route::group(['middleware' => ['auth:lay-admin']], function () {
    //这里放置你的需要登录Admin后台API路由
});

```

#### 角色定义

[](#角色定义)

系统默认只添加了【超级管理员】这一个角色，如果需要更多角色，可以通过如下流程添加：

1. 重新定义一个继承AdminRole的角色类
2. 在getMenuIds方法中定义该角色的菜单
3. 在getPrivileges方法返回该角色对应的权限

```
class AdminRoleExtend extends AdminRole
{
    const TEST = '新角色测试';

    /**
     * @return string[]
     */
    public function getMenuIds()
    {
        $roleMenus = [
            self::TEST => ['_my.profile', 'ops.setting', '_user'],
        ];

        return Arr::get($roleMenus, $this->value, []);
    }

    /**
     * @return string[]
     */
    public function getPrivileges()
    {
        $rolePrivileges = [
            self::TEST => [1, 2, 3],
        ];

        return Arr::get($rolePrivileges, $this->value, []);
    }
}
```

#### BaseController

[](#basecontroller)

- LayAdmin对数据返回的格式有统一要求，可调用 successResponse 和 errorResponse 方法分别对成功和失败的返回结果进行封装
- 分页查询的结果可以调用 paginateResponse 返回，该方法接收一个 Eloquent Builder 作为参数

#### 表单必填项自动处理

[](#表单必填项自动处理)

对于如下的表单定义，框架会找到 lay-verify="required" 的元素，自动进行如下处理：

1. 通过 .parent().pref('label') 找到对应的label, 在label的内容前添加必填项标记（ 红色的 \* ）
2. 将 input 元素的 layType 设置为 tips， 将错误提示的样式改为 tips
3. 根据label的值(菜单名称)，为input元素定义默认的 placeholder 和 lay-reqtext (请输入菜单名称)

```

  菜单名称

```

#### 自定义请求方法

[](#自定义请求方法)

在html代码中，可使用如下方法发起HTTP请求

```
admin.get(url, doneCallback, options)

admin.post(url, data, doneCallback, options)

admin.postJson: function (url, data, doneCallback, options)

admin.del(url, id, doneCallback, options)

```

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~12 days

Recently: every ~113 days

Total

67

Last Release

1210d ago

Major Versions

0.12.2 → 1.0.02023-03-10

### Community

Maintainers

![](https://www.gravatar.com/avatar/277ca050c3c4260b26cadec49dafbaa2ff68d1487901ee3be0f930ad890b4d1e?d=identicon)[vinlon](/maintainers/vinlon)

---

Top Contributors

[![vinlon](https://avatars.githubusercontent.com/u/3851841?v=4)](https://github.com/vinlon "vinlon (109 commits)")

###  Code Quality

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/vinlon-laravel-lay-admin/health.svg)

```
[![Health](https://phpackages.com/badges/vinlon-laravel-lay-admin/health.svg)](https://phpackages.com/packages/vinlon-laravel-lay-admin)
```

###  Alternatives

[dcat-plus/laravel-admin

dcat-plus admin

1433.7k10](/packages/dcat-plus-laravel-admin)[hanson/laravel-admin-wechat

2425.2k](/packages/hanson-laravel-admin-wechat)[tuandm/laravue-core

A Laravel package to provide a beatiful datashboard built by VueJS and Element-UI

1484.0k](/packages/tuandm-laravue-core)[dreamfactory/df-core

DreamFactory(tm) Core Components

1652.1k38](/packages/dreamfactory-df-core)[superv/platform

SuperV Platform Package

2412.4k5](/packages/superv-platform)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
