mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-02 15:30:25 +08:00
feat: 代码优化
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.9 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.5 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 KiB |
1
mayfly_go_web/src/assets/iconfont/iconfont.js
Normal file
1
mayfly_go_web/src/assets/iconfont/iconfont.js
Normal file
File diff suppressed because one or more lines are too long
51
mayfly_go_web/src/assets/iconfont/iconfont.json
Normal file
51
mayfly_go_web/src/assets/iconfont/iconfont.json
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"id": "3953964",
|
||||
"name": "mayfly-go",
|
||||
"font_family": "iconfont",
|
||||
"css_prefix_text": "icon-",
|
||||
"description": "",
|
||||
"glyphs": [
|
||||
{
|
||||
"icon_id": "23957582",
|
||||
"name": "MongoDB",
|
||||
"font_class": "mongo",
|
||||
"unicode": "e646",
|
||||
"unicode_decimal": 58950
|
||||
},
|
||||
{
|
||||
"icon_id": "4969649",
|
||||
"name": "Redis",
|
||||
"font_class": "op-redis",
|
||||
"unicode": "e728",
|
||||
"unicode_decimal": 59176
|
||||
},
|
||||
{
|
||||
"icon_id": "22442993",
|
||||
"name": "PostgreSQL",
|
||||
"font_class": "op-postgres",
|
||||
"unicode": "e8b7",
|
||||
"unicode_decimal": 59575
|
||||
},
|
||||
{
|
||||
"icon_id": "10055634",
|
||||
"name": "云数据库MongoDB",
|
||||
"font_class": "op-mongo",
|
||||
"unicode": "e7d7",
|
||||
"unicode_decimal": 59351
|
||||
},
|
||||
{
|
||||
"icon_id": "10055642",
|
||||
"name": "云数据库 RDS MySQL",
|
||||
"font_class": "op-mysql",
|
||||
"unicode": "e7d8",
|
||||
"unicode_decimal": 59352
|
||||
},
|
||||
{
|
||||
"icon_id": "3876165",
|
||||
"name": "redis",
|
||||
"font_class": "redis",
|
||||
"unicode": "e619",
|
||||
"unicode_decimal": 58905
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,42 +1,47 @@
|
||||
// 字体图标 url
|
||||
const cssCdnUrlList: Array<string> = [
|
||||
'//at.alicdn.com/t/font_2298093_ysc3z187xhh.css',
|
||||
'//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css',
|
||||
|
||||
];
|
||||
// 第三方 js url
|
||||
const jsCdnUrlList: Array<string> = [];
|
||||
|
||||
// 动态设置字体图标
|
||||
// 动态批量设置字体图标
|
||||
export function setCssCdn() {
|
||||
if (cssCdnUrlList.length <= 0) return false;
|
||||
cssCdnUrlList.map((v) => {
|
||||
let link = document.createElement('link');
|
||||
link.rel = 'stylesheet';
|
||||
link.href = v;
|
||||
link.crossOrigin = 'anonymous';
|
||||
document.getElementsByTagName('head')[0].appendChild(link);
|
||||
});
|
||||
if (cssCdnUrlList.length <= 0) return false;
|
||||
cssCdnUrlList.map((v) => {
|
||||
let link = document.createElement('link');
|
||||
link.rel = 'stylesheet';
|
||||
link.href = v;
|
||||
link.crossOrigin = 'anonymous';
|
||||
document.getElementsByTagName('head')[0].appendChild(link);
|
||||
});
|
||||
}
|
||||
|
||||
// 批量设置第三方js
|
||||
// 动态批量设置第三方js
|
||||
export function setJsCdn() {
|
||||
if (jsCdnUrlList.length <= 0) return false;
|
||||
jsCdnUrlList.map((v) => {
|
||||
let link = document.createElement('script');
|
||||
link.src = v;
|
||||
document.body.appendChild(link);
|
||||
});
|
||||
if (jsCdnUrlList.length <= 0) return false;
|
||||
jsCdnUrlList.map((v) => {
|
||||
let link = document.createElement('script');
|
||||
link.src = v;
|
||||
document.body.appendChild(link);
|
||||
});
|
||||
}
|
||||
|
||||
// 设置执行函数
|
||||
/**
|
||||
* 批量设置字体图标、动态js
|
||||
* @method cssCdn 动态批量设置字体图标
|
||||
* @method jsCdn 动态批量设置第三方js
|
||||
*/
|
||||
const setIntroduction = {
|
||||
cssCdn: () => {
|
||||
setCssCdn();
|
||||
},
|
||||
jsCdn: () => {
|
||||
setJsCdn();
|
||||
},
|
||||
// 设置css
|
||||
cssCdn: () => {
|
||||
setCssCdn();
|
||||
},
|
||||
// 设置js
|
||||
jsCdn: () => {
|
||||
setJsCdn();
|
||||
},
|
||||
};
|
||||
|
||||
// 导出函数方法
|
||||
export default setIntroduction;
|
||||
export default setIntroduction;
|
||||
@@ -1,5 +1,20 @@
|
||||
import { nextTick } from 'vue';
|
||||
import * as svg from '@element-plus/icons-vue';
|
||||
import iconfontJson from '@/assets/iconfont/iconfont.json'
|
||||
import SvgIcon from '@/components/svgIcon/index.vue';
|
||||
|
||||
/**
|
||||
* 导出全局注册 element plus svg 图标
|
||||
* @param app vue 实例
|
||||
* @description 使用:https://element-plus.gitee.io/zh-CN/component/icon.html
|
||||
*/
|
||||
export function registElSvgIcon(app: any) {
|
||||
const icons = svg as any;
|
||||
for (const i in icons) {
|
||||
app.component(`${icons[i].name}`, icons[i]);
|
||||
}
|
||||
app.component('SvgIcon', SvgIcon);
|
||||
}
|
||||
|
||||
// 获取阿里字体图标
|
||||
const getAlicdnIconfont = () => {
|
||||
@@ -9,7 +24,8 @@ const getAlicdnIconfont = () => {
|
||||
let sheetsList = [];
|
||||
let sheetsIconList = [];
|
||||
for (let i = 0; i < styles.length; i++) {
|
||||
if (styles[i].href && styles[i].href.indexOf('at.alicdn.com') > -1) {
|
||||
console.log(styles[i]);
|
||||
if (styles[i].href && styles[i].href.indexOf('iconfont') > -1) {
|
||||
sheetsList.push(styles[i]);
|
||||
}
|
||||
}
|
||||
@@ -28,6 +44,16 @@ const getAlicdnIconfont = () => {
|
||||
});
|
||||
};
|
||||
|
||||
// 获取本地阿里icons
|
||||
const getLocalAliIconfont = () => {
|
||||
return new Promise((resolve, reject) => {
|
||||
nextTick(() => {
|
||||
const prefix = iconfontJson.css_prefix_text;
|
||||
resolve(iconfontJson.glyphs.map((x: any) => prefix + x.font_class));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 初始化获取 css 样式,获取 element plus 自带图标
|
||||
const elementPlusIconfont = () => {
|
||||
return new Promise((resolve, reject) => {
|
||||
@@ -76,9 +102,9 @@ const awesomeIconfont = () => {
|
||||
|
||||
// 定义导出方法集合
|
||||
const initIconfont = {
|
||||
// ali: () => {
|
||||
// return getAlicdnIconfont();
|
||||
// },
|
||||
ali: () => {
|
||||
return getLocalAliIconfont();
|
||||
},
|
||||
ele: () => {
|
||||
return elementPlusIconfont();
|
||||
},
|
||||
@@ -16,7 +16,6 @@
|
||||
:name="state.fontIconPrefix === '' ? prepend : state.fontIconPrefix"
|
||||
class="font14"
|
||||
/>
|
||||
<!-- <i v-else :class="state.fontIconPrefix === '' ? prepend : state.fontIconPrefix" class="font14"></i> -->
|
||||
</template>
|
||||
</el-input>
|
||||
<el-popover
|
||||
@@ -32,12 +31,12 @@
|
||||
<div class="icon-selector-warp">
|
||||
<div class="icon-selector-warp-title">{{ title }}</div>
|
||||
<el-tabs v-model="state.fontIconTabActive" @tab-click="onIconClick">
|
||||
<!-- <el-tab-pane lazy label="ali" name="ali">
|
||||
<IconList :list="fontIconSheetsFilterList" :empty="emptyDescription" :prefix="state.fontIconPrefix" @get-icon="onColClick" />
|
||||
</el-tab-pane> -->
|
||||
<el-tab-pane lazy label="ele" name="ele">
|
||||
<IconList :list="fontIconSheetsFilterList" :empty="emptyDescription" :prefix="state.fontIconPrefix" @get-icon="onColClick" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane lazy label="ali" name="ali">
|
||||
<IconList :list="fontIconSheetsFilterList" :empty="emptyDescription" :prefix="state.fontIconPrefix" @get-icon="onColClick" />
|
||||
</el-tab-pane>
|
||||
<!-- <el-tab-pane lazy label="awe" name="awe">
|
||||
<IconList :list="fontIconSheetsFilterList" :empty="emptyDescription" :prefix="state.fontIconPrefix" @get-icon="onColClick" />
|
||||
</el-tab-pane> -->
|
||||
@@ -51,7 +50,7 @@
|
||||
<script setup lang="ts" name="iconSelector">
|
||||
import { defineAsyncComponent, ref, reactive, onMounted, nextTick, computed, watch } from 'vue';
|
||||
import type { TabsPaneContext } from 'element-plus';
|
||||
import initIconfont from '@/common/utils/getStyleSheets';
|
||||
import initIconfont from '@/common/utils/svgIcons';
|
||||
import '@/theme/iconSelector.scss';
|
||||
|
||||
// 定义父组件传过来的值
|
||||
@@ -158,7 +157,11 @@ const initModeValueEcho = () => {
|
||||
// 处理 icon 类型,用于回显时,tab 高亮与初始化数据
|
||||
const initFontIconName = () => {
|
||||
let name = 'ele';
|
||||
// if (props.modelValue!.indexOf('iconfont') > -1) name = 'ali';
|
||||
if (props.modelValue!.indexOf('iconfont') > -1) {
|
||||
name = 'ali';
|
||||
} else {
|
||||
name = 'ele';
|
||||
}
|
||||
// else if (props.modelValue!.indexOf('ele-') > -1) name = 'ele';
|
||||
// else if (props.modelValue!.indexOf('fa') > -1) name = 'awe';
|
||||
// 初始化 tab 高亮回显
|
||||
@@ -169,10 +172,9 @@ const initFontIconName = () => {
|
||||
const initFontIconData = async (name: string) => {
|
||||
if (name === 'ali') {
|
||||
// 阿里字体图标使用 `iconfont xxx`
|
||||
// if (state.fontIconList.ali.length > 0) return;
|
||||
// await initIconfont.ali().then((res: any) => {
|
||||
// state.fontIconList.ali = res.map((i: string) => `iconfont ${i}`);
|
||||
// });
|
||||
if (state.fontIconList.ali.length > 0) return;
|
||||
const res: any = await initIconfont.ali();
|
||||
state.fontIconList.ali = res.map((i: string) => `iconfont ${i}`);
|
||||
} else if (name === 'ele') {
|
||||
// element plus 图标
|
||||
if (state.fontIconList.ele.length > 0) return;
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
<template>
|
||||
<i v-if="isEle" class="el-icon" :style="setIconSvgStyle">
|
||||
<component :is="getIconName" />
|
||||
</i>
|
||||
<div v-else-if="isShowIconImg" :style="setIconImgOutStyle">
|
||||
<img :src="getIconName" :style="setIconSvgInsStyle" />
|
||||
</div>
|
||||
<i v-else :class="getIconName" :style="setIconSvgStyle" />
|
||||
<i v-if="isShowIconSvg" class="el-icon icon-middle" :style="setIconSvgStyle">
|
||||
<component :is="getIconName" :style="setIconSvgStyle" />
|
||||
</i>
|
||||
|
||||
<svg v-else-if="isIconfont()" class="el-icon iconfont-icon icon-middle" aria-hidden="true" :style="setIconSvgStyle">
|
||||
<use :xlink:href="'#' + getIconfontName()"></use>
|
||||
</svg>
|
||||
|
||||
<div v-else-if="isShowIconImg" :style="setIconImgOutStyle">
|
||||
<img :src="getIconName" :style="setIconSvgInsStyle" />
|
||||
</div>
|
||||
|
||||
<i v-else :class="getIconName" :style="setIconSvgStyle" />
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="svgIcon">
|
||||
@@ -13,19 +19,19 @@ import { computed } from 'vue';
|
||||
|
||||
// 定义父组件传过来的值
|
||||
const props = defineProps({
|
||||
// svg 图标组件名字
|
||||
name: {
|
||||
type: String,
|
||||
},
|
||||
// svg 大小
|
||||
size: {
|
||||
type: Number,
|
||||
default: () => 14,
|
||||
},
|
||||
// svg 颜色
|
||||
color: {
|
||||
type: String,
|
||||
},
|
||||
// svg 图标组件名字
|
||||
name: {
|
||||
type: String,
|
||||
},
|
||||
// svg 大小
|
||||
size: {
|
||||
type: Number,
|
||||
default: () => 14,
|
||||
},
|
||||
// svg 颜色
|
||||
color: {
|
||||
type: String,
|
||||
},
|
||||
isEle: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
@@ -33,35 +39,67 @@ const props = defineProps({
|
||||
});
|
||||
|
||||
// 在线链接、本地引入地址前缀
|
||||
// https://gitee.com/lyt-top/vue-next-admin/issues/I62OVL
|
||||
const linesString = ['https', 'http', '/src', '/assets', 'data:image', import.meta.env.VITE_PUBLIC_PATH];
|
||||
|
||||
// 获取 icon 图标名称
|
||||
const getIconName = computed(() => {
|
||||
return props?.name;
|
||||
return props?.name as any;
|
||||
});
|
||||
// 用于判断 element plus 自带 svg 图标的显示、隐藏
|
||||
|
||||
// 用于判断 element plus 自带 svg 图标的显示、隐藏。不存在 空格分隔的icon name即为element plus自带icon
|
||||
const isShowIconSvg = computed(() => {
|
||||
return props?.name?.startsWith('ele-');
|
||||
const ss = props?.name?.split(" ")
|
||||
if (!ss) {
|
||||
return true;
|
||||
}
|
||||
return ss.length == 1;
|
||||
});
|
||||
|
||||
const isIconfont = () => {
|
||||
return props?.name?.startsWith("iconfont")
|
||||
}
|
||||
|
||||
const getIconfontName = () => {
|
||||
// iconfont icon-xxxx 获取icon-xxx即可
|
||||
return props?.name?.split(" ")[1]
|
||||
}
|
||||
|
||||
// 用于判断在线链接、本地引入等图标显示、隐藏
|
||||
const isShowIconImg = computed(() => {
|
||||
return linesString.find((str) => props.name?.startsWith(str));
|
||||
return linesString.find((str) => props.name?.startsWith(str));
|
||||
});
|
||||
|
||||
// 设置图标样式
|
||||
const setIconSvgStyle = computed(() => {
|
||||
return `font-size: ${props.size}px;color: ${props.color};`;
|
||||
return `font-size: ${props.size}px;color: ${props.color};width: ${props.size}px;height: ${props.size}px;`;
|
||||
});
|
||||
|
||||
// 设置图片样式
|
||||
const setIconImgOutStyle = computed(() => {
|
||||
return `width: ${props.size}px;height: ${props.size}px;display: inline-block;overflow: hidden;`;
|
||||
return `width: ${props.size}px;height: ${props.size}px;display: inline-block;overflow: hidden;`;
|
||||
});
|
||||
|
||||
// 设置图片样式
|
||||
// https://gitee.com/lyt-top/vue-next-admin/issues/I59ND0
|
||||
const setIconSvgInsStyle = computed(() => {
|
||||
const filterStyle: string[] = [];
|
||||
const compatibles: string[] = ['-webkit', '-ms', '-o', '-moz'];
|
||||
compatibles.forEach((j) => filterStyle.push(`${j}-filter: drop-shadow(${props.color} 30px 0);`));
|
||||
return `width: ${props.size}px;height: ${props.size}px;position: relative;left: -${props.size}px;${filterStyle.join('')}`;
|
||||
const filterStyle: string[] = [];
|
||||
const compatibles: string[] = ['-webkit', '-ms', '-o', '-moz'];
|
||||
compatibles.forEach((j) => filterStyle.push(`${j}-filter: drop-shadow(${props.color} 30px 0);`));
|
||||
return `width: ${props.size}px;height: ${props.size}px;position: relative;left: -${props.size}px;${filterStyle.join('')}`;
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
.iconfont-icon {
|
||||
vertical-align: -0.15em;
|
||||
fill: currentColor;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.icon-middle {
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
vertical-align: middle;
|
||||
}
|
||||
</style>
|
||||
@@ -1,36 +1,24 @@
|
||||
import { createApp } from 'vue';
|
||||
import App from '@/App.vue';
|
||||
|
||||
import router from './router';
|
||||
import pinia from '@/store/index';
|
||||
import { directive } from '@/directive/index';
|
||||
import { globalComponentSize } from '@/common/utils/componentSize';
|
||||
import { registElSvgIcon } from '@/common/utils/svgIcons';
|
||||
|
||||
import ElementPlus from 'element-plus';
|
||||
import 'element-plus/dist/index.css';
|
||||
import zhCn from 'element-plus/es/locale/lang/zh-cn'
|
||||
import '@/theme/index.scss';
|
||||
import { ElMessage } from 'element-plus';
|
||||
|
||||
import * as svg from '@element-plus/icons-vue';
|
||||
import SvgIcon from '@/components/svgIcon/index.vue';
|
||||
import '@/theme/index.scss';
|
||||
import '@/assets/font/font.css'
|
||||
import '@/assets/iconfont/iconfont.js'
|
||||
|
||||
const app = createApp(App);
|
||||
|
||||
/**
|
||||
* 导出全局注册 element plus svg 图标
|
||||
* @param app vue 实例
|
||||
* @description 使用:https://element-plus.gitee.io/zh-CN/component/icon.html
|
||||
*/
|
||||
function elSvg(app: any) {
|
||||
const icons = svg as any;
|
||||
for (const i in icons) {
|
||||
app.component(`${icons[i].name}`, icons[i]);
|
||||
}
|
||||
app.component('SvgIcon', SvgIcon);
|
||||
}
|
||||
|
||||
elSvg(app);
|
||||
registElSvgIcon(app);
|
||||
directive(app);
|
||||
|
||||
app.use(pinia)
|
||||
|
||||
@@ -340,24 +340,4 @@ body,
|
||||
|
||||
.f12 {
|
||||
font-size: 12px
|
||||
}
|
||||
|
||||
// 图标垂直居中
|
||||
.icon-middle {
|
||||
.el-icon {
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
.img-icon {
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
vertical-align: middle;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
}
|
||||
@@ -6,19 +6,19 @@
|
||||
<template v-for="val in menuLists">
|
||||
<el-submenu :index="val.path" v-if="val.children && val.children.length > 0" :key="val.path">
|
||||
<template #title>
|
||||
<i :class="val.meta.icon ? val.meta.icon : ''"></i>
|
||||
<SvgIcon :name="val.meta.icon"/>
|
||||
<span>{{ val.meta.title }}</span>
|
||||
</template>
|
||||
<SubItem :chil="val.children" />
|
||||
</el-submenu>
|
||||
<el-menu-item :index="val.path" :key="val?.path" v-else>
|
||||
<template #title v-if="!val.meta.link || (val.meta.link && val.meta.isIframe)">
|
||||
<i :class="val.meta.icon ? val.meta.icon : ''"></i>
|
||||
<SvgIcon :name="val.meta.icon"/>
|
||||
{{ val.meta.title }}
|
||||
</template>
|
||||
<template #title v-else>
|
||||
<a :href="val.meta.link" target="_blank">
|
||||
<i :class="val.meta.icon ? val.meta.icon : ''"></i>
|
||||
<SvgIcon :name="val.meta.icon"/>
|
||||
{{ val.meta.title }}
|
||||
</a>
|
||||
</template>
|
||||
|
||||
@@ -2,19 +2,19 @@
|
||||
<template v-for="val in chils">
|
||||
<el-sub-menu :index="val.path" :key="val.path" v-if="val.children && val.children.length > 0">
|
||||
<template #title>
|
||||
<SvgIcon :name="val.meta.icon" />
|
||||
<SvgIcon :name="val.meta.icon"/>
|
||||
<span>{{ val.meta.title }}</span>
|
||||
</template>
|
||||
<sub-item :chil="val.children" />
|
||||
</el-sub-menu>
|
||||
<el-menu-item :index="val.path" :key="val.path" v-else>
|
||||
<el-menu-item :index="val.path" :key="val?.path" v-else>
|
||||
<template v-if="!val.meta.link || (val.meta.link && val.meta.isIframe)">
|
||||
<SvgIcon :name="val.meta.icon" />
|
||||
<SvgIcon :name="val.meta.icon"/>
|
||||
<span>{{ val.meta.title }}</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<a :href="val.meta.link" target="_blank">
|
||||
<SvgIcon :name="val.meta.icon" />
|
||||
<SvgIcon :name="val.meta.icon"/>
|
||||
{{ val.meta.title }}
|
||||
</a>
|
||||
</template>
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
<script lang="ts">
|
||||
import { computed, defineComponent } from 'vue';
|
||||
import SvgIcon from '@/components/svgIcon/index.vue';
|
||||
export default defineComponent({
|
||||
name: 'navMenuSubItem',
|
||||
props: {
|
||||
@@ -35,7 +36,7 @@ export default defineComponent({
|
||||
setup(props) {
|
||||
// 获取父级菜单数据
|
||||
const chils = computed(() => {
|
||||
return props.chil;
|
||||
return props.chil as any;
|
||||
});
|
||||
return {
|
||||
chils,
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
<template v-for="val in menuLists">
|
||||
<el-sub-menu :index="val.path" v-if="val.children && val.children.length > 0" :key="val.path">
|
||||
<template #title>
|
||||
<SvgIcon :name="val.meta.icon" />
|
||||
<SvgIcon :name="val.meta.icon"/>
|
||||
<span>{{ val.meta.title }}</span>
|
||||
</template>
|
||||
<SubItem :chil="val.children" />
|
||||
</el-sub-menu>
|
||||
<el-menu-item :index="val.path" :key="val?.path" v-else>
|
||||
<SvgIcon :name="val.meta.icon" />
|
||||
<SvgIcon :name="val.meta.icon"/>
|
||||
<template #title v-if="!val.meta.link || (val.meta.link && val.meta.isIframe)">
|
||||
<span>{{ val.meta.title }}</span>
|
||||
</template>
|
||||
|
||||
@@ -6,9 +6,10 @@
|
||||
|
||||
<el-tree ref="treeRef" :style="{ maxHeight: state.height, height: state.height, overflow: 'auto' }"
|
||||
:highlight-current="true" :indent="7" :load="loadNode" :props="treeProps" lazy node-key="key"
|
||||
:expand-on-click-node="true" :filter-node-method="filterNode" @node-click="treeNodeClick" @node-expand="treeNodeClick">
|
||||
:expand-on-click-node="true" :filter-node-method="filterNode" @node-click="treeNodeClick"
|
||||
@node-expand="treeNodeClick">
|
||||
<template #default="{ node, data }">
|
||||
<span class="icon-middle ">
|
||||
<span>
|
||||
<span v-if="data.type == TagTreeNode.TagPath">
|
||||
<tag-info :tag-path="data.label" />
|
||||
</span>
|
||||
@@ -60,7 +61,7 @@ const { filterText } = toRefs(state)
|
||||
|
||||
onMounted(async () => {
|
||||
if (!props.height) {
|
||||
state.height = window.innerHeight - 145 + 'px';
|
||||
state.height = window.innerHeight - 147 + 'px';
|
||||
} else {
|
||||
state.height = props.height;
|
||||
}
|
||||
@@ -84,7 +85,13 @@ const loadNode = async (node: any, resolve: any) => {
|
||||
if (typeof resolve !== 'function') {
|
||||
return;
|
||||
}
|
||||
return resolve(await props.load(node));
|
||||
let nodes = []
|
||||
try {
|
||||
nodes = await props.load(node)
|
||||
} catch (e: any) {
|
||||
console.error(e);
|
||||
}
|
||||
return resolve(nodes)
|
||||
};
|
||||
|
||||
const treeNodeClick = (data: any) => {
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<el-select @focus="getTags" v-model="query.tagPath" placeholder="请选择标签" filterable clearable>
|
||||
<el-option v-for="item in tags" :key="item" :label="item" :value="item"> </el-option>
|
||||
</el-select>
|
||||
<el-button v-waves type="primary" icon="search" @click="search()" class="ml5">查询</el-button>
|
||||
<el-button type="success" icon="search" @click="search()" class="ml5"></el-button>
|
||||
</div>
|
||||
<el-table :data="datas" ref="table" @current-change="choose" show-overflow-tooltip stripe>
|
||||
<el-table-column label="选择" width="60px">
|
||||
|
||||
@@ -28,14 +28,10 @@
|
||||
<span v-if="data.type == NodeType.DbInst">
|
||||
<el-popover placement="right-start" title="数据库实例信息" trigger="hover" :width="210">
|
||||
<template #reference>
|
||||
<img v-if="data.params.type === 'mysql'" src="@/assets/icon/mysql.png"
|
||||
class="img-icon" />
|
||||
<img v-if="data.params.type === 'postgres'" src="@/assets/icon/postgres.png"
|
||||
class="img-icon" />
|
||||
<SvgIcon v-if="data.params.type === 'mysql'" name="iconfont icon-op-mysql" :size="18" />
|
||||
<SvgIcon v-if="data.params.type === 'postgres'" name="iconfont icon-op-postgres" :size="18" />
|
||||
|
||||
<el-icon v-else>
|
||||
<InfoFilled />
|
||||
</el-icon>
|
||||
<SvgIcon name="InfoFilled" v-else />
|
||||
</template>
|
||||
<template #default>
|
||||
<el-form class="instances-pop-form" label-width="55px" :size="'small'">
|
||||
@@ -52,23 +48,16 @@
|
||||
</el-popover>
|
||||
</span>
|
||||
|
||||
<el-icon v-if="data.type == NodeType.Db">
|
||||
<Coin color="#67c23a" />
|
||||
</el-icon>
|
||||
<SvgIcon v-if="data.type == NodeType.Db" name="Coin" color="#67c23a" />
|
||||
|
||||
<SvgIcon name="Calendar" v-if="data.type == NodeType.TableMenu" color="#409eff" />
|
||||
|
||||
<el-icon v-if="data.type == NodeType.TableMenu">
|
||||
<Calendar color="#409eff" />
|
||||
</el-icon>
|
||||
<el-tooltip v-if="data.type == NodeType.Table" effect="customized"
|
||||
:content="data.params.tableComment" placement="top-end">
|
||||
<el-icon>
|
||||
<Calendar color="#409eff" />
|
||||
</el-icon>
|
||||
<SvgIcon name="Calendar" color="#409eff" />
|
||||
</el-tooltip>
|
||||
|
||||
<el-icon v-if="data.type == NodeType.SqlMenu || data.type == NodeType.Sql">
|
||||
<Files color="#f56c6c" />
|
||||
</el-icon>
|
||||
<SvgIcon name="Files" v-if="data.type == NodeType.SqlMenu || data.type == NodeType.Sql" color="#f56c6c" />
|
||||
</template>
|
||||
</tag-tree>
|
||||
</el-col>
|
||||
|
||||
@@ -105,7 +105,8 @@
|
||||
</el-dropdown-item>
|
||||
|
||||
<el-dropdown-item>
|
||||
<el-link :disabled="!scope.row.hasCli || scope.row.status == -1" type="danger"
|
||||
<el-link v-auth="'machine:close-cli'"
|
||||
:disabled="!scope.row.hasCli || scope.row.status == -1" type="danger"
|
||||
@click="closeCli(scope.row)" plain size="small" :underline="false">关闭连接
|
||||
</el-link>
|
||||
</el-dropdown-item>
|
||||
|
||||
@@ -9,10 +9,7 @@
|
||||
</el-button>
|
||||
|
||||
<div style="float: right">
|
||||
<el-select v-model="query.type" placeholder="请选择标签" @clear="search" filterable clearable>
|
||||
<el-option label="" value="item"> </el-option>
|
||||
</el-select>
|
||||
<el-input class="ml5" placeholder="请输入凭证名称" style="width: 150px" v-model="query.name" @clear="search"
|
||||
<el-input class="ml5" placeholder="请输入凭证名称" style="width: 200px" v-model="query.name" @clear="search"
|
||||
plain clearable></el-input>
|
||||
<el-button class="ml5" @click="search" type="success" icon="search"></el-button>
|
||||
</div>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<span v-if="data.type == NodeType.Mongo">
|
||||
<el-popover placement="right-start" title="mongo实例信息" trigger="hover" :width="210">
|
||||
<template #reference>
|
||||
<img src="@/assets/icon/mongo.png" class="img-icon" />
|
||||
<SvgIcon name="iconfont icon-op-mongo" :size="18"/>
|
||||
</template>
|
||||
<template #default>
|
||||
<el-form class="instances-pop-form" label-width="50px" :size="'small'">
|
||||
@@ -20,13 +20,9 @@
|
||||
</el-popover>
|
||||
</span>
|
||||
|
||||
<el-icon v-if="data.type == NodeType.Dbs">
|
||||
<Coin color="#67c23a" />
|
||||
</el-icon>
|
||||
<SvgIcon v-if="data.type == NodeType.Dbs" name="Coin" color="#67c23a"/>
|
||||
|
||||
<el-icon v-if="data.type == NodeType.Coll || data.type == NodeType.CollMenu">
|
||||
<Document class="color-primary" />
|
||||
</el-icon>
|
||||
<SvgIcon v-if="data.type == NodeType.Coll || data.type == NodeType.CollMenu" name="Document" class="color-primary"/>
|
||||
</template>
|
||||
|
||||
<template #label="{ data }">
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<span v-if="data.type == NodeType.Redis">
|
||||
<el-popover placement="right-start" title="redis实例信息" trigger="hover" :width="210">
|
||||
<template #reference>
|
||||
<img src="@/assets/icon/redis.png" class="img-icon" />
|
||||
<SvgIcon name="iconfont icon-op-redis" :size="18"/>
|
||||
</template>
|
||||
<template #default>
|
||||
<el-form class="instances-pop-form" label-width="50px" :size="'small'">
|
||||
@@ -24,9 +24,7 @@
|
||||
</el-popover>
|
||||
</span>
|
||||
|
||||
<el-icon v-if="data.type == NodeType.Db">
|
||||
<Coin color="#67c23a" />
|
||||
</el-icon>
|
||||
<SvgIcon v-if="data.type == NodeType.Db" name="Coin" color="#67c23a"/>
|
||||
</template>
|
||||
</tag-tree>
|
||||
</el-col>
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
<el-button v-auth="'account:del'" :disabled="chooseId == null" @click="deleteAccount()" type="danger"
|
||||
icon="delete">删除</el-button>
|
||||
<div style="float: right">
|
||||
<el-input class="mr2" placeholder="请输入账号名" size="small" style="width: 300px" v-model="query.username"
|
||||
<el-input class="mr2" placeholder="请输入账号名" style="width: 200px" v-model="query.username"
|
||||
@clear="search()" clearable></el-input>
|
||||
<el-button @click="search()" type="success" icon="search" size="small"></el-button>
|
||||
<el-button @click="search()" type="success" icon="search"></el-button>
|
||||
</div>
|
||||
<el-table :data="datas" ref="table" @current-change="choose" show-overflow-tooltip>
|
||||
<el-table-column label="选择" width="55px">
|
||||
|
||||
@@ -219,7 +219,6 @@ const addResource = (data: any) => {
|
||||
};
|
||||
|
||||
const editResource = async (data: any) => {
|
||||
state.dialogForm.visible = true;
|
||||
const res = await resourceApi.detail.request({
|
||||
id: data.id,
|
||||
});
|
||||
@@ -230,6 +229,7 @@ const editResource = async (data: any) => {
|
||||
state.dialogForm.data = res;
|
||||
state.dialogForm.typeDisabled = true;
|
||||
state.dialogForm.title = '修改“' + data.name + '”菜单';
|
||||
state.dialogForm.visible = true;
|
||||
};
|
||||
|
||||
const valChange = () => {
|
||||
|
||||
@@ -57,6 +57,7 @@ func InitMachineRouter(router *gin.RouterGroup) {
|
||||
machines.PUT(":machineId/:status", func(c *gin.Context) {
|
||||
req.NewCtxWithGin(c).
|
||||
WithLog(changeStatus).
|
||||
WithRequiredPermission(saveMachineP).
|
||||
Handle(m.ChangeStatus)
|
||||
})
|
||||
|
||||
@@ -68,8 +69,12 @@ func InitMachineRouter(router *gin.RouterGroup) {
|
||||
})
|
||||
|
||||
closeCli := req.NewLogInfo("关闭机器客户端").WithSave(true)
|
||||
closeCliP := req.NewPermission("machine:close-cli")
|
||||
machines.DELETE(":machineId/close-cli", func(c *gin.Context) {
|
||||
req.NewCtxWithGin(c).WithLog(closeCli).Handle(m.CloseCli)
|
||||
req.NewCtxWithGin(c).
|
||||
WithLog(closeCli).
|
||||
WithRequiredPermission(closeCliP).
|
||||
Handle(m.CloseCli)
|
||||
})
|
||||
|
||||
machines.GET(":machineId/terminal", m.WsSSH)
|
||||
|
||||
@@ -443,7 +443,7 @@ BEGIN;
|
||||
INSERT INTO `t_sys_resource` (id,pid,`type`,status,name,code,weight,meta,creator_id,creator,modifier_id,modifier,create_time,update_time) VALUES
|
||||
(1,0,1,1,'首页','/home',1,'{"component":"home/Home","icon":"HomeFilled","isAffix":true,"isKeepAlive":true,"routeName":"Home"}',1,'admin',1,'admin','2021-05-25 16:44:41','2023-03-14 14:27:07'),
|
||||
(2,0,1,1,'机器管理','/machine',4,'{"icon":"Monitor","isKeepAlive":true,"redirect":"machine/list","routeName":"Machine"}',1,'admin',1,'admin','2021-05-25 16:48:16','2022-10-06 14:58:49'),
|
||||
(3,2,1,1,'机器列表','machines',2,'{"component":"ops/machine/MachineList","icon":"Monitor","isKeepAlive":true,"routeName":"MachineList"}',2,'admin',1,'admin','2021-05-25 16:50:04','2023-03-14 14:33:15'),
|
||||
(3,2,1,1,'机器列表','machines',2,'{"component":"ops/machine/MachineList","icon":"Monitor","isKeepAlive":true,"routeName":"MachineList"}',2,'admin',1,'admin','2021-05-25 16:50:04','2023-03-15 17:14:44'),
|
||||
(4,0,1,1,'系统管理','/sys',8,'{"icon":"Setting","isKeepAlive":true,"redirect":"/sys/resources","routeName":"sys"}',1,'admin',1,'admin','2021-05-26 15:20:20','2022-10-06 14:59:53'),
|
||||
(5,4,1,1,'资源管理','resources',3,'{"component":"system/resource/ResourceList","icon":"Menu","isKeepAlive":true,"routeName":"ResourceList"}',1,'admin',1,'admin','2021-05-26 15:23:07','2023-03-14 15:44:34'),
|
||||
(11,4,1,1,'角色管理','roles',2,'{"component":"system/role/RoleList","icon":"Menu","isKeepAlive":true,"routeName":"RoleList"}',1,'admin',1,'admin','2021-05-27 11:15:35','2023-03-14 15:44:22'),
|
||||
@@ -469,9 +469,9 @@ INSERT INTO `t_sys_resource` (id,pid,`type`,status,name,code,weight,meta,creator
|
||||
(32,5,2,1,'资源管理基本权限','resource',0,NULL,1,'admin',1,'admin','2021-05-31 21:25:25','2021-05-31 21:25:25'),
|
||||
(33,11,2,1,'角色管理基本权限','role',0,NULL,1,'admin',1,'admin','2021-05-31 21:25:40','2021-05-31 21:25:40'),
|
||||
(34,14,2,1,'账号启用禁用按钮','account:changeStatus',5,NULL,1,'admin',1,'admin','2021-05-31 21:29:48','2021-05-31 21:29:48'),
|
||||
(36,0,1,1,'DBMS','/dbms',5,'{"icon":"Grid","isKeepAlive":true,"routeName":"DBMS"}',1,'admin',1,'admin','2021-06-01 14:01:33','2022-10-06 15:00:40'),
|
||||
(36,0,1,1,'DBMS','/dbms',5,'{"icon":"Coin","isKeepAlive":true,"routeName":"DBMS"}',1,'admin',1,'admin','2021-06-01 14:01:33','2023-03-15 17:31:08'),
|
||||
(37,3,2,1,'添加文件配置','machine:addFile',6,'null',1,'admin',1,'admin','2021-06-01 19:54:23','2021-06-01 19:54:23'),
|
||||
(38,36,1,1,'数据操作','sql-exec',1,'{"component":"ops/db/SqlExec","icon":"Search","isKeepAlive":true,"routeName":"SqlExec"}',1,'admin',1,'admin','2021-06-03 09:09:29','2023-03-14 15:42:29'),
|
||||
(38,36,1,1,'数据操作','sql-exec',1,'{"component":"ops/db/SqlExec","icon":"Coin","isKeepAlive":true,"routeName":"SqlExec"}',1,'admin',1,'admin','2021-06-03 09:09:29','2023-03-15 17:31:21'),
|
||||
(39,0,1,1,'个人中心','/personal',2,'{"component":"personal/index","icon":"UserFilled","isHide":true,"isKeepAlive":true,"routeName":"Personal"}',1,'admin',1,'admin','2021-06-03 14:25:35','2023-03-14 14:28:36'),
|
||||
(40,3,2,1,'文件管理-新增按钮','machine:file:add',7,'null',1,'admin',1,'admin','2021-06-08 11:06:26','2021-06-08 11:12:28'),
|
||||
(41,3,2,1,'文件管理-删除按钮','machine:file:del',8,'null',1,'admin',1,'admin','2021-06-08 11:06:49','2021-06-08 11:06:49'),
|
||||
@@ -481,23 +481,23 @@ INSERT INTO `t_sys_resource` (id,pid,`type`,status,name,code,weight,meta,creator
|
||||
(45,3,2,1,'脚本管理-保存脚本按钮','machine:script:save',12,'null',1,'admin',1,'admin','2021-06-08 11:09:01','2021-06-08 11:09:01'),
|
||||
(46,3,2,1,'脚本管理-删除按钮','machine:script:del',13,'null',1,'admin',1,'admin','2021-06-08 11:09:27','2021-06-08 11:09:27'),
|
||||
(47,3,2,1,'脚本管理-执行按钮','machine:script:run',14,'null',1,'admin',1,'admin','2021-06-08 11:09:50','2021-06-08 11:09:50'),
|
||||
(49,36,1,1,'数据库管理','dbs',2,'{"component":"ops/db/DbList","icon":"Menu","isKeepAlive":true,"routeName":"DbList"}',1,'admin',1,'admin','2021-07-07 15:13:55','2023-03-14 14:34:01'),
|
||||
(49,36,1,1,'数据库管理','dbs',2,'{"component":"ops/db/DbList","icon":"Coin","isKeepAlive":true,"routeName":"DbList"}',1,'admin',1,'admin','2021-07-07 15:13:55','2023-03-15 17:31:28'),
|
||||
(54,49,2,1,'数据库保存','db:save',1,'null',1,'admin',1,'admin','2021-07-08 17:30:36','2021-07-08 17:31:05'),
|
||||
(55,49,2,1,'数据库删除','db:del',2,'null',1,'admin',1,'admin','2021-07-08 17:30:48','2021-07-08 17:30:48'),
|
||||
(57,3,2,1,'基本权限','machine',0,'null',1,'admin',1,'admin','2021-07-09 10:48:02','2021-07-09 10:48:02'),
|
||||
(58,49,2,1,'基本权限','db',0,'null',1,'admin',1,'admin','2021-07-09 10:48:22','2021-07-09 10:48:22'),
|
||||
(59,38,2,1,'基本权限','db:exec',1,'null',1,'admin',1,'admin','2021-07-09 10:50:13','2021-07-09 10:50:13'),
|
||||
(60,0,1,1,'Redis','/redis',6,'{"icon":"Menu","isKeepAlive":true,"routeName":"RDS"}',1,'admin',1,'admin','2021-07-19 20:15:41','2022-10-06 15:01:29'),
|
||||
(61,60,1,1,'数据操作','data-operation',1,'{"component":"ops/redis/DataOperation","icon":"Search","isKeepAlive":true,"routeName":"DataOperation"}',1,'admin',1,'admin','2021-07-19 20:17:29','2023-03-14 15:40:32'),
|
||||
(60,0,1,1,'Redis','/redis',6,'{"icon":"iconfont icon-redis","isKeepAlive":true,"routeName":"RDS"}',1,'admin',1,'admin','2021-07-19 20:15:41','2023-03-15 16:44:59'),
|
||||
(61,60,1,1,'数据操作','data-operation',1,'{"component":"ops/redis/DataOperation","icon":"iconfont icon-redis","isKeepAlive":true,"routeName":"DataOperation"}',1,'admin',1,'admin','2021-07-19 20:17:29','2023-03-15 16:37:50'),
|
||||
(62,61,2,1,'基本权限','redis:data',1,'null',1,'admin',1,'admin','2021-07-19 20:18:54','2021-07-19 20:18:54'),
|
||||
(63,60,1,1,'redis管理','manage',2,'{"component":"ops/redis/RedisList","icon":"Menu","isKeepAlive":true,"routeName":"RedisList"}',1,'admin',1,'admin','2021-07-20 10:48:04','2023-03-14 15:42:56'),
|
||||
(63,60,1,1,'redis管理','manage',2,'{"component":"ops/redis/RedisList","icon":"iconfont icon-redis","isKeepAlive":true,"routeName":"RedisList"}',1,'admin',1,'admin','2021-07-20 10:48:04','2023-03-15 16:38:00'),
|
||||
(64,63,2,1,'基本权限','redis:manage',1,'null',1,'admin',1,'admin','2021-07-20 10:48:26','2021-07-20 10:48:26'),
|
||||
(71,61,2,1,'数据保存','redis:data:save',6,'null',1,'admin',1,'admin','2021-08-17 11:20:37','2021-08-17 11:20:37'),
|
||||
(72,3,2,1,'终止进程','machine:killprocess',6,'null',1,'admin',1,'admin','2021-08-17 11:20:37','2021-08-17 11:20:37'),
|
||||
(79,0,1,1,'Mongo','/mongo',7,'{"icon":"Document","isKeepAlive":true,"routeName":"Mongo"}',1,'admin',1,'admin','2022-05-13 14:00:41','2022-10-06 15:01:34'),
|
||||
(80,79,1,1,'数据操作','mongo-data-operation',1,'{"component":"ops/mongo/MongoDataOp","icon":"Document","isKeepAlive":true,"routeName":"MongoDataOp"}',1,'admin',1,'admin','2022-05-13 14:03:58','2023-03-14 15:41:02'),
|
||||
(79,0,1,1,'Mongo','/mongo',7,'{"icon":"iconfont icon-mongo","isKeepAlive":true,"routeName":"Mongo"}',1,'admin',1,'admin','2022-05-13 14:00:41','2023-03-16 14:23:22'),
|
||||
(80,79,1,1,'数据操作','mongo-data-operation',1,'{"component":"ops/mongo/MongoDataOp","icon":"iconfont icon-mongo","isKeepAlive":true,"routeName":"MongoDataOp"}',1,'admin',1,'admin','2022-05-13 14:03:58','2023-03-15 17:15:02'),
|
||||
(81,80,2,1,'基本权限','mongo:base',1,'null',1,'admin',1,'admin','2022-05-13 14:04:16','2022-05-13 14:04:16'),
|
||||
(82,79,1,1,'Mongo管理','mongo-manage',2,'{"component":"ops/mongo/MongoList","icon":"Menu","isKeepAlive":true,"routeName":"MongoList"}',1,'admin',1,'admin','2022-05-16 18:13:06','2023-03-14 15:41:13'),
|
||||
(82,79,1,1,'Mongo管理','mongo-manage',2,'{"component":"ops/mongo/MongoList","icon":"iconfont icon-mongo","isKeepAlive":true,"routeName":"MongoList"}',1,'admin',1,'admin','2022-05-16 18:13:06','2023-03-15 17:26:55'),
|
||||
(83,82,2,1,'基本权限','mongo:manage:base',1,'null',1,'admin',1,'admin','2022-05-16 18:13:25','2022-05-16 18:13:25'),
|
||||
(84,4,1,1,'操作日志','syslogs',4,'{"component":"system/syslog/SyslogList","icon":"Tickets","routeName":"SyslogList"}',1,'admin',1,'admin','2022-07-13 19:57:07','2023-03-14 15:44:45'),
|
||||
(85,84,2,1,'操作日志基本权限','syslog',1,'null',1,'admin',1,'admin','2022-07-13 19:57:55','2022-07-13 19:57:55'),
|
||||
@@ -517,7 +517,8 @@ INSERT INTO `t_sys_resource` (id,pid,`type`,status,name,code,weight,meta,creator
|
||||
(104,103,2,1,'基本权限','authcert',1,'null',1,'admin',1,'admin','2023-02-23 11:37:24','2023-02-23 11:37:24'),
|
||||
(105,103,2,1,'保存权限','authcert:save',2,'null',1,'admin',1,'admin','2023-02-23 11:37:54','2023-02-23 11:37:54'),
|
||||
(106,103,2,1,'删除权限','authcert:del',3,'null',1,'admin',1,'admin','2023-02-23 11:38:09','2023-02-23 11:38:09'),
|
||||
(108,61,2,1,'数据删除','redis:data:del',3,'null',1,'admin',1,'admin','2023-03-14 17:20:00','2023-03-14 17:20:00');
|
||||
(108,61,2,1,'数据删除','redis:data:del',3,'null',1,'admin',1,'admin','2023-03-14 17:20:00','2023-03-14 17:20:00'),
|
||||
(109,3,2,1,'关闭连接','machine:close-cli',6,'null',1,'admin',1,'admin','2023-03-16 16:11:04','2023-03-16 16:11:04');
|
||||
COMMIT;
|
||||
|
||||
-- ----------------------------
|
||||
@@ -568,164 +569,170 @@ CREATE TABLE `t_sys_role_resource` (
|
||||
-- Records of t_sys_role_resource
|
||||
-- ----------------------------
|
||||
BEGIN;
|
||||
INSERT INTO `t_sys_role_resource` VALUES (1, 1, 1, 1, 'admin', '2021-05-27 15:07:39');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (323, 1, 2, 1, 'admin', '2021-05-28 09:04:50');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (326, 1, 4, 1, 'admin', '2021-05-28 09:04:50');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (327, 1, 5, 1, 'admin', '2021-05-28 09:04:50');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (328, 1, 11, 1, 'admin', '2021-05-28 09:04:50');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (335, 1, 14, 1, 'admin', '2021-05-28 17:42:21');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (336, 1, 3, 1, 'admin', '2021-05-28 17:42:43');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (337, 1, 12, 1, 'admin', '2021-05-28 17:42:43');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (338, 6, 2, 1, 'admin', '2021-05-28 19:19:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (339, 6, 3, 1, 'admin', '2021-05-28 19:19:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (342, 6, 1, 1, 'admin', '2021-05-29 01:31:22');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (343, 5, 1, 1, 'admin', '2021-05-31 14:05:23');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (344, 5, 4, 1, 'admin', '2021-05-31 14:05:23');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (345, 5, 14, 1, 'admin', '2021-05-31 14:05:23');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (346, 5, 5, 1, 'admin', '2021-05-31 14:05:23');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (347, 5, 11, 1, 'admin', '2021-05-31 14:05:23');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (348, 5, 3, 1, 'admin', '2021-05-31 16:33:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (349, 5, 12, 1, 'admin', '2021-05-31 16:33:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (350, 5, 2, 1, 'admin', '2021-05-31 16:33:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (353, 1, 15, 1, 'admin', '2021-05-31 17:48:33');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (354, 1, 16, 1, 'admin', '2021-05-31 17:48:33');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (355, 1, 17, 1, 'admin', '2021-05-31 17:48:33');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (356, 1, 18, 1, 'admin', '2021-05-31 17:48:33');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (358, 1, 20, 1, 'admin', '2021-05-31 17:52:08');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (360, 1, 22, 1, 'admin', '2021-05-31 18:05:04');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (361, 1, 23, 1, 'admin', '2021-05-31 18:05:04');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (362, 1, 24, 1, 'admin', '2021-05-31 18:05:04');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (363, 1, 25, 1, 'admin', '2021-05-31 18:05:04');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (364, 1, 26, 1, 'admin', '2021-05-31 18:05:04');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (365, 1, 27, 1, 'admin', '2021-05-31 18:05:04');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (366, 1, 28, 1, 'admin', '2021-05-31 18:05:04');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (369, 1, 31, 1, 'admin', '2021-05-31 21:25:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (370, 1, 32, 1, 'admin', '2021-05-31 21:25:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (371, 1, 33, 1, 'admin', '2021-05-31 21:25:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (374, 1, 36, 1, 'admin', '2021-06-01 14:01:57');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (375, 1, 19, 1, 'admin', '2021-06-01 17:34:03');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (376, 1, 21, 1, 'admin', '2021-06-01 17:34:03');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (377, 1, 29, 1, 'admin', '2021-06-01 17:34:03');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (378, 1, 30, 1, 'admin', '2021-06-01 17:34:03');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (379, 1, 34, 1, 'admin', '2021-06-01 17:34:03');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (380, 1, 37, 1, 'admin', '2021-06-03 09:09:42');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (381, 1, 38, 1, 'admin', '2021-06-03 09:09:42');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (383, 1, 40, 1, 'admin', '2021-06-08 11:21:52');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (384, 1, 41, 1, 'admin', '2021-06-08 11:21:52');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (385, 1, 42, 1, 'admin', '2021-06-08 11:21:52');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (386, 1, 43, 1, 'admin', '2021-06-08 11:21:52');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (387, 1, 44, 1, 'admin', '2021-06-08 11:21:52');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (388, 1, 45, 1, 'admin', '2021-06-08 11:21:52');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (389, 1, 46, 1, 'admin', '2021-06-08 11:21:52');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (390, 1, 47, 1, 'admin', '2021-06-08 11:21:52');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (391, 6, 39, 1, 'admin', '2021-06-08 15:10:58');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (392, 6, 15, 1, 'admin', '2021-06-08 15:10:58');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (395, 6, 31, 1, 'admin', '2021-06-08 15:10:58');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (396, 6, 33, 1, 'admin', '2021-06-08 15:10:58');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (397, 6, 32, 1, 'admin', '2021-06-08 15:10:58');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (398, 6, 4, 1, 'admin', '2021-06-08 15:10:58');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (399, 6, 14, 1, 'admin', '2021-06-08 15:10:58');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (400, 6, 11, 1, 'admin', '2021-06-08 15:10:58');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (401, 6, 5, 1, 'admin', '2021-06-08 15:10:58');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (403, 7, 1, 1, 'admin', '2021-07-06 15:07:09');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (405, 1, 49, 1, 'admin', '2021-07-07 15:14:17');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (410, 1, 54, 1, 'admin', '2021-07-08 17:32:19');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (411, 1, 55, 1, 'admin', '2021-07-08 17:32:19');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (413, 1, 57, 1, 'admin', '2021-07-09 10:48:50');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (414, 1, 58, 1, 'admin', '2021-07-09 10:48:50');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (415, 8, 1, 1, 'admin', '2021-07-09 10:49:46');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (416, 8, 39, 1, 'admin', '2021-07-09 10:49:46');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (418, 8, 57, 1, 'admin', '2021-07-09 10:49:46');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (419, 8, 12, 1, 'admin', '2021-07-09 10:49:46');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (420, 8, 15, 1, 'admin', '2021-07-09 10:49:46');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (421, 8, 38, 1, 'admin', '2021-07-09 10:49:46');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (422, 8, 58, 1, 'admin', '2021-07-09 10:49:46');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (423, 8, 2, 1, 'admin', '2021-07-09 10:49:46');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (425, 8, 3, 1, 'admin', '2021-07-09 10:49:46');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (426, 8, 36, 1, 'admin', '2021-07-09 10:49:46');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (427, 8, 49, 1, 'admin', '2021-07-09 10:49:46');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (428, 1, 59, 1, 'admin', '2021-07-09 10:50:20');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (429, 8, 59, 1, 'admin', '2021-07-09 10:50:32');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (431, 6, 57, 1, 'admin', '2021-07-12 16:44:12');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (433, 1, 60, 1, 'admin', '2021-07-19 20:19:29');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (434, 1, 61, 1, 'admin', '2021-07-19 20:19:29');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (435, 1, 62, 1, 'admin', '2021-07-19 20:19:29');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (436, 1, 63, 1, 'admin', '2021-07-20 10:48:39');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (437, 1, 64, 1, 'admin', '2021-07-20 10:48:39');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (444, 7, 39, 1, 'admin', '2021-09-09 10:10:30');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (450, 6, 16, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (451, 6, 17, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (452, 6, 18, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (453, 6, 37, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (454, 6, 40, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (455, 6, 41, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (456, 6, 42, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (457, 6, 43, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (458, 6, 44, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (459, 6, 45, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (460, 6, 46, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (461, 6, 47, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (462, 6, 36, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (463, 6, 38, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (464, 6, 59, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (465, 6, 49, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (466, 6, 58, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (467, 6, 54, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (468, 6, 55, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (469, 6, 60, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (470, 6, 61, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (471, 6, 62, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (472, 6, 63, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (473, 6, 64, 1, 'admin', '2021-09-09 15:52:38');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (479, 6, 19, 1, 'admin', '2021-09-09 15:53:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (480, 6, 21, 1, 'admin', '2021-09-09 15:53:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (481, 6, 29, 1, 'admin', '2021-09-09 15:53:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (482, 6, 30, 1, 'admin', '2021-09-09 15:53:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (483, 6, 34, 1, 'admin', '2021-09-09 15:53:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (484, 6, 20, 1, 'admin', '2021-09-09 15:53:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (485, 6, 22, 1, 'admin', '2021-09-09 15:53:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (486, 6, 23, 1, 'admin', '2021-09-09 15:53:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (487, 6, 24, 1, 'admin', '2021-09-09 15:53:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (488, 6, 25, 1, 'admin', '2021-09-09 15:53:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (489, 6, 26, 1, 'admin', '2021-09-09 15:53:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (490, 6, 27, 1, 'admin', '2021-09-09 15:53:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (491, 6, 28, 1, 'admin', '2021-09-09 15:53:56');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (492, 8, 42, 1, 'admin', '2021-11-05 15:59:16');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (493, 8, 43, 1, 'admin', '2021-11-05 15:59:16');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (494, 8, 47, 1, 'admin', '2021-11-05 15:59:16');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (495, 8, 60, 1, 'admin', '2021-11-05 15:59:16');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (496, 8, 61, 1, 'admin', '2021-11-05 15:59:16');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (497, 8, 62, 1, 'admin', '2021-11-05 15:59:16');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (498, 8, 63, 1, 'admin', '2021-11-05 15:59:16');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (499, 8, 64, 1, 'admin', '2021-11-05 15:59:16');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (500, 1, 72, 1, 'admin', '2022-07-14 11:03:09');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (501, 1, 71, 1, 'admin', '2022-07-14 11:03:09');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (502, 1, 79, 1, 'admin', '2022-07-14 11:03:09');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (503, 1, 80, 1, 'admin', '2022-07-14 11:03:09');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (504, 1, 81, 1, 'admin', '2022-07-14 11:03:09');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (505, 1, 82, 1, 'admin', '2022-07-14 11:03:09');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (506, 1, 83, 1, 'admin', '2022-07-14 11:03:09');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (507, 1, 84, 1, 'admin', '2022-07-14 11:10:11');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (508, 1, 85, 1, 'admin', '2022-07-14 11:10:11');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (510, 1, 87, 1, 'admin', '2022-07-14 11:10:11');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (511, 1, 88, 1, 'admin', '2022-10-08 10:54:06');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (512, 8, 80, 1, 'admin', '2022-10-08 10:54:34');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (513, 8, 81, 1, 'admin', '2022-10-08 10:54:34');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (515, 8, 79, 1, 'admin', '2022-10-08 10:54:34');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (516, 1, 93, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (517, 1, 94, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (518, 1, 96, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (519, 1, 98, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (520, 1, 95, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (521, 1, 97, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (522, 1, 99, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (523, 1, 100, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (524, 1, 101, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (525, 1, 102, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (526, 1, 103, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (527, 1, 104, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (528, 1, 105, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` VALUES (529, 1, 106, 1, 'admin', '2022-10-26 20:03:14');
|
||||
INSERT INTO `t_sys_role_resource` (id,role_id,resource_id,creator_id,creator,create_time) VALUES
|
||||
(1,1,1,1,'admin','2021-05-27 15:07:39'),
|
||||
(323,1,2,1,'admin','2021-05-28 09:04:50'),
|
||||
(326,1,4,1,'admin','2021-05-28 09:04:50'),
|
||||
(327,1,5,1,'admin','2021-05-28 09:04:50'),
|
||||
(328,1,11,1,'admin','2021-05-28 09:04:50'),
|
||||
(335,1,14,1,'admin','2021-05-28 17:42:21'),
|
||||
(336,1,3,1,'admin','2021-05-28 17:42:43'),
|
||||
(337,1,12,1,'admin','2021-05-28 17:42:43'),
|
||||
(338,6,2,1,'admin','2021-05-28 19:19:38'),
|
||||
(339,6,3,1,'admin','2021-05-28 19:19:38'),
|
||||
(342,6,1,1,'admin','2021-05-29 01:31:22'),
|
||||
(343,5,1,1,'admin','2021-05-31 14:05:23'),
|
||||
(344,5,4,1,'admin','2021-05-31 14:05:23'),
|
||||
(345,5,14,1,'admin','2021-05-31 14:05:23'),
|
||||
(346,5,5,1,'admin','2021-05-31 14:05:23'),
|
||||
(347,5,11,1,'admin','2021-05-31 14:05:23'),
|
||||
(348,5,3,1,'admin','2021-05-31 16:33:14'),
|
||||
(349,5,12,1,'admin','2021-05-31 16:33:14'),
|
||||
(350,5,2,1,'admin','2021-05-31 16:33:14'),
|
||||
(353,1,15,1,'admin','2021-05-31 17:48:33'),
|
||||
(354,1,16,1,'admin','2021-05-31 17:48:33'),
|
||||
(355,1,17,1,'admin','2021-05-31 17:48:33'),
|
||||
(356,1,18,1,'admin','2021-05-31 17:48:33'),
|
||||
(358,1,20,1,'admin','2021-05-31 17:52:08'),
|
||||
(360,1,22,1,'admin','2021-05-31 18:05:04'),
|
||||
(361,1,23,1,'admin','2021-05-31 18:05:04'),
|
||||
(362,1,24,1,'admin','2021-05-31 18:05:04'),
|
||||
(363,1,25,1,'admin','2021-05-31 18:05:04'),
|
||||
(364,1,26,1,'admin','2021-05-31 18:05:04'),
|
||||
(365,1,27,1,'admin','2021-05-31 18:05:04'),
|
||||
(366,1,28,1,'admin','2021-05-31 18:05:04'),
|
||||
(369,1,31,1,'admin','2021-05-31 21:25:56'),
|
||||
(370,1,32,1,'admin','2021-05-31 21:25:56'),
|
||||
(371,1,33,1,'admin','2021-05-31 21:25:56'),
|
||||
(374,1,36,1,'admin','2021-06-01 14:01:57'),
|
||||
(375,1,19,1,'admin','2021-06-01 17:34:03'),
|
||||
(376,1,21,1,'admin','2021-06-01 17:34:03'),
|
||||
(377,1,29,1,'admin','2021-06-01 17:34:03'),
|
||||
(378,1,30,1,'admin','2021-06-01 17:34:03'),
|
||||
(379,1,34,1,'admin','2021-06-01 17:34:03'),
|
||||
(380,1,37,1,'admin','2021-06-03 09:09:42'),
|
||||
(381,1,38,1,'admin','2021-06-03 09:09:42'),
|
||||
(383,1,40,1,'admin','2021-06-08 11:21:52'),
|
||||
(384,1,41,1,'admin','2021-06-08 11:21:52'),
|
||||
(385,1,42,1,'admin','2021-06-08 11:21:52'),
|
||||
(386,1,43,1,'admin','2021-06-08 11:21:52'),
|
||||
(387,1,44,1,'admin','2021-06-08 11:21:52'),
|
||||
(388,1,45,1,'admin','2021-06-08 11:21:52'),
|
||||
(389,1,46,1,'admin','2021-06-08 11:21:52'),
|
||||
(390,1,47,1,'admin','2021-06-08 11:21:52'),
|
||||
(391,6,39,1,'admin','2021-06-08 15:10:58'),
|
||||
(392,6,15,1,'admin','2021-06-08 15:10:58'),
|
||||
(395,6,31,1,'admin','2021-06-08 15:10:58'),
|
||||
(396,6,33,1,'admin','2021-06-08 15:10:58'),
|
||||
(397,6,32,1,'admin','2021-06-08 15:10:58'),
|
||||
(398,6,4,1,'admin','2021-06-08 15:10:58'),
|
||||
(399,6,14,1,'admin','2021-06-08 15:10:58'),
|
||||
(400,6,11,1,'admin','2021-06-08 15:10:58'),
|
||||
(401,6,5,1,'admin','2021-06-08 15:10:58'),
|
||||
(403,7,1,1,'admin','2021-07-06 15:07:09'),
|
||||
(405,1,49,1,'admin','2021-07-07 15:14:17'),
|
||||
(410,1,54,1,'admin','2021-07-08 17:32:19'),
|
||||
(411,1,55,1,'admin','2021-07-08 17:32:19'),
|
||||
(413,1,57,1,'admin','2021-07-09 10:48:50'),
|
||||
(414,1,58,1,'admin','2021-07-09 10:48:50'),
|
||||
(418,8,57,1,'admin','2021-07-09 10:49:46'),
|
||||
(419,8,12,1,'admin','2021-07-09 10:49:46'),
|
||||
(420,8,15,1,'admin','2021-07-09 10:49:46'),
|
||||
(421,8,38,1,'admin','2021-07-09 10:49:46'),
|
||||
(423,8,2,1,'admin','2021-07-09 10:49:46'),
|
||||
(425,8,3,1,'admin','2021-07-09 10:49:46'),
|
||||
(426,8,36,1,'admin','2021-07-09 10:49:46'),
|
||||
(428,1,59,1,'admin','2021-07-09 10:50:20'),
|
||||
(429,8,59,1,'admin','2021-07-09 10:50:32'),
|
||||
(431,6,57,1,'admin','2021-07-12 16:44:12'),
|
||||
(433,1,60,1,'admin','2021-07-19 20:19:29'),
|
||||
(434,1,61,1,'admin','2021-07-19 20:19:29'),
|
||||
(435,1,62,1,'admin','2021-07-19 20:19:29'),
|
||||
(436,1,63,1,'admin','2021-07-20 10:48:39'),
|
||||
(437,1,64,1,'admin','2021-07-20 10:48:39'),
|
||||
(444,7,39,1,'admin','2021-09-09 10:10:30'),
|
||||
(450,6,16,1,'admin','2021-09-09 15:52:38'),
|
||||
(451,6,17,1,'admin','2021-09-09 15:52:38'),
|
||||
(452,6,18,1,'admin','2021-09-09 15:52:38'),
|
||||
(453,6,37,1,'admin','2021-09-09 15:52:38'),
|
||||
(454,6,40,1,'admin','2021-09-09 15:52:38'),
|
||||
(455,6,41,1,'admin','2021-09-09 15:52:38'),
|
||||
(456,6,42,1,'admin','2021-09-09 15:52:38'),
|
||||
(457,6,43,1,'admin','2021-09-09 15:52:38'),
|
||||
(458,6,44,1,'admin','2021-09-09 15:52:38'),
|
||||
(459,6,45,1,'admin','2021-09-09 15:52:38'),
|
||||
(460,6,46,1,'admin','2021-09-09 15:52:38'),
|
||||
(461,6,47,1,'admin','2021-09-09 15:52:38'),
|
||||
(462,6,36,1,'admin','2021-09-09 15:52:38'),
|
||||
(463,6,38,1,'admin','2021-09-09 15:52:38'),
|
||||
(464,6,59,1,'admin','2021-09-09 15:52:38'),
|
||||
(465,6,49,1,'admin','2021-09-09 15:52:38'),
|
||||
(466,6,58,1,'admin','2021-09-09 15:52:38'),
|
||||
(467,6,54,1,'admin','2021-09-09 15:52:38'),
|
||||
(468,6,55,1,'admin','2021-09-09 15:52:38'),
|
||||
(469,6,60,1,'admin','2021-09-09 15:52:38'),
|
||||
(470,6,61,1,'admin','2021-09-09 15:52:38'),
|
||||
(471,6,62,1,'admin','2021-09-09 15:52:38'),
|
||||
(472,6,63,1,'admin','2021-09-09 15:52:38'),
|
||||
(473,6,64,1,'admin','2021-09-09 15:52:38'),
|
||||
(479,6,19,1,'admin','2021-09-09 15:53:56'),
|
||||
(480,6,21,1,'admin','2021-09-09 15:53:56'),
|
||||
(481,6,29,1,'admin','2021-09-09 15:53:56'),
|
||||
(482,6,30,1,'admin','2021-09-09 15:53:56'),
|
||||
(483,6,34,1,'admin','2021-09-09 15:53:56'),
|
||||
(484,6,20,1,'admin','2021-09-09 15:53:56'),
|
||||
(485,6,22,1,'admin','2021-09-09 15:53:56'),
|
||||
(486,6,23,1,'admin','2021-09-09 15:53:56'),
|
||||
(487,6,24,1,'admin','2021-09-09 15:53:56'),
|
||||
(488,6,25,1,'admin','2021-09-09 15:53:56'),
|
||||
(489,6,26,1,'admin','2021-09-09 15:53:56'),
|
||||
(490,6,27,1,'admin','2021-09-09 15:53:56'),
|
||||
(491,6,28,1,'admin','2021-09-09 15:53:56'),
|
||||
(492,8,42,1,'admin','2021-11-05 15:59:16'),
|
||||
(493,8,43,1,'admin','2021-11-05 15:59:16'),
|
||||
(494,8,47,1,'admin','2021-11-05 15:59:16'),
|
||||
(495,8,60,1,'admin','2021-11-05 15:59:16'),
|
||||
(496,8,61,1,'admin','2021-11-05 15:59:16'),
|
||||
(497,8,62,1,'admin','2021-11-05 15:59:16'),
|
||||
(500,1,72,1,'admin','2022-07-14 11:03:09'),
|
||||
(501,1,71,1,'admin','2022-07-14 11:03:09'),
|
||||
(502,1,79,1,'admin','2022-07-14 11:03:09'),
|
||||
(503,1,80,1,'admin','2022-07-14 11:03:09'),
|
||||
(504,1,81,1,'admin','2022-07-14 11:03:09'),
|
||||
(505,1,82,1,'admin','2022-07-14 11:03:09'),
|
||||
(506,1,83,1,'admin','2022-07-14 11:03:09'),
|
||||
(507,1,84,1,'admin','2022-07-14 11:10:11'),
|
||||
(508,1,85,1,'admin','2022-07-14 11:10:11'),
|
||||
(510,1,87,1,'admin','2022-07-14 11:10:11'),
|
||||
(511,1,88,1,'admin','2022-10-08 10:54:06'),
|
||||
(512,8,80,1,'admin','2022-10-08 10:54:34'),
|
||||
(513,8,81,1,'admin','2022-10-08 10:54:34'),
|
||||
(515,8,79,1,'admin','2022-10-08 10:54:34'),
|
||||
(516,1,93,1,'admin','2022-10-26 20:03:14'),
|
||||
(517,1,94,1,'admin','2022-10-26 20:03:14'),
|
||||
(518,1,96,1,'admin','2022-10-26 20:03:14'),
|
||||
(519,1,98,1,'admin','2022-10-26 20:03:14'),
|
||||
(520,1,95,1,'admin','2022-10-26 20:03:14'),
|
||||
(521,1,97,1,'admin','2022-10-26 20:03:14'),
|
||||
(522,1,99,1,'admin','2022-10-26 20:03:14'),
|
||||
(523,1,100,1,'admin','2022-10-26 20:03:14'),
|
||||
(524,1,101,1,'admin','2022-10-26 20:03:14'),
|
||||
(525,1,102,1,'admin','2022-10-26 20:03:14'),
|
||||
(527,1,106,1,'admin','2023-02-23 14:30:54'),
|
||||
(528,1,103,1,'admin','2023-02-23 14:30:54'),
|
||||
(529,1,105,1,'admin','2023-02-23 14:31:00'),
|
||||
(530,1,104,1,'admin','2023-02-24 13:40:26'),
|
||||
(532,1,108,1,'admin','2023-03-14 17:28:06'),
|
||||
(533,6,79,1,'admin','2023-03-14 17:28:50'),
|
||||
(534,6,80,1,'admin','2023-03-14 17:28:50'),
|
||||
(535,6,81,1,'admin','2023-03-14 17:28:50'),
|
||||
(536,6,82,1,'admin','2023-03-14 17:28:50'),
|
||||
(537,6,83,1,'admin','2023-03-14 17:28:50'),
|
||||
(538,6,84,1,'admin','2023-03-14 17:29:00'),
|
||||
(539,6,85,1,'admin','2023-03-14 17:29:00'),
|
||||
(540,6,87,1,'admin','2023-03-14 17:29:00'),
|
||||
(541,6,88,1,'admin','2023-03-14 17:29:00'),
|
||||
(544,1,109,1,'admin','2023-03-16 16:11:25');
|
||||
COMMIT;
|
||||
|
||||
-- ----------------------------
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"mayfly-go/pkg/global"
|
||||
"mayfly-go/pkg/model"
|
||||
"net/http"
|
||||
"runtime/debug"
|
||||
"strconv"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -66,12 +67,10 @@ func ErrorRes(g *gin.Context, err interface{}) {
|
||||
g.JSON(http.StatusOK, model.Error(t))
|
||||
case error:
|
||||
g.JSON(http.StatusOK, model.ServerError())
|
||||
global.Log.Error(t)
|
||||
// panic(err)
|
||||
global.Log.Errorf("%s\n%s", t.Error(), string(debug.Stack()))
|
||||
case string:
|
||||
g.JSON(http.StatusOK, model.ServerError())
|
||||
global.Log.Error(t)
|
||||
// panic(err)
|
||||
global.Log.Errorf("%s\n%s", t, string(debug.Stack()))
|
||||
default:
|
||||
global.Log.Error(t)
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ import (
|
||||
"mayfly-go/pkg/biz"
|
||||
"mayfly-go/pkg/logger"
|
||||
"mayfly-go/pkg/utils"
|
||||
"runtime/debug"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
@@ -93,9 +92,9 @@ func getErrMsg(rc *Ctx, err interface{}) string {
|
||||
case biz.BizError:
|
||||
errMsg = fmt.Sprintf("\n<-e errCode: %d, errMsg: %s", t.Code(), t.Error())
|
||||
case error:
|
||||
errMsg = fmt.Sprintf("\n<-e errMsg: %s\n%s", t.Error(), string(debug.Stack()))
|
||||
errMsg = fmt.Sprintf("\n<-e errMsg: %s", t.Error())
|
||||
case string:
|
||||
errMsg = fmt.Sprintf("\n<-e errMsg: %s\n%s", t, string(debug.Stack()))
|
||||
errMsg = fmt.Sprintf("\n<-e errMsg: %s", t)
|
||||
}
|
||||
return (msg + errMsg)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user