mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-09-19 01:58:01 +08:00
优化api异常提示;
优化授权菜单加载逻辑
This commit is contained in:
@@ -23,29 +23,6 @@ namespace OpenAuth.Mvc.Controllers
|
||||
return View();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 所有页面按钮控制分部视图
|
||||
/// </summary>
|
||||
/// <returns>ActionResult.</returns>
|
||||
[ChildActionOnly]
|
||||
public ActionResult MenuHeader()
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
foreach (var element in CurrentModule.Elements)
|
||||
{
|
||||
sb.Append("<button "
|
||||
+ " data-type='" + element.DomId + "' "
|
||||
+ " class='layui-btn layui-btn-small " + element.Class + "' "
|
||||
+ element.Attr
|
||||
+ ">");
|
||||
if (!string.IsNullOrEmpty(element.Icon))
|
||||
{
|
||||
sb.Append("<i class='layui-icon'>" + element.Icon + "</i>");
|
||||
}
|
||||
sb.Append(element.Name + "</button>");
|
||||
}
|
||||
ViewBag.Buttons = sb.ToString();
|
||||
return View();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -70,6 +70,13 @@ namespace OpenAuth.Mvc.Controllers
|
||||
return JsonHelper.Instance.Serialize(menus);
|
||||
}
|
||||
|
||||
|
||||
public string LoadAuthorizedMenus()
|
||||
{
|
||||
return JsonHelper.Instance.Serialize(CurrentModule.Elements);
|
||||
}
|
||||
|
||||
|
||||
#region 添加编辑模块
|
||||
|
||||
//添加模块
|
||||
|
@@ -623,7 +623,6 @@
|
||||
<Content Include="Views\Shared\_FlowForm.cshtml" />
|
||||
<Content Include="Views\Home\Main.cshtml" />
|
||||
<Content Include="Views\Shared\_Layout.cshtml" />
|
||||
<Content Include="Views\Home\MenuHeader.cshtml" />
|
||||
<Content Include="Views\Categories\Index.cshtml" />
|
||||
<Content Include="Views\ModuleManager\Assign.cshtml" />
|
||||
<Content Include="Views\RoleManager\Index.cshtml" />
|
||||
|
@@ -2,8 +2,7 @@
|
||||
{
|
||||
<link rel="stylesheet" href="/css/treetable.css" />
|
||||
}
|
||||
<blockquote class="layui-elem-quote news_search toolList">
|
||||
@Html.Action("MenuHeader", "Home")
|
||||
<blockquote class="layui-elem-quote news_search toolList" id="menus">
|
||||
</blockquote>
|
||||
|
||||
<div style="display: flex;">
|
||||
|
@@ -2,8 +2,7 @@
|
||||
{
|
||||
<link rel="stylesheet" href="/css/treetable.css" />
|
||||
}
|
||||
<blockquote class="layui-elem-quote news_search toolList">
|
||||
@Html.Action("MenuHeader", "Home")
|
||||
<blockquote class="layui-elem-quote news_search toolList" id="menus">
|
||||
</blockquote>
|
||||
|
||||
<div class="layui-row">
|
||||
|
@@ -2,8 +2,7 @@
|
||||
{
|
||||
<link rel="stylesheet" href="/css/treetable.css" />
|
||||
}
|
||||
<blockquote class="layui-elem-quote news_search toolList">
|
||||
@Html.Action("MenuHeader", "Home")
|
||||
<blockquote class="layui-elem-quote news_search toolList" id="menus">
|
||||
</blockquote>
|
||||
|
||||
|
||||
|
@@ -1,8 +0,0 @@
|
||||
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
@Html.Raw(ViewBag.Buttons)
|
||||
|
||||
|
@@ -2,8 +2,7 @@
|
||||
{
|
||||
<link rel="stylesheet" href="/css/treetable.css" />
|
||||
}
|
||||
<blockquote class="layui-elem-quote news_search toolList">
|
||||
@Html.Action("MenuHeader", "Home")
|
||||
<blockquote class="layui-elem-quote news_search toolList" id="menus">
|
||||
</blockquote>
|
||||
|
||||
<div style="display: flex;">
|
||||
@@ -69,7 +68,7 @@
|
||||
|
||||
<!--模块添加/编辑窗口-->
|
||||
<div id="divEdit" style="display: none">
|
||||
<form class="layui-form" action="" id="formEdit">
|
||||
<form class="layui-form layui-form-pane" action="" id="formEdit">
|
||||
|
||||
<input type="hidden" name="Id" v-model="Id" />
|
||||
|
||||
|
@@ -2,8 +2,7 @@
|
||||
{
|
||||
<link rel="stylesheet" href="/css/treetable.css" />
|
||||
}
|
||||
<blockquote class="layui-elem-quote news_search toolList">
|
||||
@Html.Action("MenuHeader", "Home")
|
||||
<blockquote class="layui-elem-quote news_search toolList" id ="menus">
|
||||
</blockquote>
|
||||
|
||||
<div class="layui-row">
|
||||
@@ -38,7 +37,7 @@
|
||||
|
||||
<!--用户添加/编辑窗口-->
|
||||
<div id="divEdit" style="display: none">
|
||||
<form class="layui-form" action="" id="formEdit">
|
||||
<form class="layui-form layui-form-pane" action="" id="formEdit">
|
||||
|
||||
<input type="hidden" name="Id" v-model="Id" />
|
||||
|
||||
|
@@ -2,8 +2,7 @@
|
||||
{
|
||||
<link rel="stylesheet" href="/css/treetable.css" />
|
||||
}
|
||||
<blockquote class="layui-elem-quote news_search toolList">
|
||||
@Html.Action("MenuHeader", "Home")
|
||||
<blockquote class="layui-elem-quote news_search toolList" id ="menus">
|
||||
</blockquote>
|
||||
|
||||
<div class="layui-row">
|
||||
@@ -33,7 +32,7 @@
|
||||
|
||||
<!--角色添加/编辑窗口-->
|
||||
<div id="divEdit" style="display: none">
|
||||
<form class="layui-form" action="" id="formEdit">
|
||||
<form class="layui-form layui-form-pane" action="" id="formEdit">
|
||||
|
||||
<input type="hidden" name="Id" v-model="Id" />
|
||||
|
||||
@@ -55,7 +54,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label">是否可用</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="Status" v-model="Status" lay-skin="switch" value="1">
|
||||
|
@@ -2,8 +2,7 @@
|
||||
{
|
||||
<link rel="stylesheet" href="/css/treetable.css" />
|
||||
}
|
||||
<blockquote class="layui-elem-quote news_search toolList">
|
||||
@Html.Action("MenuHeader", "Home")
|
||||
<blockquote class="layui-elem-quote news_search toolList" id="menus">
|
||||
</blockquote>
|
||||
|
||||
<div class="layui-row">
|
||||
|
@@ -3,25 +3,56 @@ layui.define("jquery", function (exports) {
|
||||
var jQuery = layui.jquery,
|
||||
$ = layui.jquery;
|
||||
|
||||
//获取url的参数值
|
||||
$.getUrlParam = function (name) {
|
||||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
|
||||
var r = window.location.search.substr(1).match(reg);
|
||||
if (r != null) return unescape(r[2]); return null;
|
||||
}
|
||||
//获取url的参数值
|
||||
$.getUrlParam = function (name) {
|
||||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
|
||||
var r = window.location.search.substr(1).match(reg);
|
||||
if (r != null) return unescape(r[2]); return null;
|
||||
}
|
||||
|
||||
//把name/value的数组转为obj对象
|
||||
$.arrayToObj = function(array) {
|
||||
var result = {};
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
var field = array[i];
|
||||
if (field.name in result) {
|
||||
result[field.name] += ',' + field.value;
|
||||
} else {
|
||||
result[field.name] = field.value;
|
||||
}
|
||||
//把name/value的数组转为obj对象
|
||||
$.arrayToObj = function (array) {
|
||||
var result = {};
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
var field = array[i];
|
||||
if (field.name in result) {
|
||||
result[field.name] += ',' + field.value;
|
||||
} else {
|
||||
result[field.name] = field.value;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
//加载菜单
|
||||
$.fn.extend({
|
||||
loadMenus: function () {
|
||||
var dom = $(this);
|
||||
$.ajax("/ModuleManager/LoadAuthorizedMenus",
|
||||
{
|
||||
async: false
|
||||
, success: function (data) {
|
||||
var obj = JSON.parse(data);
|
||||
var sb = '';
|
||||
$.each(obj,
|
||||
function () {
|
||||
var element = this;
|
||||
sb += ("<button " + " data-type='" + element.DomId +
|
||||
"' " + " class='layui-btn layui-btn-small " + element.Class +
|
||||
"' " + element.Attr + ">");
|
||||
|
||||
if (element.Icon != null && element.Icon != '') {
|
||||
sb += ("<i class='layui-icon'>" + element.Icon + "</i>");
|
||||
}
|
||||
sb += (element.Name + "</button>");
|
||||
});
|
||||
|
||||
dom.html(sb);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
exports('utils');
|
||||
});
|
@@ -1,12 +1,14 @@
|
||||
layui.config({
|
||||
base: "/js/"
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
|
||||
var form = layui.form,
|
||||
layer = layui.layer,
|
||||
$ = layui.jquery;
|
||||
var table = layui.table;
|
||||
var openauth = layui.openauth;
|
||||
layui.droptree("/Categories/AllTypes", "#TypeName", "#TypeId", false);
|
||||
|
||||
$("#menus").loadMenus();
|
||||
|
||||
//主列表加载,可反复调用进行刷新
|
||||
var config= {}; //table的参数,如搜索key,点击tree的id
|
||||
|
@@ -1,6 +1,6 @@
|
||||
layui.config({
|
||||
base: "/js/"
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
|
||||
var form = layui.form,
|
||||
layer = (top == undefined || top.layer === undefined )? layui.layer : top.layer,
|
||||
$ = layui.jquery;
|
||||
@@ -8,6 +8,8 @@
|
||||
var openauth = layui.openauth;
|
||||
var thiswin = (top == undefined) ? window : top.window;
|
||||
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
|
||||
|
||||
$("#menus").loadMenus();
|
||||
|
||||
//主列表加载,可反复调用进行刷新
|
||||
var config= {}; //table的参数,如搜索key,点击tree的id
|
||||
@@ -70,7 +72,7 @@
|
||||
|
||||
layer.open({
|
||||
type: 2,
|
||||
area: ['750px', '550px'], //宽高
|
||||
area: ['800px', '700px'], //宽高
|
||||
maxmin: true, //开启最大化最小化按钮
|
||||
title: title,
|
||||
content: '/flowInstances/edit?id=' + data.Id,
|
||||
|
@@ -169,6 +169,7 @@ layui.config({
|
||||
return false; //阻止表单跳转。
|
||||
});
|
||||
|
||||
flowDesignPanel.reinitSize($(window).width() - 30, $(window).height() - 100);
|
||||
$(window).resize(function () {
|
||||
flowDesignPanel.reinitSize($(window).width() - 30, $(window).height() - 100);
|
||||
});
|
||||
|
@@ -1,6 +1,6 @@
|
||||
layui.config({
|
||||
base: "/js/"
|
||||
}).use(['form', 'vue', 'ztree', 'layer', 'jquery', 'table', 'droptree', 'openauth'], function () {
|
||||
}).use(['form', 'vue', 'ztree', 'layer', 'jquery', 'table', 'droptree', 'openauth','utils'], function () {
|
||||
var form = layui.form, element = layui.element,
|
||||
layer = (top == undefined || top.layer === undefined )? layui.layer : top.layer,
|
||||
$ = layui.jquery;
|
||||
@@ -10,6 +10,8 @@
|
||||
|
||||
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
|
||||
|
||||
$("#menus").loadMenus();
|
||||
|
||||
//主列表加载,可反复调用进行刷新
|
||||
var config = {}; //table的参数,如搜索key,点击tree的id
|
||||
var mainList = function (options) {
|
||||
@@ -71,7 +73,7 @@
|
||||
|
||||
layer.open({
|
||||
type: 2,
|
||||
area: ['600px', '500px'], //宽高
|
||||
area: ['800px', '700px'], //宽高
|
||||
maxmin: true, //开启最大化最小化按钮
|
||||
title: title,
|
||||
content: '/flowschemes/design?id='+data.Id,
|
||||
|
@@ -1,6 +1,6 @@
|
||||
layui.config({
|
||||
base: "/js/"
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
|
||||
var form = layui.form,
|
||||
element = layui.element,
|
||||
layer = (top == undefined || top.layer === undefined )? layui.layer : top.layer,
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
|
||||
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
|
||||
|
||||
$("#menus").loadMenus();
|
||||
//主列表加载,可反复调用进行刷新
|
||||
var config= {}; //table的参数,如搜索key,点击tree的id
|
||||
var mainList = function (options) {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
layui.config({
|
||||
base: "/js/"
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
|
||||
var form = layui.form,
|
||||
layer = layui.layer,
|
||||
$ = layui.jquery;
|
||||
@@ -8,6 +8,8 @@ layui.config({
|
||||
var openauth = layui.openauth;
|
||||
layui.droptree("/UserSession/QueryModuleList", "#ParentName", "#ParentId", false);
|
||||
|
||||
$("#menus").loadMenus();
|
||||
|
||||
//主列表加载,可反复调用进行刷新
|
||||
var config= {}; //table的参数,如搜索key,点击tree的id
|
||||
var mainList = function (options) {
|
||||
|
@@ -1,12 +1,14 @@
|
||||
layui.config({
|
||||
base: "/js/"
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
|
||||
var form = layui.form,
|
||||
layer = layui.layer,
|
||||
$ = layui.jquery;
|
||||
var table = layui.table;
|
||||
var openauth = layui.openauth;
|
||||
layui.droptree("/UserSession/GetOrgs", "#ParentName", "#ParentId", false);
|
||||
|
||||
$("#menus").loadMenus();
|
||||
|
||||
//主列表加载,可反复调用进行刷新
|
||||
var config= {}; //table的参数,如搜索key,点击tree的id
|
||||
|
@@ -1,6 +1,6 @@
|
||||
layui.config({
|
||||
base: "/js/"
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
|
||||
var form = layui.form,
|
||||
layer = layui.layer,
|
||||
$ = layui.jquery;
|
||||
@@ -8,6 +8,8 @@ layui.config({
|
||||
var openauth = layui.openauth;
|
||||
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
|
||||
|
||||
$("#menus").loadMenus();
|
||||
|
||||
//主列表加载,可反复调用进行刷新
|
||||
var config= {}; //table的参数,如搜索key,点击tree的id
|
||||
var mainList = function (options) {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
layui.config({
|
||||
base: "/js/"
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
|
||||
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
|
||||
var form = layui.form,
|
||||
layer = layui.layer,
|
||||
$ = layui.jquery;
|
||||
@@ -8,6 +8,8 @@ layui.config({
|
||||
var openauth = layui.openauth;
|
||||
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
|
||||
|
||||
$("#menus").loadMenus();
|
||||
|
||||
//主列表加载,可反复调用进行刷新
|
||||
var config= {}; //table的参数,如搜索key,点击tree的id
|
||||
var mainList = function (options) {
|
||||
|
Reference in New Issue
Block a user