yamecent-admin 基於 Laravel 框架的 rbac 後臺管理系統

woann發表於2018-12-02

LOGO

專案簡介

yamecent-admin是一款基於laravel框架進行封裝的後臺管理系統,其中包含:

  • rbac許可權管理模組
  • 完整的UI元件
  • 自定義配置管理
  • 圖片上傳,網路請求等常用的js公共函式
  • 專案彈出層引用了layer,可直接使用layer
  • 專案地址:https://github.com/woann/yamecent-admin
  • 持續維護中...

安裝教程

  • 執行安裝命令 composer create-project woann/yamecent-admin 或者git clone https://github.com/woann/yamecent-admin.git
  • 配置域名(按laravel專案正常配置即可,解析到public目錄)
  • 如發現許可權相關問題 執行 chown -R 使用者名稱:使用者組 專案目錄
  • 訪問域名,登入即可進入管理系統
  • 首次訪問域名時會跳轉至安裝頁面安裝頁面.jpg
  • 填寫完資料表配置之後,點選安裝即可(有點小慢,喝口水)
  • 安裝完之後就可以使用剛剛提交的管理員賬號密碼登入了(如果您想重新安裝,要將/app/install/install.lock 檔案刪掉,重新訪問網址即可)

請求(不想用這個請求方法可以自行用ajax)

var data = {id:1};//引數
myRequest("/admin/config/add","post",data,function(res){
    //請求成功回撥
    layer.msg("提示資訊");//彈出提示
    //15秒後重新整理父頁面
    setTimeout(function(){
        parent.location.reload();
    },1500)
});

請求失敗回撥預設封裝了取消loading層的操作,如果想自定義請求失敗的回撥的話,自行修改public/assets/js/common.js檔案中的myRequest方法

表單不為空驗證

input新增requireclass

 <div class="form-group" id="string">
    <label >* 測試</label>
    <input type="text" name="test" class="form-control require"  placeholder="">
</div>
check = checkForm();//驗證表單,如果帶有require的input為空,則邊框變為紅色並彈出提示
if(!check){
    return false;
}

富文字

  • html
    <div class="form-group ">
        <label >富文字</label>
        <textarea  placeholder="請在此處編輯內容"  id="editor" style="height:400px;max-height:400px;overflow: hidden"></textarea >   
    </div>
  • javascript
    var editor = new wangEditor('editor');
    editor.config.uploadImgUrl = "/admin/wangeditor/upload";
    // 隱藏掉插入網路圖片功能。該配置,只有在你正確配置了圖片上傳功能之後才可用。
    editor.config.hideLinkImg = false;
    //關閉導航欄浮動
    editor.config.menuFixed = false;
    editor.create();
  • 示例
    富文字編輯器

時間選擇器

  • yamecent-admin的時間選擇器是引入flatpickr外掛,支援多語言,各種格式的時間選擇。檢視文件
  • html
    <div class="form-group">
       <label >*生效時間</label>
       <input type="text"  class="form-control required calendar" name="time" placeholder="請選擇時間">
    </div>
    • javascript
      $(".calendar").flatpickr({
          dateFormat:"Y-m-d H:i:S",
          enableTime:true,
          enableSeconds:true
          //更多配置百度搜尋flatpickr即可找到
      });
    • 示例

時間選擇器

列表批量操作

  • html

    <!--按鈕-->
    <button type="button" class="btn btn-sm btn-gradient-danger btn-icon-text" onclick="batch('/admin/user/del/')">
       <i class="mdi mdi-delete btn-icon-prepend"></i>批量刪除
    </button>
    <!--全選核取方塊-->
    <tr>
        <th width="3%">
            <div class="form-check">
                <label class="form-check-label">
                    <input type="checkbox" class="form-check-input batch-all">
                </label>
            </div>
         </th>
        ...
    </tr>
    <!--列表核取方塊-->
    <tr>
        <td>
            <div class="form-check">
               <label class="form-check-label">
                   <input type="checkbox" class="form-check-input td-check" value="{{ $v->id }}">
               </label>
            </div>
        </td>
        ...
    </tr>
    • 示例
      批量操作

部分截圖

  • 資料統計

資料統計

  • 自定義配置(字串,圖片,富文字多種資料格式,可通過getConfig("key")的方式獲取配置值)

自定義配置

  • 許可權管理

許可權管理

  • 選單管理

選單管理

  • 管理員

管理員

  • 角色

角色

作者 @woann @xjj
2018 年 10月 30日

相關文章