0

moell/mojito - 基于 Laravel、Vue、ELement 构建的基础后台系统扩展

moell 2018-10-09 发布于后端 moell.cn

可快速衍生多个后台系统
内置角色,权限,用户,菜单管理
OAuth 2.0,并支持多表鉴权
完善的PHPUnit测试
API 权限精确至路由,页面权限精取到按钮或链接
前后端分离
多标签页
前端支持多语言配置
简洁的布局

moell/mojito - 基于 Laravel、Vue、ELement 构建的基础后台系统扩展

2018-10-09 发布,来源:moell.cn

Mojito 是一个基于 Laravel, Vue, Element构建的后台管理系统。

截图

获取地址

https://github.com/moell-peng/mojito 欢迎使用和star

特征

  • 可快速衍生多个后台系统
  • 内置角色,权限,用户,菜单管理
  • OAuth 2.0,并支持多表鉴权
  • 完善的PHPUnit测试
  • API 权限精确至路由,页面权限精取到按钮或链接
  • 前后端分离
  • 多标签页
  • 前端支持多语言配置
  • 简洁的布局

要求

  • Laravel >= 5.5.0
  • Vue >= 2.5.17
  • Element >= 2.4.6

兼容性

Laravel Mojito
5.5, 5.6 1.0.*
5.7 1.1.*

安装

首先安装laravel,并且确保你配置了正确的数据库连接。

  1. composer require moell/mojito

然后运行下面的命令来发布资源:

  1. php artisan mojito:install

命令执行成功会生成配置文件,数据迁移和构建SPA的文件。

config/auth.php中添加相应的 guards 和 providers,如下:

  1. 'guards' => [
  2. ...
  3. 'admin' => [
  4. 'driver' => 'passport',
  5. 'provider' => 'admin'
  6. ]
  7. ],
  8. 'providers' => [
  9. ...
  10. 'admin' => [
  11. 'driver' => 'eloquent',
  12. 'model' => \Moell\Mojito\Models\AdminUser::class,
  13. ]
  14. ],

app/Http/Kernel.php 中 $routeMiddleware 属性添加路由中间 oauth.providersmojito.permission,并将auth中间件替换为如下:

  1. class Kernel extends HttpKernel
  2. {
  3. protected $routeMiddleware = [
  4. // 'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
  5. 'auth' => \SMartins\PassportMultiauth\Http\Middleware\MultiAuthenticate::class,
  6. 'oauth.providers' => \SMartins\PassportMultiauth\Http\Middleware\AddCustomProvider::class,
  7. 'mojito.permission' => \Moell\Mojito\Http\Middleware\Authenticate::class,
  8. ];
  9. }

执行数据迁移,数据填充

  1. php artisan migrate
  2. php artisan db:seed --class="Moell\Mojito\Database\MojitoTableSeeder"

Passport 安装和配置

  1. php artisan passport:install

执行成功后获取到相应的密码授予客户端的 ID 和 secret 并且配置到相对应的 resources/config/index.js :

  1. export default {
  2. admin: {
  3. authorize: {
  4. clientId: ID,
  5. clientSecret: secret
  6. }
  7. }

安装 Javscript 依赖

  1. npm install
  2. npm install -D vuex@^3.0.1 vue-router@^3.0.1 vue-i18n@^8.1.0 localforage@^1.7.2 element-ui@^2.4.6

Mix 引入 admin.js

  1. mix.js('resources/assets/js/app.js', 'public/js')
  2. .sass('resources/assets/sass/app.scss', 'public/css')
  3. //.js('resources/js/admin.js', 'public/js') laravel5.7+
  4. .js('resources/assets/js/admin.js', 'public/js')

运行 Mix

  1. #npm run watch
  2. npm run production

登录

url: http://localhost/mojito#/admin/login

email: admin@gmail.com

password: secret

依赖开源软件

  • Laravel
  • Vue
  • Element UI
  • laravel/passport
  • smartins/passport-multiauth
  • spatie/laravel-permission
  • orchestra/testbench

License

Apache License Version 2.0 see http://www.apache.org/licenses/LICENSE-2.0.html

533 浏览 收藏 报告 阅读模式
载入中...