首頁
產品
文檔
正版
授權查詢
3.5折優惠
渠道合作
更多
關于我們
提交工單
聯系我們
AI編程
likeadmin
AI數字人
碼多多AI
演示中心
源碼下載
登錄/注冊
likeshop開發文檔
開發文檔
展開
? 必看說明
說明
? 部署上線
服務器域名準備工作
阿里云怎么安裝寶塔面板、域名解析、開放端口等①
騰訊云怎么安裝寶塔面板、域名解析、開放端口等②
華為云怎么安裝寶塔面板、域名解析、開放端口③
寶塔部署
服務端寶塔面板部署①
phpStudy部署安裝②
發布上線
準備工作
微信小程序如何發布上線①
微信公眾號商城發布上線②
安卓蘋果APP③
PC端SEO模式④
定時任務
寶塔定時任務配置①
linux定時任務配置②
在線客服
環境配置
系統設置
短信配置
騰訊短信配置
??? 數據接口
必看
接口文檔
?? 數據庫字典
數據庫字典
??? 二次開發
功能
后臺DIY組件二次開發
后臺菜單
目錄結構
likeshop單商戶高級版目錄結構
前端
管理后臺二開編譯上線
nuxt.js PC端如何并發布
uniapp H5(手機網頁)編譯后如何發布
服務端
接口說明
列表類使用
導出功能
問題合集
支付寶支付后,后臺訂單顯示未支付
顯示當前無法更新版本
進行授權后無法訪問
前端使用nvm切換node版本問題
后臺菜單
## 服務端菜單目錄結構 \server\app\adminapi\config下的 **├─??config ** **│ ├─auth.php ** //菜單文件 **│ ├─menu.php ** //權限文件 ------------ #### menu.php文件示例: ```php [ 'name' => '商品', //一級菜單名稱 'type' => 1, //類型:1-菜單;2-權限 'sons' => [ //子級 [ 'name' => '商品管理', //二級菜單名稱 'type' => 1, //類型:1-菜單;2-權限 'sons' => [ [ 'name' => '查看', //權限名稱 'type' => 2, //類型:1-菜單;2-權限 'auth_key' => 'goods/goods.view' //權限key,key要確保唯一,該字段可拆分goods、goods、view在auth.php中使用 ], [ 'name' => '管理', 'type' => 2, 'auth_key' => 'goods/goods.manage' ] ], ], [ 'name' => '分類管理', 'type' => 1, 'sons' => [ [ 'name' => '查看', 'type' => 2, 'auth_key' => 'goods/category.view' ], [ 'name' => '管理', 'type' => 2, 'auth_key' => 'goods/category.manage' ] ] ], ], ], ``` #### auth_key字段設計規則是: 菜單/菜單.權限 #### auth.php文件示例: ```php //商品 'goods' => [ //'goods'=> 對應menu.php商品管理的auth_key=>'goods/goods.view' 中的第一個goods //商品管理 'goods' => [ //'goods'=> 對應menu.php商品管理的auth_key=>'goods/goods.view' 中的第二個goods 'page_path' => '/goods/lists', //該字段表示前端的頁面路徑,用于跳轉 'view' => [ //查看權限,對應menu.php商品管理的auth_key=>'goods/goods.view' 中的view 'button_auth' => ['view'], //view下的按鈕權限(現在沒用到,可隨便填,該設計是方便以后將權限分到按鈕) 'action_auth' => ['goods.goods/lists','goods.goods/otherlist'], ], //服務端接口權限 'manage' => [ //管理權限,對應menu.php商品管理的auth_key=>'goods/goods.manage' 中的manage 'button_auth' => ['auth_all'], 'action_auth' => [ //服務端接口權限 'goods.goods/add', 'goods.goods/edit', 'goods.goods/del', 'goods.goods/status', 'goods.goods/sort', 'goods.goods/export', ] ], ], //分類管理 'category' => [ 'page_path' => '/goods/category', 'view' => [ 'button_auth' => ['view'], 'action_auth' => ['goods.goodscategory/lists'], ], 'manage' => [ 'button_auth' => ['auth_all'], 'action_auth' => [ 'goods.category/add', 'goods.category/edit', 'goods.category/status', 'goods.category/del', ] ], ] ], ``` #### menu.php和auth.php文件主要是通過auth_key關聯,新增菜單請確保唯一 ------------ ## 角色菜單權限添加 #### 在后臺設置-平臺權限-角色中權限里面設置好菜單權限就可以了。  ** 注:如果菜單權限設置好沒生效,請檢查menu.php中的auth_key字段和auth.php各個索引有沒有對上。** ## 前端路由 \web\src\router下的 **├─??router ** **│ ├─modules ** //各個模塊的路由配置 **│ ├─index.ts ** //路由入口文件 ```js //# router/index.ts // 權限路由,根據路由渲染菜單 export const asyncRoutes: Array
= [ ...index, //首頁 ...shop, //店鋪 ...goods, //商品 ...order, //訂單 ...user, //用戶 ...marketing, //營銷 ...application, //應用 ...finance, //財務 ...data, //數據 ...channel, //渠道 ...setting //設置 ] //不受權限控制且不會出現在左側菜單的路由 const constantRoutes: Array
= [ { path: '*', redirect: '/error/404' }, { path: '/account', name: 'account', component: Secondary, redirect: '/account/login', children: [ { path: '/account/login', name: 'login', meta: { title: '登錄', parentPath: '/account' }, component: () => import('@/views/account/login.vue') } ] }, ... ] ``` ### 路由信息 ```js meta: { hidden: true, //是否在左側菜單中隱藏 title: '', //頁面標題 parentPath: '', // 父級路徑(用于1級菜單的選中) prevPath: '', // 上一個頁面的路徑(用于詳情頁時選中對應的菜單) moduleName: '' //模塊名稱 (定義為一個模塊,則2,3級菜單中只會顯示對應模塊的菜單,如營銷,應用下面的子模塊) icon: '', //圖標名稱 permission: ['view'] //權限字符,固定寫法,是一個菜單頁面才需要 } ```