Commit 80bccb6a authored by trumansdo's avatar trumansdo
Browse files

-

parent 8011e682
package com.ibeetl.admin.core.conf;
import cn.hutool.core.convert.Convert;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.core.JsonParser.NumberType;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.core.type.WritableTypeId;
import com.fasterxml.jackson.databind.DeserializationConfig;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.SerializationConfig;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper;
import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import java.io.IOException;
import java.lang.reflect.Type;
import java.text.SimpleDateFormat;
import org.beetl.sql.core.engine.PageQuery;
......@@ -35,12 +46,55 @@ public class JasonConfig {
SimpleModule simpleModule = new SimpleModule("SimpleModule", Version.unknownVersion());
simpleModule.addSerializer(JsonResult.class, new CustomJsonResultSerializer());
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
simpleModule.addSerializer(Long.class, CustomLongSerializer.instance);
simpleModule.addSerializer(Long.TYPE, CustomLongSerializer.instance);
objectMapper.registerModule(simpleModule);
return objectMapper;
}
/**
* 修正jackson转换Long类型的一个bug:
* jackson的转换Long类型时,如果数值在Integer范围,会变成Integer类型,然后通过强制转换为Long时就会报错。
* 这里采用安全的Long转换避免强制类型转换
* */
static class CustomLongSerializer extends StdSerializer<Object> {
public static final CustomLongSerializer instance = new CustomLongSerializer();
private CustomLongSerializer() {
super(Object.class);
}
@Override
public void serialize(Object value, JsonGenerator gen, SerializerProvider provider)
throws IOException {
gen.writeNumber(Convert.toLong(value, 0L));
}
@Override
public void serializeWithType(
Object value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)
throws IOException {
WritableTypeId typeIdDef =
typeSer.writeTypePrefix(g, typeSer.typeId(value, JsonToken.VALUE_NUMBER_INT));
serialize(value, g, provider);
typeSer.writeTypeSuffix(g, typeIdDef);
}
@Override
public JsonNode getSchema(SerializerProvider provider, Type typeHint) {
return createSchemaNode("long", true);
}
@Override
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)
throws JsonMappingException {
visitStringFormat(visitor, typeHint);
visitIntFormat(visitor, typeHint, NumberType.LONG );
}
}
/**
* layui 前端要求后台返回的数据格式
*
......
......@@ -45,103 +45,3 @@ select cm.*, cd.NAME, cd.TYPE_NAME
from core_menu cm
join core_dict cd on cd.VALUE = cm.TYPE;
SELECT
*
FROM core_dict CD;
-- ---------------------------菜单数据修改----------------------------
USE starter;
INSERT INTO core_function (ID, CODE, NAME, ACCESS_URL, PARENT_ID, TYPE, CREATE_TIME)
VALUES (22, 'permission', 'Permission', '/permission', 0, 'FN0', 1519868556)
, (21, 'PagePermission', 'PagePermission', '/permission', 0, 'FN0', 1519868556)
, (22, 'DirectivePermission', 'DirectivePermission', '/permission', 0, 'FN0', 1519868556)
, (23, 'RolePermission', 'RolePermission', '/permission', 0, 'FN0', 1519868556)
, (24, 'Icon', 'Icon', '/permission', 0, 'FN0', 1519868556)
, (25, 'Icons', 'Icons', '/permission', 0, 'FN0', 1519868556)
, (26, 'ComponentDemo', 'ComponentDemo', '/permission', 0, 'FN0', 1519868556)
, (27, 'TinymceDemo', 'TinymceDemo', '/permission', 0, 'FN0', 1519868556)
, (28, 'MarkdownDemo', 'MarkdownDemo', '/permission', 0, 'FN0', 1519868556)
, (29, 'JsonEditorDemo', 'JsonEditorDemo', '/permission', 0, 'FN0', 1519868556)
, (30, 'SplitpaneDemo', 'SplitpaneDemo', '/permission', 0, 'FN0', 1519868556)
, (31, 'AvatarUploadDemo', 'AvatarUploadDemo', '/permission', 0, 'FN0', 1519868556)
, (32, 'DropzoneDemo', 'DropzoneDemo', '/permission', 0, 'FN0', 1519868556)
, (33, 'StickyDemo', 'StickyDemo', '/permission', 0, 'FN0', 1519868556)
, (34, 'CountToDemo', 'CountToDemo', '/permission', 0, 'FN0', 1519868556)
, (35, 'ComponentMixinDemo', 'ComponentMixinDemo', '/permission', 0, 'FN0', 1519868556)
, (36, 'BackToTopDemo', 'BackToTopDemo', '/permission', 0, 'FN0', 1519868556)
, (37, 'DragDialogDemo', 'DragDialogDemo', '/permission', 0, 'FN0', 1519868556)
, (38, 'DragSelectDemo', 'DragSelectDemo', '/permission', 0, 'FN0', 1519868556)
, (39, 'DndListDemo', 'DndListDemo', '/permission', 0, 'FN0', 1519868556)
, (40, 'DragKanbanDemo', 'DragKanbanDemo', '/permission', 0, 'FN0', 1519868556)
, (41, 'Charts', 'Charts', '/permission', 0, 'FN0', 1519868556)
, (42, 'KeyboardChart', 'KeyboardChart', '/permission', 0, 'FN0', 1519868556)
, (43, 'LineChart', 'LineChart', '/permission', 0, 'FN0', 1519868556)
, (44, 'MixChart', 'MixChart', '/permission', 0, 'FN0', 1519868556)
, (45, 'Nested', 'Nested', '/permission', 0, 'FN0', 1519868556)
, (46, 'Menu1', 'Menu1', '/permission', 0, 'FN0', 1519868556)
, (47, 'Menu1-1', 'Menu1-1', '/permission', 0, 'FN0', 1519868556)
, (48, 'Menu1-2', 'Menu1-2', '/permission', 0, 'FN0', 1519868556)
, (49, 'Menu1-2-1', 'Menu1-2-1', '/permission', 0, 'FN0', 1519868556)
, (50, 'Menu1-2-2', 'Menu1-2-2', '/permission', 0, 'FN0', 1519868556)
, (51, 'Menu1-3', 'Menu1-3', '/permission', 0, 'FN0', 1519868556)
, (52, 'Menu2', 'Menu2', '/permission', 0, 'FN0', 1519868556)
, (53, 'Table', 'Table', '/permission', 0, 'FN0', 1519868556)
, (54, 'DynamicTable', 'DynamicTable', '/permission', 0, 'FN0', 1519868556)
, (55, 'DragTable', 'DragTable', '/permission', 0, 'FN0', 1519868556)
, (56, 'InlineEditTable', 'InlineEditTable', '/permission', 0, 'FN0', 1519868556)
, (57, 'ComplexTable', 'ComplexTable', '/permission', 0, 'FN0', 1519868556)
, (58, 'Example', 'Example', '/permission', 0, 'FN0', 1519868556)
, (59, 'CreateArticle', 'CreateArticle', '/permission', 0, 'FN0', 1519868556)
, (60, 'EditArticle', 'EditArticle', '/permission', 0, 'FN0', 1519868556)
, (61, 'ArticleList', 'ArticleList', '/permission', 0, 'FN0', 1519868556)
, (62, 'Tab', 'Tab', '/permission', 0, 'FN0', 1519868556)
, (63, 'Tabs', 'Tabs', '/permission', 0, 'FN0', 1519868556)
, (64, 'ErrorPages', 'ErrorPages', '/permission', 0, 'FN0', 1519868556)
, (65, 'Page401', 'Page401', '/permission', 0, 'FN0', 1519868556)
, (66, 'Page404', 'Page404', '/permission', 0, 'FN0', 1519868556)
, (67, 'ErrorLog', 'ErrorLog', '/permission', 0, 'FN0', 1519868556)
, (68, 'ErrorLogs', 'ErrorLogs', '/permission', 0, 'FN0', 1519868556)
, (69, 'Excel', 'Excel', '/permission', 0, 'FN0', 1519868556)
, (70, 'ExportExcel', 'ExportExcel', '/permission', 0, 'FN0', 1519868556)
, (71, 'SelectExcel', 'SelectExcel', '/permission', 0, 'FN0', 1519868556)
, (72, 'MergeHeader', 'MergeHeader', '/permission', 0, 'FN0', 1519868556)
, (73, 'UploadExcel', 'UploadExcel', '/permission', 0, 'FN0', 1519868556)
, (74, 'Zip', 'Zip', '/permission', 0, 'FN0', 1519868556)
, (75, 'ExportZip', 'ExportZip', '/permission', 0, 'FN0', 1519868556)
, (76, 'Pdf', 'Pdf', '/permission', 0, 'FN0', 1519868556)
, (77, 'PDFS', 'PDFS', '/permission', 0, 'FN0', 1519868556)
, (78, 'PdfDown', 'PdfDown', '/permission', 0, 'FN0', 1519868556)
, (79, 'theme', 'theme', '/permission', 0, 'FN0', 1519868556)
, (80, 'Themes', 'Themes', '/permission', 0, 'FN0', 1519868556)
, (81, 'clipboard', 'clipboard', '/permission', 0, 'FN0', 1519868556)
, (82, 'ClipboardDemo', 'ClipboardDemo', '/permission', 0, 'FN0', 1519868556)
, (83, 'ExternalLink', 'ExternalLink', '/permission', 0, 'FN0', 1519868556)
, (84, 'link', 'link', '/permission', 0, 'FN0', 1519868556);
This diff is collapsed.
......@@ -20,10 +20,93 @@ import Layout from '@/layout';
const coreRouter = [
{
path: '/profile',
path: '/admin',
name: '基础管理',
component: Layout,
name: 'router-name',
children: [],
meta: {},
children: [
{
path: '/admin/user/index.do',
name: '用户管理',
meta: {},
},
{
path: '/admin/org/index.do',
name: '组织机构管理',
meta: {},
},
{
path: '/admin/role/index.do',
name: '角色管理',
meta: {},
},
{
path: '/admin/menu/index.do',
name: '菜单项',
meta: {},
},
{
path: '/admin/function/index.do',
name: '功能点管理',
meta: {},
},
{
path: '/admin/dict/index.do',
name: '字典数据管理',
meta: {},
},
{
path: '/admin/role/function.do',
name: '角色功能授权',
meta: {},
},
{
path: '/admin/role/data.do',
name: '角色数据授权',
meta: {},
},
],
},
{
path: '/core',
name: '代码生成导航',
component: Layout,
meta: {},
children: [
{
path: '/core/codeGen/project.do',
name: '子系统生成',
meta: {},
},
{
path: '/core/codeGen/index.do',
name: '代码生成',
meta: {},
},
],
},
{
path: '/moniter',
name: '监控管理',
component: Layout,
meta: {},
children: [
{
path: '/admin/workflow/index.do',
name: '流程监控',
meta: {},
},
{
path: '/admin/audit/index.do',
name: '审计查询',
meta: {},
},
{
path: '/admin/blog/index.do',
name: '博客测试',
meta: {},
},
],
},
];
......
......@@ -43,8 +43,9 @@ export function filterAsyncRoutes(routesMap, routes, roles) {
isNotNullAndNotUndefined(route.name) &&
isNotNullAndNotUndefined(rm.path) &&
isNotNullAndNotUndefined(route.path) &&
(rm.name === route.name || rm.path === route.path)
(rm.path === route.path || rm.name === route.name)
) {
// 优先path判断,是因为导航菜单的展开和收起是根据path判断的。
tempRouteMap = { ...rm };
break;
}
......@@ -97,7 +98,7 @@ const actions = {
roles,
);
accessedRoutes.push({ path: '*', redirect: '/404', hidden: true });
debugger;
commit('SET_ROUTES', accessedRoutes);
resolve(accessedRoutes);
})
......
......@@ -5,27 +5,26 @@
</template>
<script>
import { mapGetters } from 'vuex'
import adminDashboard from './admin'
import editorDashboard from './editor'
import { mapGetters } from 'vuex';
import adminDashboard from './admin';
import editorDashboard from './editor';
export default {
name: 'Dashboard',
components: { adminDashboard, editorDashboard },
data() {
return {
currentRole: 'adminDashboard'
}
currentRole: 'adminDashboard',
};
},
computed: {
...mapGetters([
'roles'
])
...mapGetters(['roles']),
},
created() {
if (!this.roles.includes(1)) {
this.currentRole = 'editorDashboard'
}
}
}
// 默认任何一个账号进入都可以看仪表盘页面
// if (!this.roles.includes(1)) {
// this.currentRole = 'editorDashboard';
// }
},
};
</script>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment