国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

使用layui+ajax實現(xiàn)簡單的菜單權限管理及排序的方法

2019-11-19 10:50:17
字體:
來源:轉載
供稿:網友

**簡單的例子使用的layui框架,并沒有使用他的ztree插件,只用ajax配合sql完成最簡單的一二級菜單權限控制及其排序功能。

先看數(shù)據(jù)庫設計:**

user表:

role表:

menu表:

user_role表:

role_menu表:

在這里 menu的id依然是主鍵,多了mid也就是菜單id,pare_menu_id也就是這個菜單對應的父級菜單的菜單id(mid);沒有的話,就是0,也就是一級菜單,在這里,一級菜單的mid必須滿足為整千數(shù),或者萬也行,其子菜單在mid+999范圍內;

sql查詢結果:

前臺數(shù)據(jù)處理方法:

//菜單循環(huán)遍歷打印拼接操作  $(function () {  $.ajax( {   url : projectName+'/sys/menu/findMenuByRole',   type : 'post',   dataType : 'json',   success : function(data) {   var menu = ""; //定義變量存儲   for(var i = 0;i<data.length;i++){    menu += "<li class='layui-nav-item '>"    if(data[i].pareMenuId == 0){ //取出父元素的菜單,拼進頁面    menu += "<a href='javascript:;'>"+data[i].menuName+"</a>"    for(var j = 0;j<data.length;j++){ //繼續(xù)遍歷這幾條數(shù)據(jù)     if(data[j].mid > data[i].mid && data[j].mid < (data[i].mid)+1000){ //取出這個父元素所對應的子元素     menu += "<dl class='layui-nav-child'>"     menu += "<dd>"     menu +=  "<a href='"+data[j].menuPath+"' target='option'>"+'     '+data[j].menuName+"</a>"     menu += "</dd>"     menu += "</dl>"     }    }    }    menu += "</li>";   }   $("#nav").html(menu);   var element = layui.element;   element.init()//初始化element事件,使菜單展開   }  });  })

效果如下:

圖1是默認排序

下面我們將用戶管理放在第一位。看圖

將order設置為一結果如圖:

這樣用戶管理就去了第一位;

sql實現(xiàn):

 SELECT  t1.*  FROM  (  SELECT   sys_menu.id,   sys_menu.mid,   sys_menu.menu_name,   sys_menu.menu_path,   sys_menu.pare_menu_id,   sys_menu.`status`,   sys_menu.`order`,   abc.`status` AS status2  FROM   sys_menu  INNER JOIN (   SELECT   *   FROM   role_menu   WHERE   id IN (    SELECT    min(id)    FROM    role_menu    GROUP BY    role_id,    menu_id   )   AND role_menu.`status` = 1  ) abc ON abc.menu_id = sys_menu.id  INNER JOIN sys_role ON sys_role.id = abc.role_id  INNER JOIN user_role ON user_role.role_id = sys_role.id  INNER JOIN sys_user ON sys_user.id = user_role.user_id  WHERE   sys_user.id = #{id}  AND sys_menu.`status` = 1  ORDER BY   mid  ) t1 ORDER BY  t1.pare_menu_id,  t1.`order`;

**上圖#{id}就是用戶的id,多表關聯(lián)查詢就可以了;(因為用的是sm框架單純的springMvc+mybatis+html)

關于權限,當然不同用戶看到的東西不同;至于菜單的權限,我是在role_menu表中加了status,默認都是0;admin用戶的都是1;因為如果是角色的菜單授權很麻煩;干脆都給他賦予權限,之不過狀態(tài)這里給她控制一下就可以了,也就是添加一個菜單,就給這個表每個角色添加一條數(shù)除admin其余為status=0;**

以上這篇使用layui+ajax實現(xiàn)簡單的菜單權限管理及排序的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 杭锦旗| 秦安县| 大埔区| 兰坪| 临汾市| 上林县| 大余县| 郯城县| 郓城县| 高邑县| 凤阳县| 绵竹市| 都昌县| 衡阳市| 蓬溪县| 贵南县| 浠水县| 聂拉木县| 柳林县| 吉隆县| 滦平县| 三都| 靖西县| 榕江县| 盐亭县| 南汇区| 师宗县| 南皮县| 龙南县| 宁蒗| 札达县| 成武县| 乌拉特后旗| 图们市| 通州区| 农安县| 徐闻县| 万载县| 湖州市| 北海市| 台安县|