bantenprov/vue-trust

使用vuejs管理信任

dev-master 2018-05-17 11:38 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:21:03 UTC


README

Join the chat at https://gitter.im/vue-trust/Lobby Scrutinizer Code Quality Build Status Latest Stable Version Total Downloads Latest Unstable Version License Monthly Downloads Daily Downloads

使用vuejs管理laravel权限

通过composer安装

$ composer require bantenprov/vue-trust:dev-master

编辑config/app.php

'providers' => [

        /*
         * Application Service Providers...
         */
        App\Providers\AppServiceProvider::class,
        App\Providers\AuthServiceProvider::class,
        // App\Providers\BroadcastServiceProvider::class,
        App\Providers\EventServiceProvider::class,
        App\Providers\RouteServiceProvider::class,
        
        //................
        
        Bantenprov\VueTrust\VueTrustServiceProvider::class,

发布资产

$ php artisan vendor:publish --tag=vue-trust-assets

在resources/assets/js/routes/routes.js中添加

...authGuard([
  {
      path: '/admin',
      name: 'admin',
      redirect: '/admin/dashboard',
      component: layout('Default'),
      children: [
        //=== vue trust route
          {
            path: '/admin/vue-trust/role',
            components: {
              main: resolve => require(['~/components/bantenprov/vue-trust/role/role.index.vue'], resolve),
              navbar: resolve => require(['~/components/Navbar.vue'], resolve),
              sidebar: resolve => require(['~/components/Sidebar.vue'], resolve)
            },
            meta: {
              title: "Role"
            }
            },
            {
            path: '/admin/vue-trust/role/create',
            components: {
              main: resolve => require(['~/components/bantenprov/vue-trust/role/role.create.vue'], resolve),
              navbar: resolve => require(['~/components/Navbar.vue'], resolve),
              sidebar: resolve => require(['~/components/Sidebar.vue'], resolve)
            },
            meta: {
              title: "Role"
            }
            },
            {
              path: '/admin/vue-trust/role/:id/set-permission',
              components: {
                main: resolve => require(['~/components/bantenprov/vue-trust/role/role.setpermission.vue'], resolve),
                navbar: resolve => require(['~/components/Navbar.vue'], resolve),
                sidebar: resolve => require(['~/components/Sidebar.vue'], resolve)
              },
              meta: {
                title: "Role"
              }
            },
            {
              path: '/admin/vue-trust/role/:id/show',
              components: {
                main: resolve => require(['~/components/bantenprov/vue-trust/role/role.show.vue'], resolve),
                navbar: resolve => require(['~/components/Navbar.vue'], resolve),
                sidebar: resolve => require(['~/components/Sidebar.vue'], resolve)
              },
              meta: {
                title: "Role"
              }
            },
            {
            path: '/admin/vue-trust/role/:id/edit',
            components: {
              main: resolve => require(['~/components/bantenprov/vue-trust/role/role.edit.vue'], resolve),
              navbar: resolve => require(['~/components/Navbar.vue'], resolve),
              sidebar: resolve => require(['~/components/Sidebar.vue'], resolve)
            },
            meta: {
              title: "Role"
            }
          },
            {
            path: '/admin/vue-trust/permission',
            components: {
              main: resolve => require(['~/components/bantenprov/vue-trust/permission/permission.index.vue'], resolve),
              navbar: resolve => require(['~/components/Navbar.vue'], resolve),
              sidebar: resolve => require(['~/components/Sidebar.vue'], resolve)
            },
            meta: {
              title: "Permission"
            }
            },
            {
            path: '/admin/vue-trust/permission/create',
            components: {
              main: resolve => require(['~/components/bantenprov/vue-trust/permission/permission.create.vue'], resolve),
              navbar: resolve => require(['~/components/Navbar.vue'], resolve),
              sidebar: resolve => require(['~/components/Sidebar.vue'], resolve)
            },
            meta: {
              title: "Permission"
            }
            },
            {
            path: '/admin/vue-trust/permission/:id/show',
            components: {
              main: resolve => require(['~/components/bantenprov/vue-trust/permission/permission.show.vue'], resolve),
              navbar: resolve => require(['~/components/Navbar.vue'], resolve),
              sidebar: resolve => require(['~/components/Sidebar.vue'], resolve)
            },
            meta: {
              title: "Permission"
            }
            },
            {
            path: '/admin/vue-trust/permission/:id/edit',
            components: {
              main: resolve => require(['~/components/bantenprov/vue-trust/permission/permission.edit.vue'], resolve),
              navbar: resolve => require(['~/components/Navbar.vue'], resolve),
              sidebar: resolve => require(['~/components/Sidebar.vue'], resolve)
            },
            meta: {
              title: "Permission"
            }
          },
        //=== end vue trust route

在resources/assets/js/app.js中添加

//.......
//== vue trust menus
import vuetrust_menu from './components/bantenprov/vue-trust/vuetrust_menu';

运行dev(开发)

$ npm run dev

继续安装laratrust

laratrust的安装和配置可以在这里查看这里

安装和配置laratrust后,继续

编辑app/Role.php & app/Permission.php

<?php

namespace App;

use Laratrust\Models\LaratrustRole;

class Role extends LaratrustRole
{
    public $fillable = ['name', 'display_name', 'description'];
}
<?php

namespace App;

use Laratrust\Models\LaratrustPermission;

class Permission extends LaratrustPermission
{
    public $fillable = ['name', 'display_name', 'description'];
}