From 518075ef5f5727714367bb69b786d89623a05bf8 Mon Sep 17 00:00:00 2001 From: Jmysy <854085467@qq.com> Date: Thu, 11 Jun 2020 06:29:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90=E8=AE=A4=E8=AF=81=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Pear Admin v 2.0/admin/data/menu.json | 10 ++- Pear Admin v 2.0/admin/data/permission.json | 1 + .../component/layui/lay/extends/pearAdmin.js | 14 ++- .../component/layui/lay/extends/pearAuth.js | 69 +++++++++------ Pear Admin v 2.0/component/layui/layui.js | 1 + Pear Admin v 2.0/index.html | 12 +-- Pear Admin v 2.0/view/common/basic/auth.html | 88 +++++++++++++++++++ 7 files changed, 159 insertions(+), 36 deletions(-) create mode 100644 Pear Admin v 2.0/admin/data/permission.json create mode 100644 Pear Admin v 2.0/view/common/basic/auth.html diff --git a/Pear Admin v 2.0/admin/data/menu.json b/Pear Admin v 2.0/admin/data/menu.json index 989be38..da37869 100644 --- a/Pear Admin v 2.0/admin/data/menu.json +++ b/Pear Admin v 2.0/admin/data/menu.json @@ -73,7 +73,15 @@ "icon": "layui-icon layui-icon-face-smile", "type": 0, "href": "view/common/message.html", - "children": [{ + "children": [ + { + "id": 216, + "title": "权限认证", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "view/common/basic/auth.html" + },{ "id": 211, "title": "功能按钮", "icon": "layui-icon layui-icon-face-smile", diff --git a/Pear Admin v 2.0/admin/data/permission.json b/Pear Admin v 2.0/admin/data/permission.json new file mode 100644 index 0000000..7e284be --- /dev/null +++ b/Pear Admin v 2.0/admin/data/permission.json @@ -0,0 +1 @@ +["permission-add","permission-remove","permission-edit"] \ No newline at end of file diff --git a/Pear Admin v 2.0/component/layui/lay/extends/pearAdmin.js b/Pear Admin v 2.0/component/layui/lay/extends/pearAdmin.js index 89e7acd..ae58bc1 100644 --- a/Pear Admin v 2.0/component/layui/lay/extends/pearAdmin.js +++ b/Pear Admin v 2.0/component/layui/lay/extends/pearAdmin.js @@ -1,4 +1,4 @@ -layui.define(['table', 'jquery', 'element', 'form', 'pearTab', 'pearMenu', 'pearNotice','pearFrame'], function(exports) { +layui.define(['table', 'jquery', 'element', 'form', 'pearAuth','pearTab', 'pearMenu', 'pearNotice','pearFrame'], function(exports) { "use strict"; var $ = layui.jquery, @@ -7,7 +7,8 @@ layui.define(['table', 'jquery', 'element', 'form', 'pearTab', 'pearMenu', 'pear pearTab = layui.pearTab, pearMenu = layui.pearMenu, pearNotice = layui.pearNotice, - pearFrame = layui.pearFrame; + pearFrame = layui.pearFrame, + pearAuth = layui.pearAuth; var bodyFrame; var sideMenu; @@ -26,9 +27,18 @@ layui.define(['table', 'jquery', 'element', 'form', 'pearTab', 'pearMenu', 'pear this.themeRender(option); this.noticeRender(option); + + this.permissionRender(option); } + this.permissionRender = function(option){ + + if(option.auth!=false){ + pearAuth.loadPermission(option.auth); + } + } + this.menuRender = function(option) { /** 侧 边 菜 单 组 件 初 始 化 */ diff --git a/Pear Admin v 2.0/component/layui/lay/extends/pearAuth.js b/Pear Admin v 2.0/component/layui/lay/extends/pearAuth.js index 082665a..561b240 100644 --- a/Pear Admin v 2.0/component/layui/lay/extends/pearAuth.js +++ b/Pear Admin v 2.0/component/layui/lay/extends/pearAuth.js @@ -5,49 +5,64 @@ layui.define(['table', 'jquery', 'element'], function (exports) { $ = layui.jquery, element = layui.element; - var pearAuth = function () { - - - - - }; + var pearAuth = function () {}; /** * 初始化 * */ - pearFrame.prototype.initPermission = function (url) { + pearAuth.prototype.loadPermission = function (url) { - + var data = getData(url); + + localStorage.setItem("auth_cache", data); } /** - * 新增权限 + * 清除权限 * */ - pearFrame.prototype.setPermission = function (opt) { - - } - - /** - * 清楚权限 - * */ - pearFrame.prototype.clearPermission = function (opt) { + pearAuth.prototype.clearPermission = function () { + localStorage.removeItem('auth_cache') } + + /** 同 步 请 求 获 取 数 据 */ + function getData(url) { + + $.ajaxSettings.async = false; + var data = null; + + $.get(url, function(result) { + data = result; + }); - /** - * 删除权限 - * */ - pearFrame.prototype.removePermission = function (opt) { - } - - /** - * 权限验证 - * */ + $.ajaxSettings.async = true; + return data; + } + var doms = $("*[pear-has-permission]"); - + $.each(doms,function(i,dom){ + + var permission = $(dom).attr("pear-has-permission"); + var b = false; + + $.each(localStorage.getItem("auth_cache").split(","),function(i,auth){ + + if(auth == permission){ + + b = true; + + return false; + } + + }) + + if(!b){ + $(dom).hide(); + } + }) exports(MOD_NAME,new pearAuth()); }) \ No newline at end of file diff --git a/Pear Admin v 2.0/component/layui/layui.js b/Pear Admin v 2.0/component/layui/layui.js index c43f297..732a92f 100644 --- a/Pear Admin v 2.0/component/layui/layui.js +++ b/Pear Admin v 2.0/component/layui/layui.js @@ -53,6 +53,7 @@ pearHash:"extends/pearHash", pearAdmin:"extends/pearAdmin", pearFrame:"extends/pearFrame", + pearAuth:"extends/pearAuth", pearSocial:"extends/pearSocial", pearNotice:"extends/pearNotice", pearStep:"extends/pearStep", diff --git a/Pear Admin v 2.0/index.html b/Pear Admin v 2.0/index.html index 7507234..6614902 100644 --- a/Pear Admin v 2.0/index.html +++ b/Pear Admin v 2.0/index.html @@ -57,12 +57,12 @@
-