<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 前端auth權限驗證 > 為什么前端也做權限認證,權限認證不應該是后端做的嗎? 這里的權限認證指的是前端判斷是否有權限查看的數據(例如:添加、刪除、編輯之類的按鈕),這些只有在點擊到對應的url之后,后端才會進行權限認證。 為了避免用戶困擾,可以在此用上前端的權限認證,判斷是否顯示還是隱藏 # 視圖頁面內權限例子 * 第一種示例, 通過php的`auth()`方法生成`layui-hide`樣式屬性。 ~~~ <button class="layui-btn layui-btn-normal layui-btn-sm {if !auth('system.menu/add')}layui-hide{/if}" data-open="system.menu/add" data-title="添加" data-full="true"><i class="fa fa-plus"></i> 添加</button> ~~~ * 第二種, 通過php的`auth()`方法判斷, 是否顯示html ~~~ {if !auth('system.menu/add')} <button class="layui-btn layui-btn-normal layui-btn-sm" data-open="system.menu/add" data-title="添加" data-full="true"><i class="fa fa-plus"></i> 添加</button> {/if} ~~~ # table表格內權限例子 * table表格里面,一種table表格`上方`的操作欄`toolbar`需要權限判斷是否顯示。 * 另外一種是table表格`里面`的列操作欄`operat`也需要權限判斷是否顯示。 ### 事先定義權限規則 * 需要在對應的表格的`dom`事先全好對應的權限規則。 * 權限規則為:`data-auth-`\+ 規則名 * 例如:data-auth-`add`\="{:auth('goods.cate/add')}",`add`就是對應的權限規則。 > 下方例子中共定義了:`add``edit``delete``stock`四種權限規則 ~~~ <div class="layuimini-container"> <div class="layuimini-main"> <table id="currentTable" class="layui-table layui-hide" data-auth-add="{:auth('mall.goods/add')}" data-auth-edit="{:auth('mall.goods/edit')}" data-auth-delete="{:auth('mall.goods/delete')}" data-auth-stock="{:auth('mall.goods/stock')}" lay-filter="currentTable"> </table> </div> </div> ~~~ ### 表格上方的`toolbar`權限驗證 下面簡單講解權限驗證,完整的`toolbar`的使用和配置請查看`table`模塊。 * `toolbar`內置三個內置權限驗證:`add`,`delete`,`export` ~~~ toolbar: ['refresh','add', 'delete', 'export'] ~~~ * 自定義`toolbar`, 在`auth`屬性上填寫`權限規則` ~~~ toolbar: ['refresh', [{ text: ' 添加', open: init.add_url, class: 'layui-btn layui-btn-normal layui-btn-sm', icon: 'fa fa-plus ', title: '添加', auth: 'add', extend: ' data-full="true"', }], 'delete', 'export'], ~~~ ### 表格內列操作`operat`的權限驗證 * `operat`內置三個內置權限驗證:`edit`,`delete` ~~~ operat: ['edit', 'delete'] ~~~ * 自定義`operat`, 在`auth`屬性上填寫`權限規則` ~~~ operat: [ [{ class: 'layui-btn layui-btn-xs layui-btn-success', method: 'open', text: '編輯', auth: 'edit', url: init.edit_url, extend: 'data-full="true"', }, { class: 'layui-btn layui-btn-xs layui-btn-normal', method: 'open', text: '入庫', auth: 'stock', url: init.stock_url, extend: '', }], 'delete'] ~~~ # 完整例子 ~~~ define(["jquery", "easy-admin"], function ($, ea) { var init = { table_elem: '#currentTable', table_render_id: 'currentTableRenderId', index_url: 'mall.goods/index', add_url: 'mall.goods/add', edit_url: 'mall.goods/edit', del_url: 'mall.goods/del', export_url: 'mall.goods/export', modify_url: 'mall.goods/modify', stock_url: 'mall.goods/stock', }; var Controller = { index: function () { ea.table.render({ init: init, modifyReload: true, toolbar: ['refresh', [{ text: ' 添加', open: init.add_url, class: 'layui-btn layui-btn-normal layui-btn-sm', icon: 'fa fa-plus ', title: '添加', auth: 'add', extend: ' data-full="true"', }], 'delete', 'export'], cols: [[ {type: "checkbox"}, {field: 'id', width: 80, title: 'ID'}, {field: 'sort', width: 80, title: '排序', edit: 'text'}, {field: 'cate.title', minWidth: 80, title: '商品分類'}, {field: 'title', minWidth: 80, title: '商品名稱'}, {field: 'logo', minWidth: 80, title: '分類圖片', search: false, templet: ea.table.image}, {field: 'market_price', width: 100, title: '市場價', templet: ea.table.price}, {field: 'discount_price', width: 100, title: '折扣價', templet: ea.table.price}, {field: 'total_stock', width: 100, title: '庫存統計'}, {field: 'stock', width: 100, title: '剩余庫存'}, {field: 'virtual_sales', width: 100, title: '虛擬銷量'}, {field: 'sales', width: 80, title: '銷量'}, {field: 'status', title: '狀態', width: 85, selectList: {0: '禁用', 1: '啟用'}, templet: ea.table.switch}, {field: 'create_time', minWidth: 80, title: '創建時間', search: 'range'}, { width: 250, title: '操作', templet: ea.table.tool, operat: [ [{ class: 'layui-btn layui-btn-xs layui-btn-success', method: 'open', text: '編輯', auth: 'edit', url: init.edit_url, extend: 'data-full="true"', }, { class: 'layui-btn layui-btn-xs layui-btn-normal', method: 'open', text: '入庫', auth: 'stock', url: init.stock_url, extend: '', }], 'delete'] } ]], }); ea.listen(); }, add: function () { ea.listen(); }, edit: function () { ea.listen(); }, stock: function () { ea.listen(); }, }; return Controller; }); ~~~
                  <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>

                              哎呀哎呀视频在线观看