vue2-client 1.2.35 → 1.2.37-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,26 +1,26 @@
1
- import routerMap from './router.map'
2
- import { parseRoutes } from '@vue2-client/utils/routerUtil'
3
-
4
- // 异步路由配置
5
- const routesConfig = [
6
- 'login',
7
- 'submitTicket',
8
- 'root',
9
- {
10
- router: 'exp404',
11
- path: '*',
12
- name: '404'
13
- },
14
- {
15
- router: 'exp403',
16
- path: '/403',
17
- name: '403'
18
- }
19
- ]
20
-
21
- const options = {
22
- mode: 'history',
23
- routes: parseRoutes(routesConfig, routerMap)
24
- }
25
-
26
- export default options
1
+ import routerMap from './router.map'
2
+ import { parseRoutes } from '@vue2-client/utils/routerUtil'
3
+
4
+ // 异步路由配置
5
+ const routesConfig = [
6
+ 'login',
7
+ 'submitTicket',
8
+ 'root',
9
+ {
10
+ router: 'exp404',
11
+ path: '*',
12
+ name: '404'
13
+ },
14
+ {
15
+ router: 'exp403',
16
+ path: '/403',
17
+ name: '403'
18
+ }
19
+ ]
20
+
21
+ const options = {
22
+ mode: 'history',
23
+ routes: parseRoutes(routesConfig, routerMap)
24
+ }
25
+
26
+ export default options
@@ -1,59 +1,59 @@
1
- // 视图组件
2
- const view = {
3
- tabs: () => import('@vue2-client/layouts/tabs'),
4
- blank: () => import('@vue2-client/layouts/BlankView'),
5
- page: () => import('@vue2-client/layouts/PageView'),
6
- singlePage: () => import('@vue2-client/layouts/SinglePageView')
7
- }
8
- // 动态路由对象定义
9
- const routerResource = {}
10
- // --------------------------------------基本视图组件--------------------------------------
11
- // 空白视图
12
- routerResource.blank = view.blank
13
- // 单页面视图
14
- routerResource.singlePage = view.singlePage
15
- // --------------------------------------系统配置--------------------------------------
16
- routerResource.system = view.blank
17
- // 字典管理
18
- routerResource.dictionaryManage = () => import(/* webpackChunkName: "dictionary" */ '@vue2-client/pages/system/dictionary')
19
- // 查询配置管理
20
- routerResource.queryParamsManage = () => import(/* webpackChunkName: "queryParams" */ '@vue2-client/pages/system/queryParams')
21
- // 系统问题反馈工单
22
- routerResource.submitTicket = () => import(/* webpackChunkName: "submitTicket" */ '@vue2-client/pages/system/ticket')
23
- // --------------------------------------报表组件--------------------------------------
24
- routerResource.reportTable = () => import(/* webpackChunkName: "ReportTableHome" */ '@vue2-client/pages/report/ReportTableHome')
25
- // --------------------------------------资源管理--------------------------------------
26
- routerResource.resourceManageMain = () => import(/* webpackChunkName: "resourceManageMain" */ '@vue2-client/pages/resourceManage/resourceManageMain')
27
-
28
- // 基础路由组件注册
29
- const routerMap = {
30
- login: {
31
- authority: '*',
32
- path: '/login',
33
- component: () => import('@vue2-client/pages/login')
34
- },
35
- root: {
36
- path: '/',
37
- name: '首页',
38
- redirect: '/login',
39
- component: view.tabs
40
- },
41
- exp403: {
42
- authority: '*',
43
- name: 'exp403',
44
- path: '403',
45
- component: () => import('@vue2-client/pages/exception/403')
46
- },
47
- exp404: {
48
- name: 'exp404',
49
- path: '404',
50
- component: () => import('@vue2-client/pages/exception/404')
51
- },
52
- exp500: {
53
- name: 'exp500',
54
- path: '500',
55
- component: () => import('@vue2-client/pages/exception/500')
56
- }
57
- }
58
- Object.assign(routerMap, routerResource)
59
- export default routerMap
1
+ // 视图组件
2
+ const view = {
3
+ tabs: () => import('@vue2-client/layouts/tabs'),
4
+ blank: () => import('@vue2-client/layouts/BlankView'),
5
+ page: () => import('@vue2-client/layouts/PageView'),
6
+ singlePage: () => import('@vue2-client/layouts/SinglePageView')
7
+ }
8
+ // 动态路由对象定义
9
+ const routerResource = {}
10
+ // --------------------------------------基本视图组件--------------------------------------
11
+ // 空白视图
12
+ routerResource.blank = view.blank
13
+ // 单页面视图
14
+ routerResource.singlePage = view.singlePage
15
+ // --------------------------------------系统配置--------------------------------------
16
+ routerResource.system = view.blank
17
+ // 字典管理
18
+ routerResource.dictionaryManage = () => import(/* webpackChunkName: "dictionary" */ '@vue2-client/pages/system/dictionary')
19
+ // 查询配置管理
20
+ routerResource.queryParamsManage = () => import(/* webpackChunkName: "queryParams" */ '@vue2-client/pages/system/queryParams')
21
+ // 系统问题反馈工单
22
+ routerResource.submitTicket = () => import(/* webpackChunkName: "submitTicket" */ '@vue2-client/pages/system/ticket')
23
+ // --------------------------------------报表组件--------------------------------------
24
+ routerResource.reportTable = () => import(/* webpackChunkName: "ReportTableHome" */ '@vue2-client/pages/report/ReportTableHome')
25
+ // --------------------------------------资源管理--------------------------------------
26
+ routerResource.resourceManageMain = () => import(/* webpackChunkName: "resourceManageMain" */ '@vue2-client/pages/resourceManage/resourceManageMain')
27
+
28
+ // 基础路由组件注册
29
+ const routerMap = {
30
+ login: {
31
+ authority: '*',
32
+ path: '/login',
33
+ component: () => import('@vue2-client/pages/login')
34
+ },
35
+ root: {
36
+ path: '/',
37
+ name: '首页',
38
+ redirect: '/login',
39
+ component: view.tabs
40
+ },
41
+ exp403: {
42
+ authority: '*',
43
+ name: 'exp403',
44
+ path: '403',
45
+ component: () => import('@vue2-client/pages/exception/403')
46
+ },
47
+ exp404: {
48
+ name: 'exp404',
49
+ path: '404',
50
+ component: () => import('@vue2-client/pages/exception/404')
51
+ },
52
+ exp500: {
53
+ name: 'exp500',
54
+ path: '500',
55
+ component: () => import('@vue2-client/pages/exception/500')
56
+ }
57
+ }
58
+ Object.assign(routerMap, routerResource)
59
+ export default routerMap
@@ -1,27 +1,27 @@
1
- import { formatRoutes } from '@vue2-client/utils/routerUtil'
2
-
3
- // 不需要登录拦截的路由配置
4
- const loginIgnore = {
5
- names: ['404', '403'], // 根据路由名称匹配
6
- paths: ['/login', '/submitTicket'], // 根据路由fullPath匹配
7
- /**
8
- * 判断路由是否包含在该配置中
9
- * @param route vue-router 的 route 对象
10
- * @returns {boolean}
11
- */
12
- includes (route) {
13
- return this.names.includes(route.name) || this.paths.includes(route.path)
14
- }
15
- }
16
-
17
- /**
18
- * 初始化路由实例
19
- * @param isAsync 是否异步路由模式
20
- * @returns {RouterOptions}
21
- */
22
- function initRouter (isAsync) {
23
- const options = require('./async/config.async').default
24
- formatRoutes(options.routes)
25
- return options
26
- }
27
- export { loginIgnore, initRouter }
1
+ import { formatRoutes } from '@vue2-client/utils/routerUtil'
2
+
3
+ // 不需要登录拦截的路由配置
4
+ const loginIgnore = {
5
+ names: ['404', '403'], // 根据路由名称匹配
6
+ paths: ['/login', '/submitTicket'], // 根据路由fullPath匹配
7
+ /**
8
+ * 判断路由是否包含在该配置中
9
+ * @param route vue-router 的 route 对象
10
+ * @returns {boolean}
11
+ */
12
+ includes (route) {
13
+ return this.names.includes(route.name) || this.paths.includes(route.path)
14
+ }
15
+ }
16
+
17
+ /**
18
+ * 初始化路由实例
19
+ * @param isAsync 是否异步路由模式
20
+ * @returns {RouterOptions}
21
+ */
22
+ function initRouter (isAsync) {
23
+ const options = require('./async/config.async').default
24
+ formatRoutes(options.routes)
25
+ return options
26
+ }
27
+ export { loginIgnore, initRouter }
package/vue.config.js CHANGED
@@ -1,143 +1,143 @@
1
- const path = require('path')
2
- const webpack = require('webpack')
3
- const ThemeColorReplacer = require('webpack-theme-color-replacer')
4
- const { getThemeColors, modifyVars } = require('./src/utils/themeUtil')
5
- const { resolveCss } = require('./src/utils/theme-color-replacer-extend')
6
- const CompressionWebpackPlugin = require('compression-webpack-plugin')
7
-
8
- const productionGzipExtensions = ['js', 'css']
9
- const isProd = process.env.NODE_ENV === 'production'
10
-
11
- const assetsCDN = {
12
- // webpack build externals
13
- externals: {
14
- vue: 'Vue',
15
- 'vue-router': 'VueRouter',
16
- vuex: 'Vuex',
17
- axios: 'axios',
18
- nprogress: 'NProgress',
19
- clipboard: 'ClipboardJS',
20
- '@antv/data-set': 'DataSet',
21
- 'js-cookie': 'Cookies'
22
- },
23
- css: [
24
- ],
25
- js: [
26
- '//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js',
27
- '//cdn.jsdelivr.net/npm/vue-router@3.3.4/dist/vue-router.min.js',
28
- '//cdn.jsdelivr.net/npm/vuex@3.4.0/dist/vuex.min.js',
29
- '//cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js',
30
- '//cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.min.js',
31
- '//cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js',
32
- '//cdn.jsdelivr.net/npm/@antv/data-set@0.11.4/build/data-set.min.js',
33
- '//cdn.jsdelivr.net/npm/js-cookie@2.2.1/src/js.cookie.min.js'
34
- ]
35
- }
36
-
37
- const server = 'http://121.36.106.17:8400'
38
- const local = 'http://localhost:8445/webmeter'
39
- // const local = 'http://123.60.214.109:8405/webmeter'
40
-
41
- module.exports = {
42
- devServer: {
43
- // development server port 8000
44
- port: 8001,
45
- // If you want to turn on the proxy, please remove the mockjs /src/main.jsL11
46
- proxy: {
47
- '/rs': {
48
- target: server,
49
- ws: false,
50
- changeOrigin: true
51
- },
52
- '/image': {
53
- target: server,
54
- ws: false,
55
- changeOrigin: true
56
- },
57
- '/webapps': {
58
- target: server,
59
- ws: false,
60
- changeOrigin: true
61
- },
62
- '/webmeterapi': {
63
- pathRewrite: { '^/webmeterapi': '/rs/logic' },
64
- target: local,
65
- changeOrigin: true
66
- },
67
- '/webmeteruploadapi': {
68
- pathRewrite: { '^/webmeteruploadapi': '/rs/file' },
69
- target: local,
70
- changeOrigin: true
71
- }
72
- }
73
- },
74
- pluginOptions: {
75
- 'style-resources-loader': {
76
- preProcessor: 'less',
77
- patterns: [path.resolve(__dirname, './src/theme/theme.less')]
78
- }
79
- },
80
- configureWebpack: config => {
81
- config.entry.app = ['babel-polyfill', 'whatwg-fetch', './src/main.js']
82
- config.performance = {
83
- hints: false
84
- }
85
- config.plugins.push(
86
- new ThemeColorReplacer({
87
- fileName: 'css/theme-colors-[contenthash:8].css',
88
- matchColors: getThemeColors(),
89
- injectCss: true,
90
- resolveCss
91
- })
92
- )
93
- // Ignore all locale files of moment.js
94
- config.plugins.push(new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/))
95
- // 生产环境下将资源压缩成gzip格式
96
- if (isProd) {
97
- // add `CompressionWebpack` plugin to webpack plugins
98
- config.plugins.push(new CompressionWebpackPlugin({
99
- algorithm: 'gzip',
100
- test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'),
101
- threshold: 10240,
102
- minRatio: 0.8
103
- }))
104
- }
105
- // if prod, add externals
106
- // if (isProd) {
107
- // config.externals = assetsCDN.externals
108
- // }
109
- },
110
- chainWebpack: config => {
111
- // 生产环境下关闭css压缩的 colormin 项,因为此项优化与主题色替换功能冲突
112
- if (isProd) {
113
- config.plugin('optimize-css')
114
- .tap(args => {
115
- args[0].cssnanoOptions.preset[1].colormin = false
116
- return args
117
- })
118
- }
119
- // 生产环境下使用CDN
120
- // if (isProd) {
121
- // config.plugin('html')
122
- // .tap(args => {
123
- // args[0].cdn = assetsCDN
124
- // return args
125
- // })
126
- // }
127
- config.resolve.alias.set('@vue2-client', path.resolve(__dirname, 'src'))
128
- },
129
- css: {
130
- loaderOptions: {
131
- less: {
132
- lessOptions: {
133
- modifyVars: modifyVars(),
134
- javascriptEnabled: true
135
- }
136
- }
137
- }
138
- },
139
- publicPath: process.env.VUE_APP_PUBLIC_PATH,
140
- outputDir: 'dist',
141
- assetsDir: 'static',
142
- productionSourceMap: false
143
- }
1
+ const path = require('path')
2
+ const webpack = require('webpack')
3
+ const ThemeColorReplacer = require('webpack-theme-color-replacer')
4
+ const { getThemeColors, modifyVars } = require('./src/utils/themeUtil')
5
+ const { resolveCss } = require('./src/utils/theme-color-replacer-extend')
6
+ const CompressionWebpackPlugin = require('compression-webpack-plugin')
7
+
8
+ const productionGzipExtensions = ['js', 'css']
9
+ const isProd = process.env.NODE_ENV === 'production'
10
+
11
+ // const assetsCDN = {
12
+ // // webpack build externals
13
+ // externals: {
14
+ // vue: 'Vue',
15
+ // 'vue-router': 'VueRouter',
16
+ // vuex: 'Vuex',
17
+ // axios: 'axios',
18
+ // nprogress: 'NProgress',
19
+ // clipboard: 'ClipboardJS',
20
+ // '@antv/data-set': 'DataSet',
21
+ // 'js-cookie': 'Cookies'
22
+ // },
23
+ // css: [
24
+ // ],
25
+ // js: [
26
+ // '//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js',
27
+ // '//cdn.jsdelivr.net/npm/vue-router@3.3.4/dist/vue-router.min.js',
28
+ // '//cdn.jsdelivr.net/npm/vuex@3.4.0/dist/vuex.min.js',
29
+ // '//cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js',
30
+ // '//cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.min.js',
31
+ // '//cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js',
32
+ // '//cdn.jsdelivr.net/npm/@antv/data-set@0.11.4/build/data-set.min.js',
33
+ // '//cdn.jsdelivr.net/npm/js-cookie@2.2.1/src/js.cookie.min.js'
34
+ // ]
35
+ // }
36
+
37
+ const server = 'http://121.36.106.17:8400'
38
+ const local = 'http://localhost:8445/webmeter'
39
+ // const local = 'http://123.60.214.109:8405/webmeter'
40
+
41
+ module.exports = {
42
+ devServer: {
43
+ // development server port 8000
44
+ port: 8001,
45
+ // If you want to turn on the proxy, please remove the mockjs /src/main.jsL11
46
+ proxy: {
47
+ '/rs': {
48
+ target: server,
49
+ ws: false,
50
+ changeOrigin: true
51
+ },
52
+ '/image': {
53
+ target: server,
54
+ ws: false,
55
+ changeOrigin: true
56
+ },
57
+ '/webapps': {
58
+ target: server,
59
+ ws: false,
60
+ changeOrigin: true
61
+ },
62
+ '/webmeterapi': {
63
+ pathRewrite: { '^/webmeterapi': '/rs/logic' },
64
+ target: local,
65
+ changeOrigin: true
66
+ },
67
+ '/webmeteruploadapi': {
68
+ pathRewrite: { '^/webmeteruploadapi': '/rs/file' },
69
+ target: local,
70
+ changeOrigin: true
71
+ }
72
+ }
73
+ },
74
+ pluginOptions: {
75
+ 'style-resources-loader': {
76
+ preProcessor: 'less',
77
+ patterns: [path.resolve(__dirname, './src/theme/theme.less')]
78
+ }
79
+ },
80
+ configureWebpack: config => {
81
+ config.entry.app = ['babel-polyfill', 'whatwg-fetch', './src/main.js']
82
+ config.performance = {
83
+ hints: false
84
+ }
85
+ config.plugins.push(
86
+ new ThemeColorReplacer({
87
+ fileName: 'css/theme-colors-[contenthash:8].css',
88
+ matchColors: getThemeColors(),
89
+ injectCss: true,
90
+ resolveCss
91
+ })
92
+ )
93
+ // Ignore all locale files of moment.js
94
+ config.plugins.push(new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/))
95
+ // 生产环境下将资源压缩成gzip格式
96
+ if (isProd) {
97
+ // add `CompressionWebpack` plugin to webpack plugins
98
+ config.plugins.push(new CompressionWebpackPlugin({
99
+ algorithm: 'gzip',
100
+ test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'),
101
+ threshold: 10240,
102
+ minRatio: 0.8
103
+ }))
104
+ }
105
+ // if prod, add externals
106
+ // if (isProd) {
107
+ // config.externals = assetsCDN.externals
108
+ // }
109
+ },
110
+ chainWebpack: config => {
111
+ // 生产环境下关闭css压缩的 colormin 项,因为此项优化与主题色替换功能冲突
112
+ if (isProd) {
113
+ config.plugin('optimize-css')
114
+ .tap(args => {
115
+ args[0].cssnanoOptions.preset[1].colormin = false
116
+ return args
117
+ })
118
+ }
119
+ // 生产环境下使用CDN
120
+ // if (isProd) {
121
+ // config.plugin('html')
122
+ // .tap(args => {
123
+ // args[0].cdn = assetsCDN
124
+ // return args
125
+ // })
126
+ // }
127
+ config.resolve.alias.set('@vue2-client', path.resolve(__dirname, 'src'))
128
+ },
129
+ css: {
130
+ loaderOptions: {
131
+ less: {
132
+ lessOptions: {
133
+ modifyVars: modifyVars(),
134
+ javascriptEnabled: true
135
+ }
136
+ }
137
+ }
138
+ },
139
+ publicPath: process.env.VUE_APP_PUBLIC_PATH,
140
+ outputDir: 'dist',
141
+ assetsDir: 'static',
142
+ productionSourceMap: false
143
+ }