<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] > admin模塊有三個trait,分別為`AdminAuthTrait`,`AdminTreeTrait`,`AdminPhpOffice`,分別對應后臺權限相關驗證、樹結構生成,Excel導出(目前)相關功能。 ## AdminAuthTrait ### `checkLogin`(檢查登錄)方法 當前url如果不在`$loginExcept`變量內,則需要登錄,`$loginExcept`變量的格式為 `應用名/控制器名/方法名`,示例代碼如下: ```php protected array $loginExcept = [ // 登錄地址無需判斷登錄 'admin/auth/login', ]; ``` ### `checkAuth`(檢查權限)方法 當前url如果不在`$authExcept`變量內,則需要登錄,`$authExcept`變量的格式為 `應用名/控制器名/方法名`,示例代碼如下: ``` protected array $authExcept = [ // 退出方法不需要權限 'admin/auth/logout', ]; ``` ### `checkOneDeviceLogin`(檢查單設備登錄)方法 如果想實現每個賬號只能一個設備登錄,只需要在后臺`設置中心`-`后臺設置`-`安全設置`中開啟`單設備登錄`即可,該設置調用此方法來實現單設備登錄相關功能。 ### `checkToken`(檢查csrf token)方法 當開啟CSRFToken檢測的時候,會調用此方法來驗證token。對應的前端刷新token的代碼在/public/static/admin/js/admin.js中,對應的函數名為`refreshCsrfToken`,可自行查看該函數實現。 ### `createLog`(創建日志)方法 創建用戶操作日志調用該方法。 ## AdminTreeTrait > 該trait為5年前從網絡上復制改造而成,未做優化處理,可自行查看內部實現,基本都有注釋。 ### `getLeftMenu`(獲取左側菜單)方法 頁面左側菜單為該方法獲取,目前未做優化處理。 ### `getBreadCrumb`(獲取當前面包屑)方法 頁面右上角面包屑為該方法獲取,目前未做優化處理。 ### `getTreeList`(獲取樹形數據列表)方法 例如多級分類,我們可以直接在控制器中寫如下方法,即可實現樹形數據展示。 ~~~php /** * 列表 */ public function index(Category $model) { $this->assign([ 'data' => $this->getTreeList($model), ]); return $this->fetch(); } ~~~ 在視圖中寫如下代碼即可: ```html <div class="card-body table-responsive p-0"> <table class="table table-hover table-bordered dataTable text-nowrap"> <thead> <tr> <th> <input id="dataCheckAll" type="checkbox" onclick="checkAll(this)" class="checkbox" placeholder="全選/取消"> </th> <th>ID</th> <th>名稱</th> <th>操作</th> </tr> </thead> <tbody> {$data|raw} </tbody> </table> </div> ``` ### `getSelectList`(獲取樹形選擇數據列表)方法 例如添加文章的時候選擇分類,但是分類是多級的,這個時候我們可以直接在控制器中方法中寫如下方法,即可實現樹形select。 ~~~php /** * 添加 */ public function add(Category $category) { // 上面代碼省略 $this->assign([ // 生成樹形選擇option 'category_list' => $this->getTreeList($category), ]); return $this->fetch(); } ~~~ 前端表單相關代碼: ```html <div class="form-group row"> <label for="category_id" class="col-sm-2 control-label">用戶等級</label> <div class="col-sm-10 col-md-4 formInputDiv"> <select name="category_id" id="category_id" class="form-control select2bs4 fieldSelect" data-placeholder="請選擇分類"> <option value=""></option> {$categort_list|raw} </select> </div> </div> <script> $('#categroy_id').select2({ theme: 'bootstrap4' }); </script> ``` ### `authorizeHtml`(獲取角色授權頁html)方法 角色授權頁調用的方法,目前已知缺陷,當授權項和層級過多時,頁面會比較長,不方便操作,計劃后期改成折疊的tree形式。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看