后台权限模块——权限列表和添加

1.权限列表控制器方法

    public function index()
    {
        //1.从权限模型中获取所有数据
        $permission = Permission::get();
        //2.将获取的所有权限数据,返回给权限列表模板
        return view('admin.permission.list',compact('permission'));
    }

2.在权限列表模板显示数据

  • 表单项
          <th>ID</th>
          <th>权限名称</th>
          <th>权限对应的控制器方法</th>
          <th>操作</th>
  • 循环表单项,显示数据
        @foreach($permission as $v)
        <tr>
          <td>{{ $v->id }}</td>
          <td>{{ $v->per_name }}</td>
          <td>{{ $v->per_url }}</td>
          <td class="td-manage">
            <a title="编辑"></a>
            <a title="删除"></a>
          </td>
        </tr>
        @endforeach

3.添加权限添加链接地址

       <a _href="{{ url('admin/permission/create') }}">
           <cite>添加权限</cite>

4.添加权限控制器方法

    public function create()
    {
        //1.返回添加权限页
        return view('admin.permission.add');

    }

5.添加权限模板

  • 位置:
    resources/views/admin/permission/add.blade.php
  • 表单提交地址
    <form class="layui-form" action="{{ url('admin/permission') }}" method="post">
  • 防止csrf
    {{ csrf_field() }}
  • 表单提交项
    <span class="x-red">*</span>权限名称
    <span class="x-red">*</span>控制器方法
  • 表单提交的name和value
    <input type="text" name="per_name">
    <input type="text" name="per_url">
  • 提交按钮
    <button>增加</button>

6.使用ajax来添加权限

  • 表单提交事件
      //点击表单提交事件add()方法
      <button class="layui-btn" lay-filter="add" lay-submit="">
           增加
      </button>
  • 编写表单提交事件
            //监听提交事件submit(add)
            form.on('submit(add)', function(data) {
                //发异步,把数据提交给php
                $.ajax({
                    //提交的类型
                    type: 'POST',
                    //要提交的网址
                    url: '/admin/permission',
                    //服务端返回的数据类型                   
                    dataType: 'json',
                    //请求头携带token
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    },
                    //data.field为当前容器的全部表单字段,名值对形式:{name: value}
                    data: data.field,
                    //请求成功,服务端返回的数据
                    success: function(data) {
                        //console.log(data);
                        //如果,返回的data数据的数组的键status的值等于0,表示请求成功
                        if (data.status == 0) {
                              //弹层提示data数据的数组的键message的值,layer图标{icon:6}笑脸
                            layer.alert(data.message,{icon:6},function(){
                                //刷新父页面
                                parent.location.reload(true);
                            });
                        //否则,返回的data数据的数组的键status的值不等于0,表示请求失败
                        }else{
                            //弹层提示data数据的数组的键message的值,layer图标{icon:5}哭脸
                            layer.alert(data.message,{icon:5});
                        }
                    },
                    error: function() {
                        //错误信息
                    }
                });                

                return false;
            });
  • 编写表单提交后的控制器处理方法
    public function store(Request $request)
    {
        //1.获取表单提交过来的数据
        $input = $request->all();
        //2.进行表单验证

        //3.向数据表permission中插入数据
        $res = Permission::create($input);
        //4.判断插入是否成功
        //如果插入成功,创建data数组,用来给客户端响应json数据
        if ($res) {
            $data = [
                'status'=>0,
                'message'=>'添加成功',
            ];
        //否则插入失败,创建data数组,用来给客户端响应json数据
        }else {
            $data = [
                'status'=>1,
                'message'=>'添加失败',
            ];
        }
        //json_encode($data);
        //将data数据返回给客户端
        return $data;
    }
posted @ 2020-12-07 21:53  shengge  阅读(424)  评论(0)    收藏  举报