@kengic/vue 0.21.4 → 0.21.5-beta.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/kengic-vue.js +1 -1
- package/dist/project/build/config/themeConfig.ts +67 -0
- package/dist/project/build/constant.ts +6 -0
- package/dist/project/build/generate/generateModifyVars.ts +39 -0
- package/dist/project/build/generate/icon/index.ts +66 -0
- package/dist/project/build/getConfigFileName.ts +7 -0
- package/dist/project/build/index.ts +9 -0
- package/dist/project/build/script/buildConf.ts +45 -0
- package/dist/project/build/script/postBuild.ts +21 -0
- package/dist/project/build/utils.ts +92 -0
- package/dist/project/build/vite/plugin/compress.ts +32 -0
- package/dist/project/build/vite/plugin/html.ts +39 -0
- package/dist/project/build/vite/plugin/imagemin.ts +34 -0
- package/dist/project/build/vite/plugin/index.ts +80 -0
- package/dist/project/build/vite/plugin/mock.ts +19 -0
- package/dist/project/build/vite/plugin/pwa.ts +33 -0
- package/dist/project/build/vite/plugin/styleImport.ts +81 -0
- package/dist/project/build/vite/plugin/svgSprite.ts +17 -0
- package/dist/project/build/vite/plugin/theme.ts +100 -0
- package/dist/project/build/vite/plugin/visualizer.ts +17 -0
- package/dist/project/build/vite/proxy.ts +34 -0
- package/dist/project/index.ts +1 -0
- package/dist/project/src/api/sys/model/menuModel.ts +17 -0
- package/dist/project/src/api/sys/model/uploadModel.ts +5 -0
- package/dist/project/src/api/sys/model/userModel.ts +57 -0
- package/dist/project/src/enums/CompTypeEnum.ts +32 -0
- package/dist/project/src/enums/DateTypeEnum.ts +8 -0
- package/dist/project/src/enums/appEnum.ts +58 -0
- package/dist/project/src/enums/breakpointEnum.ts +28 -0
- package/dist/project/src/enums/cacheEnum.ts +39 -0
- package/dist/project/src/enums/exceptionEnum.ts +27 -0
- package/dist/project/src/enums/httpEnum.ts +50 -0
- package/dist/project/src/enums/jeecgEnum.ts +23 -0
- package/dist/project/src/enums/menuEnum.ts +50 -0
- package/dist/project/src/enums/pageEnum.ts +19 -0
- package/dist/project/src/enums/roleEnum.ts +7 -0
- package/dist/project/src/enums/sizeEnum.ts +27 -0
- package/dist/project/types/axios.d.ts +57 -0
- package/dist/project/types/config.d.ts +178 -0
- package/dist/project/types/global.d.ts +92 -0
- package/dist/project/types/index.d.ts +27 -0
- package/dist/project/types/module.d.ts +18 -0
- package/dist/project/types/store.d.ts +59 -0
- package/dist/project/types/utils.d.ts +5 -0
- package/dist/project/types/vue-router.d.ts +47 -0
- package/package.json +25 -2
@@ -0,0 +1,81 @@
|
|
1
|
+
/**
|
2
|
+
* Introduces component library styles on demand.
|
3
|
+
* https://github.com/anncwb/vite-plugin-style-import
|
4
|
+
*/
|
5
|
+
import { createStyleImportPlugin } from 'vite-plugin-style-import';
|
6
|
+
|
7
|
+
export function configStyleImportPlugin(_isBuild: boolean) {
|
8
|
+
if (!_isBuild) {
|
9
|
+
return [];
|
10
|
+
}
|
11
|
+
const styleImportPlugin = createStyleImportPlugin({
|
12
|
+
libs: [
|
13
|
+
{
|
14
|
+
libraryName: 'ant-design-vue',
|
15
|
+
esModule: true,
|
16
|
+
resolveStyle: (name) => {
|
17
|
+
// 这里是无需额外引入样式文件的“子组件”列表
|
18
|
+
const ignoreList = [
|
19
|
+
'anchor-link',
|
20
|
+
'sub-menu',
|
21
|
+
'menu-item',
|
22
|
+
'menu-divider',
|
23
|
+
'menu-item-group',
|
24
|
+
'breadcrumb-item',
|
25
|
+
'breadcrumb-separator',
|
26
|
+
'form-item',
|
27
|
+
'step',
|
28
|
+
'select-option',
|
29
|
+
'select-opt-group',
|
30
|
+
'card-grid',
|
31
|
+
'card-meta',
|
32
|
+
'collapse-panel',
|
33
|
+
'descriptions-item',
|
34
|
+
'list-item',
|
35
|
+
'list-item-meta',
|
36
|
+
'table-column',
|
37
|
+
'table-column-group',
|
38
|
+
'tab-pane',
|
39
|
+
'tab-content',
|
40
|
+
'timeline-item',
|
41
|
+
'tree-node',
|
42
|
+
'skeleton-input',
|
43
|
+
'skeleton-avatar',
|
44
|
+
'skeleton-title',
|
45
|
+
'skeleton-paragraph',
|
46
|
+
'skeleton-image',
|
47
|
+
'skeleton-button',
|
48
|
+
];
|
49
|
+
// 这里是需要额外引入样式的子组件列表
|
50
|
+
// 单独引入子组件时需引入组件样式,否则会在打包后导致子组件样式丢失
|
51
|
+
const replaceList: Record<string, string> = {
|
52
|
+
'typography-text': 'typography',
|
53
|
+
'typography-title': 'typography',
|
54
|
+
'typography-paragraph': 'typography',
|
55
|
+
'typography-link': 'typography',
|
56
|
+
'dropdown-button': 'dropdown',
|
57
|
+
'input-password': 'input',
|
58
|
+
'input-search': 'input',
|
59
|
+
'input-group': 'input',
|
60
|
+
'radio-group': 'radio',
|
61
|
+
'checkbox-group': 'checkbox',
|
62
|
+
'layout-sider': 'layout',
|
63
|
+
'layout-content': 'layout',
|
64
|
+
'layout-footer': 'layout',
|
65
|
+
'layout-header': 'layout',
|
66
|
+
'month-picker': 'date-picker',
|
67
|
+
'range-picker': 'date-picker',
|
68
|
+
'image-preview-group': 'image',
|
69
|
+
};
|
70
|
+
|
71
|
+
return ignoreList.includes(name)
|
72
|
+
? ''
|
73
|
+
: replaceList.hasOwnProperty(name)
|
74
|
+
? `ant-design-vue/es/${replaceList[name]}/style/index`
|
75
|
+
: `ant-design-vue/es/${name}/style/index`;
|
76
|
+
},
|
77
|
+
},
|
78
|
+
],
|
79
|
+
});
|
80
|
+
return styleImportPlugin;
|
81
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/**
|
2
|
+
* Vite Plugin for fast creating SVG sprites.
|
3
|
+
* https://github.com/anncwb/vite-plugin-svg-icons
|
4
|
+
*/
|
5
|
+
|
6
|
+
import path from 'path';
|
7
|
+
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
|
8
|
+
|
9
|
+
export function configSvgIconsPlugin(isBuild: boolean) {
|
10
|
+
const svgIconsPlugin = createSvgIconsPlugin({
|
11
|
+
iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
|
12
|
+
svgoOptions: isBuild,
|
13
|
+
// default
|
14
|
+
symbolId: 'icon-[dir]-[name]',
|
15
|
+
});
|
16
|
+
return svgIconsPlugin;
|
17
|
+
}
|
@@ -0,0 +1,100 @@
|
|
1
|
+
/**
|
2
|
+
* Vite plugin for website theme color switching
|
3
|
+
* https://github.com/anncwb/vite-plugin-theme
|
4
|
+
*/
|
5
|
+
import { antdDarkThemePlugin, mixDarken, mixLighten, tinycolor, viteThemePlugin } from '@rys-fe/vite-plugin-theme';
|
6
|
+
import path from 'path';
|
7
|
+
import type { PluginOption } from 'vite';
|
8
|
+
import { generateColors, getThemeColors } from '../../config/themeConfig';
|
9
|
+
import { generateModifyVars } from '../../generate/generateModifyVars';
|
10
|
+
|
11
|
+
export function configThemePlugin(isBuild: boolean): PluginOption[] {
|
12
|
+
const colors = generateColors({
|
13
|
+
mixDarken,
|
14
|
+
mixLighten,
|
15
|
+
tinycolor,
|
16
|
+
});
|
17
|
+
|
18
|
+
// update-begin-修复编译后主题色切换不生效黑屏的问题-----------------------
|
19
|
+
// https://github.com/vbenjs/vue-vben-admin/issues/1445
|
20
|
+
// 抽取出viteThemePlugin插件,下方会根据不同环境设置enforce
|
21
|
+
const vite_theme_plugin = viteThemePlugin({
|
22
|
+
resolveSelector: (s) => {
|
23
|
+
s = s.trim();
|
24
|
+
switch (s) {
|
25
|
+
case '.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon':
|
26
|
+
return '.ant-steps-item-icon > .ant-steps-icon';
|
27
|
+
case '.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)':
|
28
|
+
case '.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover':
|
29
|
+
case '.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active':
|
30
|
+
return s;
|
31
|
+
case '.ant-steps-item-icon > .ant-steps-icon':
|
32
|
+
return s;
|
33
|
+
case '.ant-select-item-option-selected:not(.ant-select-item-option-disabled)':
|
34
|
+
return s;
|
35
|
+
default:
|
36
|
+
if (s.indexOf('.ant-btn') >= -1) {
|
37
|
+
// 按钮被重新定制过,需要过滤掉class防止覆盖
|
38
|
+
return s;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
return s.startsWith('[data-theme') ? s : `[data-theme] ${s}`;
|
42
|
+
},
|
43
|
+
colorVariables: [...getThemeColors(), ...colors],
|
44
|
+
});
|
45
|
+
vite_theme_plugin.forEach(function (item) {
|
46
|
+
//对vite:theme插件特殊配置
|
47
|
+
if ('vite:theme' === item.name) {
|
48
|
+
// 打包时去除enforce: "post",vite 2.6.x适配,否则生成app-theme-style为空,因为async transform(code, id) {的code没有正确获取
|
49
|
+
if (isBuild) {
|
50
|
+
delete item.enforce;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
});
|
54
|
+
// update-end-修复编译后主题色切换不生效黑屏的问题-----------------------
|
55
|
+
|
56
|
+
const plugin = [
|
57
|
+
vite_theme_plugin,
|
58
|
+
antdDarkThemePlugin({
|
59
|
+
preloadFiles: [
|
60
|
+
path.resolve(process.cwd(), 'node_modules/ant-design-vue/dist/antd.less'),
|
61
|
+
//path.resolve(process.cwd(), 'node_modules/ant-design-vue/dist/antd.dark.less'),
|
62
|
+
path.resolve(process.cwd(), 'src/design/index.less'),
|
63
|
+
],
|
64
|
+
filter: (id) => (isBuild ? !id.endsWith('antd.less') : true),
|
65
|
+
// extractCss: false,
|
66
|
+
darkModifyVars: {
|
67
|
+
...generateModifyVars(true),
|
68
|
+
'text-color': '#c9d1d9',
|
69
|
+
'primary-1': 'rgb(255 255 255 / 8%)',
|
70
|
+
'text-color-base': '#c9d1d9',
|
71
|
+
'component-background': '#151515',
|
72
|
+
'heading-color': 'rgb(255 255 255 / 65%)',
|
73
|
+
// black: '#0e1117',
|
74
|
+
// #8b949e
|
75
|
+
'text-color-secondary': '#8b949e',
|
76
|
+
'border-color-base': '#303030',
|
77
|
+
'header-light-bottom-border-color': '#303030',
|
78
|
+
// 'border-color-split': '#30363d',
|
79
|
+
'item-active-bg': '#111b26',
|
80
|
+
'app-content-background': '#1e1e1e',
|
81
|
+
'tree-node-selected-bg': '#11263c',
|
82
|
+
|
83
|
+
'alert-success-border-color': '#274916',
|
84
|
+
'alert-success-bg-color': '#162312',
|
85
|
+
'alert-success-icon-color': '#49aa19',
|
86
|
+
'alert-info-border-color': '#153450',
|
87
|
+
'alert-info-bg-color': '#111b26',
|
88
|
+
'alert-info-icon-color': '#177ddc',
|
89
|
+
'alert-warning-border-color': '#594214',
|
90
|
+
'alert-warning-bg-color': '#2b2111',
|
91
|
+
'alert-warning-icon-color': '#d89614',
|
92
|
+
'alert-error-border-color': '#58181c',
|
93
|
+
'alert-error-bg-color': '#2a1215',
|
94
|
+
'alert-error-icon-color': '#a61d24',
|
95
|
+
},
|
96
|
+
}),
|
97
|
+
];
|
98
|
+
|
99
|
+
return plugin as unknown as PluginOption[];
|
100
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/**
|
2
|
+
* Package file volume analysis
|
3
|
+
*/
|
4
|
+
import visualizer from 'rollup-plugin-visualizer';
|
5
|
+
import { isReportMode } from '../../utils';
|
6
|
+
|
7
|
+
export function configVisualizerConfig() {
|
8
|
+
if (isReportMode()) {
|
9
|
+
return visualizer({
|
10
|
+
filename: './node_modules/.cache/visualizer/stats.html',
|
11
|
+
open: true,
|
12
|
+
gzipSize: true,
|
13
|
+
brotliSize: true,
|
14
|
+
}) as Plugin;
|
15
|
+
}
|
16
|
+
return [];
|
17
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
/**
|
2
|
+
* Used to parse the .env.development proxy configuration
|
3
|
+
*/
|
4
|
+
import type { ProxyOptions } from 'vite';
|
5
|
+
|
6
|
+
type ProxyItem = [string, string];
|
7
|
+
|
8
|
+
type ProxyList = ProxyItem[];
|
9
|
+
|
10
|
+
type ProxyTargetList = Record<string, ProxyOptions>;
|
11
|
+
|
12
|
+
const httpsRE = /^https:\/\//;
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Generate proxy
|
16
|
+
* @param list
|
17
|
+
*/
|
18
|
+
export function createProxy(list: ProxyList = []) {
|
19
|
+
const ret: ProxyTargetList = {};
|
20
|
+
for (const [prefix, target] of list) {
|
21
|
+
const isHttps = httpsRE.test(target);
|
22
|
+
|
23
|
+
// https://github.com/http-party/node-http-proxy#options
|
24
|
+
ret[prefix] = {
|
25
|
+
target: target,
|
26
|
+
changeOrigin: true,
|
27
|
+
ws: true,
|
28
|
+
rewrite: (path) => path.replace(new RegExp(`^${prefix}`), ''),
|
29
|
+
// https is require secure=false
|
30
|
+
...(isHttps ? { secure: false } : {}),
|
31
|
+
};
|
32
|
+
}
|
33
|
+
return ret;
|
34
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './build';
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import type { RouteMeta } from 'vue-router';
|
2
|
+
|
3
|
+
export interface RouteItem {
|
4
|
+
path: string;
|
5
|
+
component: any;
|
6
|
+
meta: RouteMeta;
|
7
|
+
name?: string;
|
8
|
+
alias?: string | string[];
|
9
|
+
redirect?: string;
|
10
|
+
caseSensitive?: boolean;
|
11
|
+
children?: RouteItem[];
|
12
|
+
}
|
13
|
+
|
14
|
+
/**
|
15
|
+
* @description: Get menu return value
|
16
|
+
*/
|
17
|
+
export type getMenuListResultModel = RouteItem[];
|
@@ -0,0 +1,57 @@
|
|
1
|
+
/**
|
2
|
+
* @description: Login interface parameters
|
3
|
+
*/
|
4
|
+
export interface LoginParams {
|
5
|
+
username: string;
|
6
|
+
password: string;
|
7
|
+
}
|
8
|
+
|
9
|
+
export interface ThirdLoginParams {
|
10
|
+
token: string;
|
11
|
+
thirdType: string;
|
12
|
+
}
|
13
|
+
|
14
|
+
export interface RoleInfo {
|
15
|
+
roleName: string;
|
16
|
+
value: string;
|
17
|
+
}
|
18
|
+
|
19
|
+
/**
|
20
|
+
* @description: Login interface return value
|
21
|
+
*/
|
22
|
+
export interface LoginResultModel {
|
23
|
+
userId: string | number;
|
24
|
+
token: string;
|
25
|
+
role: RoleInfo;
|
26
|
+
}
|
27
|
+
|
28
|
+
/**
|
29
|
+
* @description: Get user information return value
|
30
|
+
*/
|
31
|
+
export interface GetUserInfoModel {
|
32
|
+
roles: RoleInfo[];
|
33
|
+
// 用户id
|
34
|
+
userId: string | number;
|
35
|
+
// 用户名
|
36
|
+
username: string;
|
37
|
+
// 真实名字
|
38
|
+
realname: string;
|
39
|
+
// 头像
|
40
|
+
avatar: string;
|
41
|
+
// 介绍
|
42
|
+
desc?: string;
|
43
|
+
// 用户信息
|
44
|
+
userInfo?: any;
|
45
|
+
// 缓存字典项
|
46
|
+
sysAllDictItems?: any;
|
47
|
+
}
|
48
|
+
|
49
|
+
/**
|
50
|
+
* @description: Get user information return value
|
51
|
+
*/
|
52
|
+
export interface GetResultModel {
|
53
|
+
code: number;
|
54
|
+
message: string;
|
55
|
+
result: object;
|
56
|
+
success: Boolean;
|
57
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/**
|
2
|
+
* 组件类型
|
3
|
+
*/
|
4
|
+
export enum CompTypeEnum {
|
5
|
+
//单选
|
6
|
+
Radio = 'radio',
|
7
|
+
//按钮样式单选
|
8
|
+
RadioButton = 'radioButton',
|
9
|
+
//下拉框
|
10
|
+
Select = 'select',
|
11
|
+
//列表
|
12
|
+
List = 'list',
|
13
|
+
//开关
|
14
|
+
Switch = 'switch',
|
15
|
+
//下拉树
|
16
|
+
SelTree = 'sel_tree',
|
17
|
+
//分类字典树
|
18
|
+
CatTree = 'cat_tree',
|
19
|
+
//下拉搜索
|
20
|
+
SelSearch = 'search',
|
21
|
+
//用户现在框
|
22
|
+
SelUser = 'sel_user',
|
23
|
+
//复选框
|
24
|
+
Checkbox = 'checkbox',
|
25
|
+
//多选列表
|
26
|
+
ListMulti = 'list_multi',
|
27
|
+
//区域选择
|
28
|
+
Pca = 'pca',
|
29
|
+
Popup = 'popup',
|
30
|
+
//部门选择
|
31
|
+
SelDepart = 'sel_depart',
|
32
|
+
}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
export const SIDE_BAR_MINI_WIDTH = 48;
|
2
|
+
export const SIDE_BAR_SHOW_TIT_MINI_WIDTH = 80;
|
3
|
+
|
4
|
+
// 标签页样式
|
5
|
+
export enum TabsThemeEnum {
|
6
|
+
// 圆滑
|
7
|
+
SMOOTH = 'smooth',
|
8
|
+
// 卡片
|
9
|
+
CARD = 'card',
|
10
|
+
// 极简
|
11
|
+
SIMPLE = 'simple',
|
12
|
+
}
|
13
|
+
|
14
|
+
export enum ContentEnum {
|
15
|
+
// auto width
|
16
|
+
FULL = 'full',
|
17
|
+
// fixed width
|
18
|
+
FIXED = 'fixed',
|
19
|
+
}
|
20
|
+
|
21
|
+
// menu theme enum
|
22
|
+
export enum ThemeEnum {
|
23
|
+
DARK = 'dark',
|
24
|
+
LIGHT = 'light',
|
25
|
+
}
|
26
|
+
|
27
|
+
export enum SettingButtonPositionEnum {
|
28
|
+
AUTO = 'auto',
|
29
|
+
HEADER = 'header',
|
30
|
+
FIXED = 'fixed',
|
31
|
+
}
|
32
|
+
|
33
|
+
export enum SessionTimeoutProcessingEnum {
|
34
|
+
ROUTE_JUMP,
|
35
|
+
PAGE_COVERAGE,
|
36
|
+
}
|
37
|
+
|
38
|
+
/**
|
39
|
+
* 权限模式
|
40
|
+
*/
|
41
|
+
export enum PermissionModeEnum {
|
42
|
+
// role
|
43
|
+
ROLE = 'ROLE',
|
44
|
+
// 后台
|
45
|
+
BACK = 'BACK',
|
46
|
+
// route mapping
|
47
|
+
ROUTE_MAPPING = 'ROUTE_MAPPING',
|
48
|
+
}
|
49
|
+
|
50
|
+
// Route switching animation
|
51
|
+
export enum RouterTransitionEnum {
|
52
|
+
ZOOM_FADE = 'zoom-fade',
|
53
|
+
ZOOM_OUT = 'zoom-out',
|
54
|
+
FADE_SIDE = 'fade-slide',
|
55
|
+
FADE = 'fade',
|
56
|
+
FADE_BOTTOM = 'fade-bottom',
|
57
|
+
FADE_SCALE = 'fade-scale',
|
58
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
export enum sizeEnum {
|
2
|
+
XS = 'XS',
|
3
|
+
SM = 'SM',
|
4
|
+
MD = 'MD',
|
5
|
+
LG = 'LG',
|
6
|
+
XL = 'XL',
|
7
|
+
XXL = 'XXL',
|
8
|
+
}
|
9
|
+
|
10
|
+
export enum screenEnum {
|
11
|
+
XS = 480,
|
12
|
+
SM = 576,
|
13
|
+
MD = 768,
|
14
|
+
LG = 992,
|
15
|
+
XL = 1200,
|
16
|
+
XXL = 1600,
|
17
|
+
}
|
18
|
+
|
19
|
+
const screenMap = new Map<sizeEnum, number>();
|
20
|
+
|
21
|
+
screenMap.set(sizeEnum.XS, screenEnum.XS);
|
22
|
+
screenMap.set(sizeEnum.SM, screenEnum.SM);
|
23
|
+
screenMap.set(sizeEnum.MD, screenEnum.MD);
|
24
|
+
screenMap.set(sizeEnum.LG, screenEnum.LG);
|
25
|
+
screenMap.set(sizeEnum.XL, screenEnum.XL);
|
26
|
+
screenMap.set(sizeEnum.XXL, screenEnum.XXL);
|
27
|
+
|
28
|
+
export { screenMap };
|
@@ -0,0 +1,39 @@
|
|
1
|
+
// token key
|
2
|
+
export const TOKEN_KEY = 'TOKEN__';
|
3
|
+
|
4
|
+
export const LOCALE_KEY = 'LOCALE__';
|
5
|
+
|
6
|
+
// user info key
|
7
|
+
export const USER_INFO_KEY = 'USER__INFO__';
|
8
|
+
|
9
|
+
// role info key
|
10
|
+
export const ROLES_KEY = 'ROLES__KEY__';
|
11
|
+
export const USER_WAREHOUSE_KEY = 'USER_WAREHOUSE__KEY__';
|
12
|
+
|
13
|
+
// dict info key
|
14
|
+
export const DB_DICT_DATA_KEY = 'UI_CACHE_DB_DICT_DATA';
|
15
|
+
|
16
|
+
// project config key
|
17
|
+
export const PROJ_CFG_KEY = 'PROJ__CFG__KEY__';
|
18
|
+
|
19
|
+
// lock info
|
20
|
+
export const LOCK_INFO_KEY = 'LOCK__INFO__KEY__';
|
21
|
+
|
22
|
+
export const MULTIPLE_TABS_KEY = 'MULTIPLE_TABS__KEY__';
|
23
|
+
|
24
|
+
export const APP_DARK_MODE_KEY_ = '__APP__DARK__MODE__';
|
25
|
+
|
26
|
+
// base global local key
|
27
|
+
export const APP_LOCAL_CACHE_KEY = 'COMMON__LOCAL__KEY__';
|
28
|
+
|
29
|
+
// base global session key
|
30
|
+
export const APP_SESSION_CACHE_KEY = 'COMMON__SESSION__KEY__';
|
31
|
+
// 租户 key
|
32
|
+
export const TENANT_ID = 'TENANT_ID';
|
33
|
+
// login info key
|
34
|
+
export const LOGIN_INFO_KEY = 'LOGIN__INFO__';
|
35
|
+
|
36
|
+
export enum CacheTypeEnum {
|
37
|
+
SESSION,
|
38
|
+
LOCAL,
|
39
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/**
|
2
|
+
* @description: Exception related enumeration
|
3
|
+
*/
|
4
|
+
export enum ExceptionEnum {
|
5
|
+
// page not access
|
6
|
+
PAGE_NOT_ACCESS = 403,
|
7
|
+
|
8
|
+
// page not found
|
9
|
+
PAGE_NOT_FOUND = 404,
|
10
|
+
|
11
|
+
// error
|
12
|
+
ERROR = 500,
|
13
|
+
|
14
|
+
// net work error
|
15
|
+
NET_WORK_ERROR = 10000,
|
16
|
+
|
17
|
+
// No data on the page. In fact, it is not an exception page
|
18
|
+
PAGE_NOT_DATA = 10100,
|
19
|
+
}
|
20
|
+
|
21
|
+
export enum ErrorTypeEnum {
|
22
|
+
VUE = 'vue',
|
23
|
+
SCRIPT = 'script',
|
24
|
+
RESOURCE = 'resource',
|
25
|
+
AJAX = 'ajax',
|
26
|
+
PROMISE = 'promise',
|
27
|
+
}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
/**
|
2
|
+
* @description: Request result set
|
3
|
+
*/
|
4
|
+
export enum ResultEnum {
|
5
|
+
SUCCESS = 0,
|
6
|
+
ERROR = 1,
|
7
|
+
TIMEOUT = 401,
|
8
|
+
TYPE = 'success',
|
9
|
+
}
|
10
|
+
|
11
|
+
/**
|
12
|
+
* @description: request method
|
13
|
+
*/
|
14
|
+
export enum RequestEnum {
|
15
|
+
GET = 'GET',
|
16
|
+
POST = 'POST',
|
17
|
+
PUT = 'PUT',
|
18
|
+
DELETE = 'DELETE',
|
19
|
+
}
|
20
|
+
|
21
|
+
/**
|
22
|
+
* @description: contentTyp
|
23
|
+
*/
|
24
|
+
export enum ContentTypeEnum {
|
25
|
+
// json
|
26
|
+
JSON = 'application/json;charset=UTF-8',
|
27
|
+
// form-data qs
|
28
|
+
FORM_URLENCODED = 'application/x-www-form-urlencoded;charset=UTF-8',
|
29
|
+
// form-data upload
|
30
|
+
FORM_DATA = 'multipart/form-data;charset=UTF-8',
|
31
|
+
}
|
32
|
+
|
33
|
+
/**
|
34
|
+
* 请求header
|
35
|
+
* @description: contentTyp
|
36
|
+
*/
|
37
|
+
export enum ConfigEnum {
|
38
|
+
// TOKEN
|
39
|
+
TOKEN = 'X-Access-Token',
|
40
|
+
// TIMESTAMP
|
41
|
+
TIMESTAMP = 'X-TIMESTAMP',
|
42
|
+
// Sign
|
43
|
+
Sign = 'X-Sign',
|
44
|
+
// 租户id
|
45
|
+
TENANT_ID = 'tenant-id',
|
46
|
+
// 版本
|
47
|
+
VERSION = 'X-Version',
|
48
|
+
// 低代码应用ID
|
49
|
+
X_LOW_APP_ID = 'X-Low-App-ID',
|
50
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* JInput组件类型
|
3
|
+
*/
|
4
|
+
export enum JInputTypeEnum {
|
5
|
+
//模糊
|
6
|
+
JINPUT_QUERY_LIKE = 'like',
|
7
|
+
//非
|
8
|
+
JINPUT_QUERY_NE = 'ne',
|
9
|
+
//大于等于
|
10
|
+
JINPUT_QUERY_GE = 'ge',
|
11
|
+
//小于等于
|
12
|
+
JINPUT_QUERY_LE = 'le',
|
13
|
+
}
|
14
|
+
|
15
|
+
/**
|
16
|
+
* 面板设计器需要的常量定义
|
17
|
+
*/
|
18
|
+
export enum JDragConfigEnum {
|
19
|
+
//baseURL
|
20
|
+
DRAG_BASE_URL = 'drag-base-url',
|
21
|
+
//拖拽缓存前缀
|
22
|
+
DRAG_CACHE_PREFIX = 'drag-cache:',
|
23
|
+
}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
/**
|
2
|
+
* @description: menu type
|
3
|
+
*/
|
4
|
+
export enum MenuTypeEnum {
|
5
|
+
// left menu
|
6
|
+
SIDEBAR = 'sidebar',
|
7
|
+
|
8
|
+
MIX_SIDEBAR = 'mix-sidebar',
|
9
|
+
// mixin menu
|
10
|
+
MIX = 'mix',
|
11
|
+
// top menu
|
12
|
+
TOP_MENU = 'top-menu',
|
13
|
+
}
|
14
|
+
|
15
|
+
// 折叠触发器位置
|
16
|
+
export enum TriggerEnum {
|
17
|
+
// 不显示
|
18
|
+
NONE = 'NONE',
|
19
|
+
// 菜单底部
|
20
|
+
FOOTER = 'FOOTER',
|
21
|
+
// 头部
|
22
|
+
HEADER = 'HEADER',
|
23
|
+
}
|
24
|
+
|
25
|
+
export type Mode = 'vertical' | 'vertical-right' | 'horizontal' | 'inline';
|
26
|
+
|
27
|
+
// menu mode
|
28
|
+
export enum MenuModeEnum {
|
29
|
+
VERTICAL = 'vertical',
|
30
|
+
HORIZONTAL = 'horizontal',
|
31
|
+
VERTICAL_RIGHT = 'vertical-right',
|
32
|
+
INLINE = 'inline',
|
33
|
+
}
|
34
|
+
|
35
|
+
export enum MenuSplitTyeEnum {
|
36
|
+
NONE,
|
37
|
+
TOP,
|
38
|
+
LEFT,
|
39
|
+
}
|
40
|
+
|
41
|
+
export enum TopMenuAlignEnum {
|
42
|
+
CENTER = 'center',
|
43
|
+
START = 'start',
|
44
|
+
END = 'end',
|
45
|
+
}
|
46
|
+
|
47
|
+
export enum MixSidebarTriggerEnum {
|
48
|
+
HOVER = 'hover',
|
49
|
+
CLICK = 'click',
|
50
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
export enum PageEnum {
|
2
|
+
// basic login path
|
3
|
+
BASE_LOGIN = '/login',
|
4
|
+
// basic home path
|
5
|
+
BASE_HOME = '/home',
|
6
|
+
// error page path
|
7
|
+
ERROR_PAGE = '/exception',
|
8
|
+
// error log page path
|
9
|
+
ERROR_LOG_PAGE = '/error-log/list',
|
10
|
+
// auth2登录路由路径
|
11
|
+
OAUTH2_LOGIN_PAGE_PATH = '/oauth2-app/login',
|
12
|
+
LABEL = '/wms/business-manager/print-manager/label',
|
13
|
+
/** 打印模板:物料标签. */
|
14
|
+
PRINT_TEMPLATE_ITEM = '/wms/print-template/item',
|
15
|
+
/** 打印模板:备料标签. */
|
16
|
+
PRINT_TEMPLATE_SPARE = '/wms/print-template/spare',
|
17
|
+
/** 打印模板:出库订单. */
|
18
|
+
PRINT_TEMPLATE_ORDER = '/wms/print-template/order',
|
19
|
+
}
|