@gx-design-vue/create-gx-cli 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +1 -1
- package/src/cli.js +1 -1
- package/src/main.js +4 -0
- package/template-design-pro/.editorconfig +0 -19
- package/template-design-pro/.env +0 -2
- package/template-design-pro/.env.development +0 -18
- package/template-design-pro/.env.pro +0 -32
- package/template-design-pro/.env.production +0 -32
- package/template-design-pro/.env.test +0 -20
- package/template-design-pro/.eslintignore +0 -16
- package/template-design-pro/.eslintrc.js +0 -64
- package/template-design-pro/.gitpod.yml +0 -6
- package/template-design-pro/.husky/pre-commit +0 -4
- package/template-design-pro/.prettierignore +0 -9
- package/template-design-pro/.stylelintignore +0 -3
- package/template-design-pro/.yarnclean +0 -48
- package/template-design-pro/LICENSE +0 -21
- package/template-design-pro/README.md +0 -111
- package/template-design-pro/build/constant.ts +0 -6
- package/template-design-pro/build/generate/generateModifyVars.ts +0 -18
- package/template-design-pro/build/getConfigFileName.ts +0 -13
- package/template-design-pro/build/script/buildConf.ts +0 -44
- package/template-design-pro/build/script/postBuild.ts +0 -25
- package/template-design-pro/build/script/reSetRootHtml.ts +0 -20
- package/template-design-pro/build/utils.ts +0 -85
- package/template-design-pro/build/vite/cdn.ts +0 -7
- package/template-design-pro/build/vite/optimizer.ts +0 -22
- package/template-design-pro/build/vite/plugin/autoImport.ts +0 -18
- package/template-design-pro/build/vite/plugin/compress.ts +0 -35
- package/template-design-pro/build/vite/plugin/hmr.ts +0 -25
- package/template-design-pro/build/vite/plugin/html.ts +0 -47
- package/template-design-pro/build/vite/plugin/index.ts +0 -89
- package/template-design-pro/build/vite/plugin/mock.ts +0 -20
- package/template-design-pro/build/vite/plugin/pwa.ts +0 -37
- package/template-design-pro/build/vite/plugin/styleImport.ts +0 -129
- package/template-design-pro/build/vite/plugin/visualizer.ts +0 -17
- package/template-design-pro/build/vite/plugin/vite-plugin-antd-theme/index.ts +0 -24
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/createMockServer.ts +0 -303
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/createProdMockServer.ts +0 -93
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/index.ts +0 -68
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/types.ts +0 -30
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/utils.ts +0 -26
- package/template-design-pro/commitlint.config.js +0 -32
- package/template-design-pro/config/config.ts +0 -14
- package/template-design-pro/config/default/animate.ts +0 -30
- package/template-design-pro/config/default/defaultSettings.ts +0 -75
- package/template-design-pro/config/default/network.ts +0 -16
- package/template-design-pro/config/default/proxy.ts +0 -26
- package/template-design-pro/config/default/theme.ts +0 -43
- package/template-design-pro/config/default/themeColor.ts +0 -62
- package/template-design-pro/index.html +0 -45
- package/template-design-pro/jest.config.mjs +0 -36
- package/template-design-pro/mock/_createProductionServer.ts +0 -19
- package/template-design-pro/mock/_util.ts +0 -55
- package/template-design-pro/mock/controller/menu.ts +0 -85
- package/template-design-pro/mock/controller/notices.ts +0 -114
- package/template-design-pro/mock/system/dict.ts +0 -60
- package/template-design-pro/mock/system/user.ts +0 -218
- package/template-design-pro/package.json +0 -151
- package/template-design-pro/pnpm-lock.yaml +0 -9913
- package/template-design-pro/postcss.config.js +0 -5
- package/template-design-pro/prettier.config.js +0 -18
- package/template-design-pro/public/resource/css/index.css +0 -171
- package/template-design-pro/public/resource/img/favicon.ico +0 -0
- package/template-design-pro/public/resource/img/logo.png +0 -0
- package/template-design-pro/public/resource/img/pro_icon.svg +0 -5
- package/template-design-pro/public/resource/img/pwa-192x192.png +0 -0
- package/template-design-pro/public/resource/img/pwa-512x512.png +0 -0
- package/template-design-pro/src/App.vue +0 -47
- package/template-design-pro/src/assets/error_images/403.png +0 -0
- package/template-design-pro/src/assets/error_images/404.png +0 -0
- package/template-design-pro/src/assets/error_images/cloud.png +0 -0
- package/template-design-pro/src/assets/login_images/login_background.svg +0 -69
- package/template-design-pro/src/assets/logo.png +0 -0
- package/template-design-pro/src/assets/menu_font/iconfont.css +0 -94
- package/template-design-pro/src/assets/menu_font/iconfont.eot +0 -0
- package/template-design-pro/src/assets/menu_font/iconfont.js +0 -1
- package/template-design-pro/src/assets/menu_font/iconfont.json +0 -142
- package/template-design-pro/src/assets/menu_font/iconfont.svg +0 -57
- package/template-design-pro/src/assets/menu_font/iconfont.ttf +0 -0
- package/template-design-pro/src/assets/menu_font/iconfont.woff +0 -0
- package/template-design-pro/src/assets/menu_font/iconfont.woff2 +0 -0
- package/template-design-pro/src/assets/menu_font/index.less +0 -94
- package/template-design-pro/src/common/global.ts +0 -1
- package/template-design-pro/src/components/GDesign/ProLayout/BasicLayout.less +0 -80
- package/template-design-pro/src/components/GDesign/ProLayout/BasicLayout.tsx +0 -342
- package/template-design-pro/src/components/GDesign/ProLayout/PageLoading.tsx +0 -20
- package/template-design-pro/src/components/GDesign/ProLayout/RenderTypings.ts +0 -31
- package/template-design-pro/src/components/GDesign/ProLayout/RouteContext.tsx +0 -82
- package/template-design-pro/src/components/GDesign/ProLayout/WrapContent.tsx +0 -69
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalFooter/index.tsx +0 -88
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/DefaultHeader.tsx +0 -189
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/Header.less +0 -8
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/index.tsx +0 -105
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/props.ts +0 -69
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/style.less +0 -144
- package/template-design-pro/src/components/GDesign/ProLayout/components/LogoContent/index.tsx +0 -81
- package/template-design-pro/src/components/GDesign/ProLayout/components/LogoContent/props.ts +0 -29
- package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/index.tsx +0 -384
- package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/props.ts +0 -15
- package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/style.less +0 -79
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeIcon.tsx +0 -148
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeList.module.less +0 -115
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeList.tsx +0 -154
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/index.less +0 -39
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/index.tsx +0 -133
- package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/index.tsx +0 -190
- package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/props.ts +0 -48
- package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/style.less +0 -128
- package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/typings.ts +0 -0
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/AvatarDropdown.tsx +0 -63
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/HeaderSearch.tsx +0 -122
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/headerSearch.less +0 -30
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/index.tsx +0 -95
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/style.less +0 -90
- package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/BlockCheckbox.tsx +0 -70
- package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/LayoutSetting.tsx +0 -107
- package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/ThemeColor.tsx +0 -68
- package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/index.tsx +0 -346
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/BaseMenu.tsx +0 -224
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/SiderMenu.tsx +0 -224
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/index.tsx +0 -43
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/props.ts +0 -112
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/style.less +0 -262
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/typings.ts +0 -44
- package/template-design-pro/src/components/GDesign/ProLayout/default.less +0 -2
- package/template-design-pro/src/components/GDesign/ProLayout/defaultSettings.ts +0 -121
- package/template-design-pro/src/components/GDesign/ProLayout/hooks/context/index.ts +0 -45
- package/template-design-pro/src/components/GDesign/ProLayout/index.ts +0 -43
- package/template-design-pro/src/components/GDesign/ProLayout/props.ts +0 -57
- package/template-design-pro/src/components/GDesign/ProLayout/style.less +0 -272
- package/template-design-pro/src/components/GDesign/ProLayout/typings.ts +0 -1
- package/template-design-pro/src/components/GDesign/ProLayout/utils/getMenuData.ts +0 -31
- package/template-design-pro/src/components/GDesign/ProLayout/utils/index.ts +0 -94
- package/template-design-pro/src/components/GDesign/ProLayout/utils/isImg/index.ts +0 -6
- package/template-design-pro/src/components/GDesign/ProLayout/utils/isUrl/index.ts +0 -5
- package/template-design-pro/src/components/GDesign/Result/index.tsx +0 -142
- package/template-design-pro/src/components/GDesign/Result/style.less +0 -140
- package/template-design-pro/src/components/GDesign/Scrollbars/components/Bar/index.tsx +0 -56
- package/template-design-pro/src/components/GDesign/Scrollbars/components/Bar/props.ts +0 -23
- package/template-design-pro/src/components/GDesign/Scrollbars/components/Thumb/index.tsx +0 -164
- package/template-design-pro/src/components/GDesign/Scrollbars/components/Thumb/props.ts +0 -11
- package/template-design-pro/src/components/GDesign/Scrollbars/context.ts +0 -10
- package/template-design-pro/src/components/GDesign/Scrollbars/index.tsx +0 -200
- package/template-design-pro/src/components/GDesign/Scrollbars/props.ts +0 -65
- package/template-design-pro/src/components/GDesign/Scrollbars/style.less +0 -85
- package/template-design-pro/src/components/GDesign/Scrollbars/util.ts +0 -40
- package/template-design-pro/src/components/GDesign/utils/index.ts +0 -7
- package/template-design-pro/src/components/PageLoading/index.tsx +0 -44
- package/template-design-pro/src/components/PageTransition/index.vue +0 -98
- package/template-design-pro/src/components/index.ts +0 -6
- package/template-design-pro/src/core/ant-design/index.ts +0 -14
- package/template-design-pro/src/core/gx-admin-design/index.ts +0 -7
- package/template-design-pro/src/core/gx-admin-directives/index.ts +0 -8
- package/template-design-pro/src/core/gx-admin-directives/permission.ts +0 -28
- package/template-design-pro/src/core/gx-design/index.ts +0 -7
- package/template-design-pro/src/core/gx-pro-design/index.ts +0 -10
- package/template-design-pro/src/core/index.ts +0 -27
- package/template-design-pro/src/design/ant-design/index.less +0 -4
- package/template-design-pro/src/design/ant-design/layout.less +0 -29
- package/template-design-pro/src/design/ant-design/menu.less +0 -55
- package/template-design-pro/src/design/ant-design/table.less +0 -67
- package/template-design-pro/src/design/ant-design/tooltip.less +0 -13
- package/template-design-pro/src/design/color.less +0 -1
- package/template-design-pro/src/design/config.less +0 -5
- package/template-design-pro/src/design/index.less +0 -41
- package/template-design-pro/src/design/mixin.less +0 -66
- package/template-design-pro/src/design/normalize.less +0 -390
- package/template-design-pro/src/global.less +0 -15
- package/template-design-pro/src/hooks/core/index.ts +0 -3
- package/template-design-pro/src/hooks/core/useRequest/index.ts +0 -70
- package/template-design-pro/src/hooks/core/useRequest/typings.ts +0 -0
- package/template-design-pro/src/hooks/event/index.ts +0 -3
- package/template-design-pro/src/hooks/event/useClipboard.ts +0 -14
- package/template-design-pro/src/hooks/system/index.ts +0 -5
- package/template-design-pro/src/hooks/system/useDict.ts +0 -62
- package/template-design-pro/src/hooks/system/usePermissions.ts +0 -39
- package/template-design-pro/src/hooks/typings.ts +0 -17
- package/template-design-pro/src/layout/BasicLayout.vue +0 -104
- package/template-design-pro/src/layout/BlankLayout.vue +0 -5
- package/template-design-pro/src/layout/ContentView.vue +0 -76
- package/template-design-pro/src/layout/IframeView.vue +0 -1
- package/template-design-pro/src/layout/UserLayout.vue +0 -7
- package/template-design-pro/src/main.ts +0 -34
- package/template-design-pro/src/plugins/index.ts +0 -3
- package/template-design-pro/src/router/guard/index.ts +0 -84
- package/template-design-pro/src/router/guard/permissions.ts +0 -73
- package/template-design-pro/src/router/guard/stateGuard.ts +0 -11
- package/template-design-pro/src/router/helper/routeHelper.ts +0 -244
- package/template-design-pro/src/router/helper/utils.ts +0 -19
- package/template-design-pro/src/router/index.ts +0 -30
- package/template-design-pro/src/router/routes/index.ts +0 -85
- package/template-design-pro/src/router/routes/modules/workplace.ts +0 -19
- package/template-design-pro/src/services/common/index.ts +0 -11
- package/template-design-pro/src/services/controller/router.ts +0 -10
- package/template-design-pro/src/services/controller/user.ts +0 -35
- package/template-design-pro/src/services/system/dictData.ts +0 -10
- package/template-design-pro/src/services/system/notices.ts +0 -9
- package/template-design-pro/src/store/index.ts +0 -32
- package/template-design-pro/src/store/modules/dict.ts +0 -27
- package/template-design-pro/src/store/modules/permission.ts +0 -19
- package/template-design-pro/src/store/modules/routes.ts +0 -110
- package/template-design-pro/src/store/modules/settings.ts +0 -102
- package/template-design-pro/src/store/modules/tabsRouter.ts +0 -73
- package/template-design-pro/src/store/modules/user.ts +0 -153
- package/template-design-pro/src/utils/accessToken.ts +0 -93
- package/template-design-pro/src/utils/crypto.ts +0 -39
- package/template-design-pro/src/utils/env.ts +0 -52
- package/template-design-pro/src/utils/fetchFile.ts +0 -79
- package/template-design-pro/src/utils/index.ts +0 -127
- package/template-design-pro/src/utils/pageTitle.ts +0 -17
- package/template-design-pro/src/utils/request/XHR.ts +0 -131
- package/template-design-pro/src/utils/request/axiosCancel.ts +0 -60
- package/template-design-pro/src/utils/request/checkStatus.ts +0 -26
- package/template-design-pro/src/utils/request/index.ts +0 -145
- package/template-design-pro/src/utils/request/typings.ts +0 -114
- package/template-design-pro/src/utils/storage.ts +0 -194
- package/template-design-pro/src/utils/uploadFile.ts +0 -26
- package/template-design-pro/src/utils/util.ts +0 -278
- package/template-design-pro/src/utils/validate.ts +0 -221
- package/template-design-pro/src/views/Iframe/index.vue +0 -76
- package/template-design-pro/src/views/MenuOne/index.vue +0 -15
- package/template-design-pro/src/views/MenuTwo/index.vue +0 -13
- package/template-design-pro/src/views/exception/403/index.vue +0 -9
- package/template-design-pro/src/views/exception/404/index.vue +0 -9
- package/template-design-pro/src/views/user/login/index.vue +0 -110
- package/template-design-pro/src/views/user/login/style.less +0 -38
- package/template-design-pro/stylelint.config.js +0 -106
- package/template-design-pro/tests/__mocks__/fileMock.ts +0 -1
- package/template-design-pro/tests/__mocks__/styleMock.ts +0 -1
- package/template-design-pro/tests/__mocks__/workerMock.ts +0 -5
- package/template-design-pro/tests/server/README.md +0 -15
- package/template-design-pro/tests/server/controller/FileController.ts +0 -18
- package/template-design-pro/tests/server/controller/UserController.ts +0 -15
- package/template-design-pro/tests/server/ecosystem.config.js +0 -18
- package/template-design-pro/tests/server/index.ts +0 -63
- package/template-design-pro/tests/server/nodemon.json +0 -8
- package/template-design-pro/tests/server/package.json +0 -36
- package/template-design-pro/tests/server/routes.ts +0 -23
- package/template-design-pro/tests/server/service/FileService.ts +0 -54
- package/template-design-pro/tests/server/service/UserService.ts +0 -25
- package/template-design-pro/tests/server/tsconfig.json +0 -15
- package/template-design-pro/tests/server/utils.ts +0 -9
- package/template-design-pro/tests/server/yarn.lock +0 -2955
- package/template-design-pro/tests/test.spec.ts +0 -16
- package/template-design-pro/tsconfig.json +0 -47
- package/template-design-pro/types/auto-imports.d.ts +0 -61
- package/template-design-pro/types/config.d.ts +0 -100
- package/template-design-pro/types/global.d.ts +0 -103
- package/template-design-pro/types/gx-components.d.ts +0 -24
- package/template-design-pro/types/index.d.ts +0 -13
- package/template-design-pro/types/mock.d.ts +0 -23
- package/template-design-pro/types/module.d.ts +0 -16
- package/template-design-pro/types/response.d.ts +0 -15
- package/template-design-pro/types/route.d.ts +0 -89
- package/template-design-pro/vite.config.ts +0 -136
- package/template-design-pro/yarn.lock +0 -9697
@@ -1,110 +0,0 @@
|
|
1
|
-
<template>
|
2
|
-
<div :class="$style['login-container']">
|
3
|
-
<div :class="$style.content">
|
4
|
-
<GProFormLogin
|
5
|
-
style="margin-top: 40px"
|
6
|
-
:model="userForm"
|
7
|
-
:rules="userRules"
|
8
|
-
:logo="Logo"
|
9
|
-
title="GX Pro Admin"
|
10
|
-
@submit="handleSubmit"
|
11
|
-
>
|
12
|
-
<template #subTitle>
|
13
|
-
<p>GX Pro Admin 是一套基于</p>
|
14
|
-
vue({{ state.dependencies['vue'] }}) + ant-design-vue({{
|
15
|
-
state.dependencies['ant-design-vue']
|
16
|
-
}}) 开发的一套后台系统
|
17
|
-
</template>
|
18
|
-
<GProFormText
|
19
|
-
name="userName"
|
20
|
-
:fieldProps="{ size: 'large', prefix: userOutlined }"
|
21
|
-
placeholder="用户名: admin"
|
22
|
-
/>
|
23
|
-
<GProFormPassword
|
24
|
-
name="password"
|
25
|
-
:fieldProps="{ size: 'large', prefix: lockOutlined }"
|
26
|
-
placeholder="密码: gx.design"
|
27
|
-
/>
|
28
|
-
<div class="mb-[24px]">
|
29
|
-
<GProFormCheckbox noStyle name="autoLogin">自动登录</GProFormCheckbox>
|
30
|
-
<a style="float: right">忘记密码</a>
|
31
|
-
</div>
|
32
|
-
</GProFormLogin>
|
33
|
-
</div>
|
34
|
-
<GlobalFooter />
|
35
|
-
</div>
|
36
|
-
</template>
|
37
|
-
|
38
|
-
<script setup lang="ts">
|
39
|
-
import { reactive } from 'vue'
|
40
|
-
import { useStore } from '@gx-vuex'
|
41
|
-
import { useRoute, useRouter } from 'vue-router'
|
42
|
-
import { UserOutlined, LockOutlined } from '@ant-design/icons-vue'
|
43
|
-
import { GProFormText, GProFormPassword, GProFormCheckbox, GProFormLogin } from '@gx-design-vue/pro-form'
|
44
|
-
import { GlobalFooter } from '@gx-design/ProLayout'
|
45
|
-
import Logo from '@/assets/logo.png'
|
46
|
-
|
47
|
-
interface UserState {
|
48
|
-
userName: string
|
49
|
-
password: string
|
50
|
-
}
|
51
|
-
|
52
|
-
interface loginState {
|
53
|
-
redirect: string
|
54
|
-
dependencies: RecordType
|
55
|
-
devDependencies: RecordType
|
56
|
-
}
|
57
|
-
|
58
|
-
const { pkg } = __APP_INFO__
|
59
|
-
|
60
|
-
const userOutlined = h(UserOutlined)
|
61
|
-
const lockOutlined = h(LockOutlined)
|
62
|
-
|
63
|
-
const store = useStore()
|
64
|
-
const route = useRoute()
|
65
|
-
const router = useRouter()
|
66
|
-
|
67
|
-
const userForm = reactive({
|
68
|
-
userName: 'admin',
|
69
|
-
password: 'gx.design',
|
70
|
-
autoLogin: true
|
71
|
-
} as UserState)
|
72
|
-
|
73
|
-
const userRules = reactive({
|
74
|
-
userName: [{ required: true, message: '用户名是必填项!' }],
|
75
|
-
password: [{ required: true, message: '密码是必填项!' }]
|
76
|
-
})
|
77
|
-
|
78
|
-
const state: loginState = reactive({
|
79
|
-
redirect: undefined,
|
80
|
-
dependencies: pkg.dependencies,
|
81
|
-
devDependencies: pkg.devDependencies
|
82
|
-
})
|
83
|
-
|
84
|
-
watch(
|
85
|
-
() => route.fullPath,
|
86
|
-
() => {
|
87
|
-
state.redirect = (route.query?.redirect as string) || '/'
|
88
|
-
},
|
89
|
-
{
|
90
|
-
deep: true,
|
91
|
-
immediate: true
|
92
|
-
}
|
93
|
-
)
|
94
|
-
const handleRoute = () => {
|
95
|
-
return state.redirect === '/exception/404' || state.redirect === '/exception/403'
|
96
|
-
? '/'
|
97
|
-
: state.redirect
|
98
|
-
}
|
99
|
-
|
100
|
-
const handleSubmit = async (value) => {
|
101
|
-
const response: any = await store.user.userLogin({ ...value })
|
102
|
-
if (response) {
|
103
|
-
await router.push(handleRoute())
|
104
|
-
}
|
105
|
-
}
|
106
|
-
</script>
|
107
|
-
|
108
|
-
<style lang="less" module>
|
109
|
-
@import './style';
|
110
|
-
</style>
|
@@ -1,38 +0,0 @@
|
|
1
|
-
.login-container {
|
2
|
-
display: flex;
|
3
|
-
flex-direction: column;
|
4
|
-
height: 100vh;
|
5
|
-
overflow: auto;
|
6
|
-
background: @layout-body-background;
|
7
|
-
}
|
8
|
-
|
9
|
-
.content {
|
10
|
-
flex: 1;
|
11
|
-
padding: 32px 0;
|
12
|
-
}
|
13
|
-
|
14
|
-
.icon {
|
15
|
-
margin-left: 8px;
|
16
|
-
font-size: 24px;
|
17
|
-
color: rgba(0, 0, 0, 0.2);
|
18
|
-
vertical-align: middle;
|
19
|
-
cursor: pointer;
|
20
|
-
transition: color 0.3s;
|
21
|
-
|
22
|
-
&:hover {
|
23
|
-
color: @primary-color;
|
24
|
-
}
|
25
|
-
}
|
26
|
-
|
27
|
-
@media (min-width: @screen-md-min) {
|
28
|
-
.login-container {
|
29
|
-
background-image: url(/src/assets/login_images/login_background.svg);
|
30
|
-
background-repeat: no-repeat;
|
31
|
-
background-position: center 110px;
|
32
|
-
background-size: 100%;
|
33
|
-
}
|
34
|
-
|
35
|
-
.content {
|
36
|
-
padding: 32px 0 24px;
|
37
|
-
}
|
38
|
-
}
|
@@ -1,106 +0,0 @@
|
|
1
|
-
module.exports = {
|
2
|
-
root: true,
|
3
|
-
plugins: [ 'stylelint-order' ],
|
4
|
-
extends: [ 'stylelint-config-standard', 'stylelint-config-prettier' ],
|
5
|
-
customSyntax: 'postcss-html',
|
6
|
-
rules: {
|
7
|
-
'number-leading-zero': null,
|
8
|
-
'alpha-value-notation': null,
|
9
|
-
'color-function-notation': null,
|
10
|
-
'no-eol-whitespace': null,
|
11
|
-
'function-no-unknown': null,
|
12
|
-
'selector-class-pattern': null,
|
13
|
-
'selector-pseudo-class-no-unknown': [
|
14
|
-
true,
|
15
|
-
{
|
16
|
-
ignorePseudoClasses: [ 'global' ]
|
17
|
-
}
|
18
|
-
],
|
19
|
-
'selector-pseudo-element-no-unknown': [
|
20
|
-
true,
|
21
|
-
{
|
22
|
-
ignorePseudoElements: [ 'v-deep' ]
|
23
|
-
}
|
24
|
-
],
|
25
|
-
'at-rule-no-unknown': [
|
26
|
-
true,
|
27
|
-
{
|
28
|
-
ignoreAtRules: [
|
29
|
-
'tailwind',
|
30
|
-
'apply',
|
31
|
-
'variants',
|
32
|
-
'responsive',
|
33
|
-
'screen',
|
34
|
-
'function',
|
35
|
-
'if',
|
36
|
-
'each',
|
37
|
-
'include',
|
38
|
-
'mixin'
|
39
|
-
]
|
40
|
-
}
|
41
|
-
],
|
42
|
-
'no-empty-source': null,
|
43
|
-
'font-family-name-quotes': null,
|
44
|
-
'declaration-colon-newline-after': null,
|
45
|
-
'selector-pseudo-element-colon-notation': null,
|
46
|
-
'string-quotes': null,
|
47
|
-
'named-grid-areas-no-invalid': null,
|
48
|
-
'unicode-bom': 'never',
|
49
|
-
'no-descending-specificity': null,
|
50
|
-
'font-family-no-missing-generic-family-keyword': null,
|
51
|
-
'declaration-colon-space-after': 'always-single-line',
|
52
|
-
'declaration-colon-space-before': 'never',
|
53
|
-
'rule-empty-line-before': [
|
54
|
-
'always',
|
55
|
-
{
|
56
|
-
ignore: [ 'after-comment', 'first-nested' ]
|
57
|
-
}
|
58
|
-
],
|
59
|
-
'unit-no-unknown': [ true, { ignoreUnits: [ 'rpx' ] } ],
|
60
|
-
'order/order': [
|
61
|
-
[
|
62
|
-
'dollar-variables',
|
63
|
-
'custom-properties',
|
64
|
-
'at-rules',
|
65
|
-
'declarations',
|
66
|
-
{
|
67
|
-
type: 'at-rule',
|
68
|
-
name: 'supports'
|
69
|
-
},
|
70
|
-
{
|
71
|
-
type: 'at-rule',
|
72
|
-
name: 'media'
|
73
|
-
},
|
74
|
-
'rules'
|
75
|
-
],
|
76
|
-
{ severity: 'warning' }
|
77
|
-
]
|
78
|
-
},
|
79
|
-
ignoreFiles: [ '**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts' ],
|
80
|
-
overrides: [
|
81
|
-
{
|
82
|
-
files: [ '*.vue', '**/*.vue', '**/*.ts', '**/*.tsx', '*.html', '**/*.html' ],
|
83
|
-
extends: [ 'stylelint-config-recommended', 'stylelint-config-html' ],
|
84
|
-
rules: {
|
85
|
-
'keyframes-name-pattern': null,
|
86
|
-
'selector-pseudo-class-no-unknown': [
|
87
|
-
true,
|
88
|
-
{
|
89
|
-
ignorePseudoClasses: [ 'deep', 'global' ]
|
90
|
-
}
|
91
|
-
],
|
92
|
-
'selector-pseudo-element-no-unknown': [
|
93
|
-
true,
|
94
|
-
{
|
95
|
-
ignorePseudoElements: [ 'v-deep', 'v-global', 'v-slotted' ]
|
96
|
-
}
|
97
|
-
]
|
98
|
-
}
|
99
|
-
},
|
100
|
-
{
|
101
|
-
files: [ '*.less', '**/*.less' ],
|
102
|
-
customSyntax: 'postcss-less',
|
103
|
-
extends: [ 'stylelint-config-standard', 'stylelint-config-recommended-vue' ]
|
104
|
-
}
|
105
|
-
]
|
106
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
export default '';
|
@@ -1 +0,0 @@
|
|
1
|
-
export default {};
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import FileService from '../service/FileService';
|
2
|
-
|
3
|
-
class FileController {
|
4
|
-
private service: FileService = new FileService();
|
5
|
-
|
6
|
-
upload = async (ctx) => {
|
7
|
-
const files = ctx.request.files.file;
|
8
|
-
console.log(files);
|
9
|
-
|
10
|
-
if (files.length === undefined) {
|
11
|
-
this.service.upload(ctx, files, false);
|
12
|
-
} else {
|
13
|
-
this.service.upload(ctx, files, true);
|
14
|
-
}
|
15
|
-
};
|
16
|
-
}
|
17
|
-
|
18
|
-
export default new FileController();
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import UserService from '../service/UserService';
|
2
|
-
|
3
|
-
class UserController {
|
4
|
-
private service: UserService = new UserService();
|
5
|
-
|
6
|
-
login = async (ctx) => {
|
7
|
-
ctx.body = await this.service.login();
|
8
|
-
};
|
9
|
-
|
10
|
-
getUserInfoById = async (ctx) => {
|
11
|
-
ctx.body = await this.service.getUserInfoById();
|
12
|
-
};
|
13
|
-
}
|
14
|
-
|
15
|
-
export default new UserController();
|
@@ -1,18 +0,0 @@
|
|
1
|
-
const { name } = require('./package.json');
|
2
|
-
const path = require('path');
|
3
|
-
|
4
|
-
module.exports = {
|
5
|
-
apps: [
|
6
|
-
{
|
7
|
-
name,
|
8
|
-
script: path.resolve(__dirname, './dist/index.js'),
|
9
|
-
instances: require('os').cpus().length,
|
10
|
-
autorestart: true,
|
11
|
-
watch: true,
|
12
|
-
env_production: {
|
13
|
-
NODE_ENV: 'production',
|
14
|
-
PORT: 8080,
|
15
|
-
},
|
16
|
-
},
|
17
|
-
],
|
18
|
-
};
|
@@ -1,63 +0,0 @@
|
|
1
|
-
import Koa from 'koa';
|
2
|
-
import path from 'path';
|
3
|
-
import Router from 'koa-router';
|
4
|
-
import body from 'koa-body';
|
5
|
-
import cors from 'koa2-cors';
|
6
|
-
import koaStatic from 'koa-static';
|
7
|
-
import websockify from 'koa-websocket';
|
8
|
-
import route from 'koa-route';
|
9
|
-
|
10
|
-
import AppRoutes from './routes';
|
11
|
-
|
12
|
-
const PORT = 3300;
|
13
|
-
|
14
|
-
const app = websockify(new Koa());
|
15
|
-
|
16
|
-
app.ws.use(function (ctx, next) {
|
17
|
-
ctx.websocket.send('connection succeeded!');
|
18
|
-
return next(ctx);
|
19
|
-
});
|
20
|
-
|
21
|
-
app.ws.use(
|
22
|
-
route.all('/test', function (ctx) {
|
23
|
-
// ctx.websocket.send('Hello World');
|
24
|
-
ctx.websocket.on('message', function (message) {
|
25
|
-
// do something with the message from client
|
26
|
-
|
27
|
-
if (message !== 'ping') {
|
28
|
-
const data = JSON.stringify({
|
29
|
-
id: Math.ceil(Math.random() * 1000),
|
30
|
-
time: new Date().getTime(),
|
31
|
-
res: `${message}`,
|
32
|
-
});
|
33
|
-
ctx.websocket.send(data);
|
34
|
-
}
|
35
|
-
console.log(message);
|
36
|
-
});
|
37
|
-
})
|
38
|
-
);
|
39
|
-
|
40
|
-
const router = new Router();
|
41
|
-
|
42
|
-
// router
|
43
|
-
AppRoutes.forEach((route) => router[route.method](route.path, route.action));
|
44
|
-
|
45
|
-
app.use(cors());
|
46
|
-
app.use(
|
47
|
-
body({
|
48
|
-
encoding: 'gzip',
|
49
|
-
multipart: true,
|
50
|
-
formidable: {
|
51
|
-
// uploadDir: path.join(__dirname, '/upload/'), // 设置文件上传目录
|
52
|
-
keepExtensions: true,
|
53
|
-
maxFieldsSize: 20 * 1024 * 1024,
|
54
|
-
},
|
55
|
-
})
|
56
|
-
);
|
57
|
-
app.use(router.routes());
|
58
|
-
app.use(router.allowedMethods());
|
59
|
-
app.use(koaStatic(path.join(__dirname)));
|
60
|
-
|
61
|
-
app.listen(PORT, () => {
|
62
|
-
console.log(`Application started successfully: http://localhost:${PORT}`);
|
63
|
-
});
|
@@ -1,36 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"name": "server",
|
3
|
-
"version": "1.0.0",
|
4
|
-
"license": "MIT",
|
5
|
-
"scripts": {
|
6
|
-
"start": "nodemon",
|
7
|
-
"build": "rimraf ./dist && tsup ./index.ts --dts --format cjs,esm ",
|
8
|
-
"prod": "npx pm2 start ecosystem.config.js --env production",
|
9
|
-
"restart": "pm2 restart ecosystem.config.js --env production",
|
10
|
-
"stop": "npx pm2 stop ecosystem.config.js"
|
11
|
-
},
|
12
|
-
"dependencies": {
|
13
|
-
"fs-extra": "^10.0.0",
|
14
|
-
"koa": "^2.7.0",
|
15
|
-
"koa-body": "^4.2.0",
|
16
|
-
"koa-bodyparser": "^4.2.1",
|
17
|
-
"koa-route": "^3.2.0",
|
18
|
-
"koa-router": "^10.0.0",
|
19
|
-
"koa-static": "^5.0.0",
|
20
|
-
"koa-websocket": "^6.0.0",
|
21
|
-
"koa2-cors": "^2.0.6"
|
22
|
-
},
|
23
|
-
"devDependencies": {
|
24
|
-
"@types/koa": "^2.0.48",
|
25
|
-
"@types/koa-bodyparser": "^4.2.2",
|
26
|
-
"@types/koa-router": "^7.0.40",
|
27
|
-
"@types/node": "^15.12.1",
|
28
|
-
"nodemon": "^2.0.7",
|
29
|
-
"pm2": "^4.5.6",
|
30
|
-
"rimraf": "^3.0.2",
|
31
|
-
"ts-node": "^10.0.0",
|
32
|
-
"tsconfig-paths": "^3.8.0",
|
33
|
-
"tsup": "^4.11.2",
|
34
|
-
"typescript": "^4.2.5"
|
35
|
-
}
|
36
|
-
}
|
@@ -1,23 +0,0 @@
|
|
1
|
-
import UserController from './controller/UserController';
|
2
|
-
import FileController from './controller/FileController';
|
3
|
-
|
4
|
-
export default [
|
5
|
-
// user
|
6
|
-
{
|
7
|
-
path: '/login',
|
8
|
-
method: 'post',
|
9
|
-
action: UserController.login,
|
10
|
-
},
|
11
|
-
{
|
12
|
-
path: '/getUserInfoById',
|
13
|
-
method: 'get',
|
14
|
-
action: UserController.getUserInfoById,
|
15
|
-
},
|
16
|
-
|
17
|
-
// file
|
18
|
-
{
|
19
|
-
path: '/upload',
|
20
|
-
method: 'post',
|
21
|
-
action: FileController.upload,
|
22
|
-
},
|
23
|
-
];
|
@@ -1,54 +0,0 @@
|
|
1
|
-
import path from 'path';
|
2
|
-
import fs from 'fs-extra';
|
3
|
-
|
4
|
-
const uploadUrl = 'http://localhost:3300/static/upload';
|
5
|
-
const filePath = path.join(__dirname, '../static/upload/');
|
6
|
-
|
7
|
-
fs.ensureDir(filePath);
|
8
|
-
export default class UserService {
|
9
|
-
async upload(ctx, files, isMultiple) {
|
10
|
-
let fileReader, fileResource, writeStream;
|
11
|
-
|
12
|
-
const fileFunc = function (file) {
|
13
|
-
fileReader = fs.createReadStream(file.path);
|
14
|
-
fileResource = filePath + `/${file.name}`;
|
15
|
-
console.log(fileResource);
|
16
|
-
|
17
|
-
writeStream = fs.createWriteStream(fileResource);
|
18
|
-
fileReader.pipe(writeStream);
|
19
|
-
};
|
20
|
-
|
21
|
-
const returnFunc = function (flag) {
|
22
|
-
if (flag) {
|
23
|
-
let url = '';
|
24
|
-
for (let i = 0; i < files.length; i++) {
|
25
|
-
url += uploadUrl + `/${files[i].name},`;
|
26
|
-
}
|
27
|
-
url = url.replace(/,$/gi, '');
|
28
|
-
ctx.body = {
|
29
|
-
url: url,
|
30
|
-
code: 0,
|
31
|
-
message: 'upload Success!',
|
32
|
-
};
|
33
|
-
} else {
|
34
|
-
ctx.body = {
|
35
|
-
url: uploadUrl + `/${files.name}`,
|
36
|
-
code: 0,
|
37
|
-
message: 'upload Success!',
|
38
|
-
};
|
39
|
-
}
|
40
|
-
};
|
41
|
-
console.log(isMultiple, files.length);
|
42
|
-
|
43
|
-
if (isMultiple) {
|
44
|
-
for (let i = 0; i < files.length; i++) {
|
45
|
-
const f1 = files[i];
|
46
|
-
fileFunc(f1);
|
47
|
-
}
|
48
|
-
} else {
|
49
|
-
fileFunc(files);
|
50
|
-
}
|
51
|
-
fs.ensureDir(filePath);
|
52
|
-
returnFunc(isMultiple);
|
53
|
-
}
|
54
|
-
}
|
@@ -1,25 +0,0 @@
|
|
1
|
-
import { Result } from '../utils';
|
2
|
-
|
3
|
-
const fakeUserInfo = {
|
4
|
-
userId: '1',
|
5
|
-
userName: 'vben',
|
6
|
-
realName: 'Vben Admin',
|
7
|
-
desc: 'manager',
|
8
|
-
password: '123456',
|
9
|
-
token: 'fakeToken1',
|
10
|
-
roles: [
|
11
|
-
{
|
12
|
-
roleName: 'Super Admin',
|
13
|
-
value: 'super',
|
14
|
-
},
|
15
|
-
],
|
16
|
-
};
|
17
|
-
export default class UserService {
|
18
|
-
async login() {
|
19
|
-
return Result.success(fakeUserInfo);
|
20
|
-
}
|
21
|
-
|
22
|
-
async getUserInfoById() {
|
23
|
-
return Result.success(fakeUserInfo);
|
24
|
-
}
|
25
|
-
}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"compilerOptions": {
|
3
|
-
"module": "commonjs",
|
4
|
-
"declaration": false,
|
5
|
-
"removeComments": true,
|
6
|
-
"emitDecoratorMetadata": true,
|
7
|
-
"experimentalDecorators": true,
|
8
|
-
"target": "es6",
|
9
|
-
"sourceMap": false,
|
10
|
-
"esModuleInterop": true,
|
11
|
-
"outDir": "./dist",
|
12
|
-
"baseUrl": "./"
|
13
|
-
},
|
14
|
-
"exclude": ["node_modules"]
|
15
|
-
}
|