• 在线考试系统基础模块开发(RBAC)


     

       今天算是正式开始码代码了,采用的后台UI模板是layui. PHP的后台框架是laravel。

    今日完成任务

      基础模块RBAC完成。

      附上系统的截图

      

    核心源码

        因为是最基本的列表,系统中以后可能会有很多的这样的列表。就先把公共的JS写一下。后续的话,这样普通的规范的列表,采用配置化开发。

                 

    public static function reqIndex($condition){
        $query = DB::table('users')->join('class_info','class_info.id','=','class_id');
        if (!empty($condition['keyword'])) {
            $query = $query->where(function ($query) use ($condition) {
                $query->where('name', 'like', '%' . $condition['keyword'] . '%')
                    ->orwhere('email', 'like', '%' . $condition['keyword'] . '%');
            });
        }
        if (strlen($condition['user_status']) > 0) {
            if ($condition['user_status'] != -1) {
                $query = $query->where('status', '=', $condition['user_status']);
            }
        }
        $data['count'] = $query->count();
        if ($condition['page'] && $condition['limit']) {
            $query = $query->skip(($condition['page'] - 1) * $condition['limit'])->take($condition['limit']);
        } else {
            $query = $query->limit($condition['limit']);
        }

        $res = $query->select('users.id', 'email', 'name','class_name', 'users.status','is_super')->get()->toArray();
        $data['data'] = $res;
        return $data;
    }

      配置文件
      

    return [
        'list_url' => 'admin_setting',
        'is_page' => 'true',
        'limit' => 15,
        'limits' => '15,25,50,100',
        'width' => '98%',
        'list_fields' => [
            [
                'field' => 'email',
                'field_desc' => '登录邮箱',
                'width' => '20%',
            ],
            [
                'field' => 'name',
                'field_desc' => '用户名称',
                'width' => '20%',
            ],
            [
                'field' => 'class_name',
                'field_desc' => '班级',
                'width' => '15%',
            ],
            [
                'field' => 'status',
                'field_desc' => '状态',
                'width' => '15%',
                'templet' => '#templet_status',
            ],
            [
                'field' => 'is_super',
                'field_desc' => '是否是超级管理员',
                'width' => '15%',
                'templet' => '#templet_super',
            ],
            [
                'field_type' => 'toolbar',
                'field' => '#barFilter',
                'field_desc' => '操作',
                'width' => '15%',
                'fixed'=>'right',
            ],
        ]

    ];

    遇到问题

    1. layui的使用

    解决问题

    1. 参考官方文档

    项目燃尽图

  • 相关阅读:
    OpenGL入门学习
    linux下安装sqlite3
    SQLite 之 C#版 System.Data.SQLite 使用
    .net程序运行流程
    一种简单,轻量,灵活的C#对象转Json对象的方案
    C# 获取Windows系统:Cpu使用率,内存使用率,Mac地址,磁盘使用率
    WPF中选择文件及文件夹
    要想创业成功,千万不能在这十个方面走弯路
    [译]Quartz.Net 框架 教程(中文版)2.2.x 之第三课 更多关于Jobs和JobDetails
    [译]Quartz 框架 教程(中文版)2.2.x 之第二课 Quartz API,Jobs和Triggers简介
  • 原文地址:https://www.cnblogs.com/sofic/p/13280566.html
Copyright © 2020-2023  润新知