This commit is contained in:
walkor 2022-12-22 15:53:29 +08:00
parent db97119704
commit 8032d26fb9
36 changed files with 75 additions and 42 deletions

View File

@ -20,7 +20,7 @@ class RuleController extends Crud
*
* @var string[]
*/
protected $noNeedAuth = ['get', 'permissionCodes'];
protected $noNeedAuth = ['get', 'auth'];
/**
* @var Rule
@ -88,11 +88,11 @@ class RuleController extends Crud
}
/**
* 获取控制器详细权限
* 获取权限
* @param Request $request
* @return Response
*/
public function permissionCodes(Request $request): Response
public function auth(Request $request): Response
{
$rules = $this->getRules(admin('roles'));
// 超级管理员

View File

@ -783,7 +783,7 @@ EOF
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script src="/app/admin/admin/js/common.js"></script>
<script>
@ -968,7 +968,7 @@ EOF;
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
@ -1043,7 +1043,7 @@ EOF;
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>

View File

@ -104,7 +104,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
layui.use(["form", "popup"], function () {

View File

@ -97,7 +97,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script src="/app/admin/admin/js/common.js"></script>
<script>

View File

@ -88,7 +88,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
// 相关接口
@ -132,6 +132,11 @@
success: function (e) {
let value = layui.$("#roles").attr("value");
let initValue = value ? value.split(",") : [];
if (!top.Admin.Account.isSupperAdmin) {
layui.each(e.data, function (k, v) {
v.disabled = true;
});
}
layui.xmSelect.render({
el: "#roles",
name: "roles",

View File

@ -87,7 +87,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
// 相关接口
@ -155,12 +155,17 @@
success: function (e) {
let value = layui.$("#roles").attr("value");
let initValue = value ? value.split(",") : [];
if (!top.Admin.Account.isSupperAdmin) {
layui.each(e.data, function (k, v) {
v.disabled = true;
});
}
layui.xmSelect.render({
el: "#roles",
name: "roles",
initValue: initValue,
data: e.data,
tree: {show: true, expandedKeys: initValue, strict: false},
tree: {show: true, expandedKeys: true, strict: false},
toolbar: {show: true, list: ["ALL","CLEAR","REVERSE"]},
})
}

View File

@ -16,6 +16,6 @@
</div>
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
</body>
</html>

View File

@ -176,7 +176,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
// 基础设置

View File

@ -106,7 +106,7 @@
</body>
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
layui.use("design");
</script>

View File

@ -63,7 +63,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script src="/app/admin/admin/js/common.js"></script>
<script>

View File

@ -92,7 +92,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
const INSERT_API = "/app/admin/dict/insert";

View File

@ -92,7 +92,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
const DICT_NAME = layui.url().search.name;

View File

@ -94,6 +94,12 @@
<script src="/app/admin/component/pear/pear.js"></script>
<!-- 框 架 初 始 化 -->
<script>
// Admin
window.Admin = {
Account: {}
};
layui.use(["admin","jquery","popup","drawer"], function() {
var $ = layui.$;
var admin = layui.admin;
@ -121,9 +127,18 @@
return false;
})
$.ajax({
url: "/app/admin/account/info",
dataType: 'json',
success: function (res) {
window.Admin.Account = res.data;
}
});
// 消息点击回调
//admin.message(function(id, title, context, form) {});
})
});
</script>
</body>
</html>

View File

@ -31,7 +31,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
layui.use(["form", "button", "popup", "layer"], function() {
var $ = layui.$, layer = layui.layer, form = layui.form;

View File

@ -35,7 +35,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
const SELECT_API = "/app/admin/plugin/list";

View File

@ -39,7 +39,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script src="/app/admin/admin/js/common.js"></script>
<script>

View File

@ -53,7 +53,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>

View File

@ -52,7 +52,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>

View File

@ -61,7 +61,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script src="/app/admin/admin/js/common.js"></script>
<script>

View File

@ -87,7 +87,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
// 接口

View File

@ -86,7 +86,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
// 相关接口

View File

@ -215,7 +215,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
const CREATE_API = "/app/admin/table/create";

View File

@ -73,7 +73,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
const CRUD_API = "/app/admin/table/crud";

View File

@ -31,7 +31,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script src="/app/admin/admin/js/common.js"></script>
<script>

View File

@ -32,7 +32,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
const INSERT_API = "/app/admin/table/insert";

View File

@ -219,7 +219,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
const MODIFY_API = "/app/admin/table/modify";

View File

@ -35,7 +35,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
let PRIMARY_KEY = "id";

View File

@ -52,7 +52,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script src="/app/admin/admin/js/common.js"></script>
<script>

View File

@ -87,7 +87,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script src="/app/admin/admin/js/common.js"></script>
<script>

View File

@ -88,7 +88,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script src="/app/admin/admin/js/common.js"></script>
<script>

View File

@ -38,7 +38,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
// 字段 文件 url

View File

@ -38,7 +38,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
// 相关接口

View File

@ -166,7 +166,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script src="/app/admin/admin/js/common.js"></script>
<script>

View File

@ -152,7 +152,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
// 相关接口

View File

@ -151,7 +151,7 @@
<script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/auth.js"></script>
<script>
// 相关接口

View File

@ -4,16 +4,24 @@
layui.$(function () {
let $ = layui.$;
$.ajax({
url: "/app/admin/rule/permission-codes",
url: "/app/admin/rule/auth",
dataType: "json",
success: function (res) {
let style = '';
let codes = res.data || [];
let isSupperAdmin = false;
// codes里有*,说明是超级管理员,拥有所有权限
if (codes.indexOf('*') !== -1) {
$("head").append("<style>*[permission]{display: initial}</style>");
return;
isSupperAdmin = true;
}
if (self !== top) {
top.Admin.Account.isSupperAdmin = isSupperAdmin;
} else {
window.Admin.Account.isSupperAdmin = isSupperAdmin;
}
if (isSupperAdmin) return;
// 细分权限
layui.each(codes, function (k, code) {
codes[k] = '*[permission^="'+code+'"]';