apply-clients 3.4.1 → 3.4.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.
- package/build/css-loaders.js +34 -0
- package/build/dev-android.js +101 -0
- package/build/dev-client.js +8 -0
- package/build/dev-server-app.js +76 -0
- package/build/dev-server.js +119 -0
- package/build/example-server.js +80 -0
- package/build/release.sh +28 -0
- package/build/utils.js +80 -0
- package/build/webpack.base.conf.js +84 -0
- package/build/webpack.baseandroid.conf.js +84 -0
- package/build/webpack.dev.conf.js +39 -0
- package/build/webpack.devandroid.conf.js +34 -0
- package/build/webpack.example.conf.js +49 -0
- package/build/webpack.prod.conf.js +60 -0
- package/build/webpack.prodandroid.conf.js +60 -0
- package/build/webpack.test.conf.js +31 -0
- package/package.json +1 -1
- package/src/AndroidApp.vue +2 -2
- package/src/applyAndroid.js +1 -0
- package/src/components/android/AppSign.vue +3 -3
- package/src/components/build/Install/ExplorationUser.vue +304 -0
- package/src/components/build/Install/Process/zhongran/ZR_Design.vue +537 -0
- package/src/components/product/Process/Service/ServiceControl.vue +10 -10
- package/src/filiale/yuchuan/android/Process/AppServiceControl.vue +221 -38
- package/src/filiale/yuchuan/android/Process/Processes/AppInstallationDetails.vue +85 -15
- package/src/filiale/yuchuan/android/Process/Processes/AppInstallationDetailsCivil.vue +650 -0
- package/src/filiale/yuchuan/android/Sign/AppSignTask.vue +182 -0
- package/src/filiale/yuchuan/android/Sign/BuildSign.vue +50 -0
- package/src/filiale/yuchuan/android/Sign/ConstructSign.vue +50 -0
- package/src/filiale/yuchuan/android/Sign/DesignSign.vue +50 -0
- package/src/filiale/yuchuan/android/Sign/SupervisorSign.vue +50 -0
- package/src/filiale/yuchuan/android/Task/Build/BuildTsak.vue +60 -0
- package/src/filiale/yuchuan/android/Task/Survey/SurveyTsak.vue +1 -1
- package/src/filiale/yuchuan/android.js +8 -1
- package/src/filiale/yuchuan/pc/Process/ExplorationUser.vue +3 -1
- package/src/filiale/yuchuan/pc/Process/Processes/ApplyMapCom.vue +1 -0
- package/src/filiale/yuchuan/pc/Process/Processes/InstallationDetails.vue +60 -10
- package/src/filiale/yuchuan/pc/Process/Processes/InstallationDetailsCivil.vue +595 -0
- package/src/filiale/yuchuan/pc/Process/Service/ServiceControl.vue +208 -13
- package/src/filiale/yuchuan/pc.js +2 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var ExtractTextPlugin = require('extract-text-webpack-plugin')
|
|
2
|
+
|
|
3
|
+
module.exports = function (options) {
|
|
4
|
+
// generate loader string to be used with extract text plugin
|
|
5
|
+
function generateLoaders (loaders) {
|
|
6
|
+
var sourceLoader = loaders.map(function (loader) {
|
|
7
|
+
var extraParamChar
|
|
8
|
+
if (/\?/.test (loader)) {
|
|
9
|
+
loader = loader.replace(/\?/, '-loader?')
|
|
10
|
+
extraParamChar = '&'
|
|
11
|
+
} else {
|
|
12
|
+
loader = loader + '-loader'
|
|
13
|
+
extraParamChar = '?'
|
|
14
|
+
}
|
|
15
|
+
return loader + (options.sourceMap ? extraParamChar + 'sourceMap' : '')
|
|
16
|
+
}).join('!')
|
|
17
|
+
|
|
18
|
+
if (options.extract) {
|
|
19
|
+
return ExtractTextPlugin.extract('vue-style-loader', sourceLoader)
|
|
20
|
+
} else {
|
|
21
|
+
return ['vue-style-loader', sourceLoader].join('!')
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// http://vuejs.github.io/vue-loader/configurations/extract-css.html
|
|
26
|
+
return {
|
|
27
|
+
css: generateLoaders(['css']),
|
|
28
|
+
less: generateLoaders(['css', 'less']),
|
|
29
|
+
sass: generateLoaders(['css', 'sass?indentedSyntax']),
|
|
30
|
+
scss: generateLoaders(['css', 'sass']),
|
|
31
|
+
stylus: generateLoaders(['css', 'stylus']),
|
|
32
|
+
styl: generateLoaders(['css', 'stylus'])
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
var express = require('express')
|
|
2
|
+
var webpack = require('webpack')
|
|
3
|
+
var config = require('./webpack.devandroid.conf')
|
|
4
|
+
var proxyMiddleware = require('http-proxy-middleware')
|
|
5
|
+
var http = require('http')
|
|
6
|
+
// var httpProxy = require('http-proxy')
|
|
7
|
+
|
|
8
|
+
var app = express()
|
|
9
|
+
var compiler = webpack(config)
|
|
10
|
+
// var proxy = httpProxy.createProxyServer()
|
|
11
|
+
|
|
12
|
+
// Define HTTP proxies to your custom API backend
|
|
13
|
+
// https://github.com/chimurai/http-proxy-middleware
|
|
14
|
+
var proxyTable = {
|
|
15
|
+
// '/materials': {
|
|
16
|
+
// target: 'http://192.168.50.202:8081'
|
|
17
|
+
// },
|
|
18
|
+
// '/images': {
|
|
19
|
+
// // target: 'http://192.168.50.202:8081'
|
|
20
|
+
// target: 'http://192.168.50.202:8081'
|
|
21
|
+
// },
|
|
22
|
+
// '/rs/user': {
|
|
23
|
+
// target: 'http://192.168.50.202:8081'
|
|
24
|
+
// // target: 'http://127.0.0.1:82'
|
|
25
|
+
// },
|
|
26
|
+
// '/SaleRest/rs': {
|
|
27
|
+
// // target: 'http://127.0.0.1:8082'
|
|
28
|
+
// target: 'http://127.0.0.1:8081/'
|
|
29
|
+
// },
|
|
30
|
+
// '/rs/db': {
|
|
31
|
+
// // target: 'http://192.168.50.202:8081'
|
|
32
|
+
// target: 'http://192.168.50.202:8081'
|
|
33
|
+
// },
|
|
34
|
+
// '/excel': {
|
|
35
|
+
// // target: 'http://127.0.0.1:8082'
|
|
36
|
+
// target: 'http://127.0.0.1:8081/'
|
|
37
|
+
// },
|
|
38
|
+
'/rs': {
|
|
39
|
+
// target: 'http://127.0.0.1:8082'
|
|
40
|
+
target: 'http://127.0.0.1:8077'
|
|
41
|
+
},
|
|
42
|
+
'/AndroidRest/rs': {
|
|
43
|
+
// // target: 'http://127.0.0.1:8082'
|
|
44
|
+
target: 'http://127.0.0.1:8077'
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
var devMiddleware = require('webpack-dev-middleware')(compiler, {
|
|
49
|
+
publicPath: config.output.publicPath,
|
|
50
|
+
stats: {
|
|
51
|
+
colors: true,
|
|
52
|
+
chunks: false
|
|
53
|
+
}
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
var hotMiddleware = require('webpack-hot-middleware')(compiler)
|
|
57
|
+
// force page reload when html-webpack-plugin template changes
|
|
58
|
+
compiler.plugin('compilation', function (compilation) {
|
|
59
|
+
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
|
|
60
|
+
hotMiddleware.publish({ action: 'reload' })
|
|
61
|
+
cb()
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
// handle fallback for HTML5 history API
|
|
66
|
+
app.use(require('connect-history-api-fallback')())
|
|
67
|
+
|
|
68
|
+
// serve webpack bundle output
|
|
69
|
+
app.use(devMiddleware)
|
|
70
|
+
|
|
71
|
+
// enable hot-reload and state-preserving
|
|
72
|
+
// compilation error display
|
|
73
|
+
app.use(hotMiddleware)
|
|
74
|
+
|
|
75
|
+
// serve pure static assets
|
|
76
|
+
app.use('/static', express.static('./static'))
|
|
77
|
+
|
|
78
|
+
// proxy api requests
|
|
79
|
+
Object.keys(proxyTable).forEach(function (context) {
|
|
80
|
+
var options = proxyTable[context]
|
|
81
|
+
if (typeof options === 'string') {
|
|
82
|
+
options = { target: options }
|
|
83
|
+
}
|
|
84
|
+
// 改变源实现跨域
|
|
85
|
+
//options.changeOrigin = true
|
|
86
|
+
Object.assign(options, {
|
|
87
|
+
onProxyRes(proxyRes, req, res) {
|
|
88
|
+
// res.header('Access-Control-Allow-Origin', '*')
|
|
89
|
+
// res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
|
|
90
|
+
}
|
|
91
|
+
})
|
|
92
|
+
app.use(proxyMiddleware(context, options))
|
|
93
|
+
})
|
|
94
|
+
|
|
95
|
+
app.listen(8082, function (err) {
|
|
96
|
+
if (err) {
|
|
97
|
+
console.log(err)
|
|
98
|
+
return
|
|
99
|
+
}
|
|
100
|
+
console.log('Listening at http://localhost:8082')
|
|
101
|
+
})
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
var express = require('express')
|
|
2
|
+
var webpack = require('webpack')
|
|
3
|
+
var config = require('./webpack.dev.conf')
|
|
4
|
+
var proxyMiddleware = require('http-proxy-middleware')
|
|
5
|
+
// var httpProxy = require('http-proxy')
|
|
6
|
+
var app = express()
|
|
7
|
+
var compiler = webpack(config)
|
|
8
|
+
// var proxy = httpProxy.createProxyServer()
|
|
9
|
+
|
|
10
|
+
// Define HTTP proxies to your custom API backend
|
|
11
|
+
// https://github.com/chimurai/http-proxy-middleware
|
|
12
|
+
var proxyTable = {
|
|
13
|
+
'/rs': {
|
|
14
|
+
target: 'http://192.168.30.94:8555'
|
|
15
|
+
// target: 'http://192.168.30.86:8077'
|
|
16
|
+
},
|
|
17
|
+
'/AndroidRest/rs': {
|
|
18
|
+
target: 'http://192.168.30.94:8555'
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
var devMiddleware = require('webpack-dev-middleware')(compiler, {
|
|
23
|
+
publicPath: config.output.publicPath,
|
|
24
|
+
stats: {
|
|
25
|
+
colors: true,
|
|
26
|
+
chunks: false
|
|
27
|
+
}
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
var hotMiddleware = require('webpack-hot-middleware')(compiler)
|
|
31
|
+
// force page reload when html-webpack-plugin template changes
|
|
32
|
+
compiler.plugin('compilation', function (compilation) {
|
|
33
|
+
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
|
|
34
|
+
hotMiddleware.publish({action: 'reload'})
|
|
35
|
+
cb()
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
// proxy api requests
|
|
40
|
+
Object.keys(proxyTable).forEach(function (context) {
|
|
41
|
+
var options = proxyTable[context]
|
|
42
|
+
if (typeof options === 'string') {
|
|
43
|
+
options = {target: options}
|
|
44
|
+
}
|
|
45
|
+
app.use(proxyMiddleware(context, options))
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
// handle fallback for HTML5 history API
|
|
49
|
+
app.use(require('connect-history-api-fallback')())
|
|
50
|
+
// app.use(function (req, res, next) {
|
|
51
|
+
// res.header('Access-Control-Allow-Origin', '*')
|
|
52
|
+
// res.header('Access-Control-Allow-Headers', 'X-Requested-With')
|
|
53
|
+
// res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
|
|
54
|
+
// res.header('X-Powered-By', '3,2,1')
|
|
55
|
+
// res.header('Access-Control-Allow-Credentials', 'true')
|
|
56
|
+
// res.header('Content-Type', 'application/json;charset=utf-8')
|
|
57
|
+
// next()
|
|
58
|
+
// })
|
|
59
|
+
|
|
60
|
+
// serve webpack bundle output
|
|
61
|
+
app.use(devMiddleware)
|
|
62
|
+
|
|
63
|
+
// enable hot-reload and state-preserving
|
|
64
|
+
// compilation error display
|
|
65
|
+
app.use(hotMiddleware)
|
|
66
|
+
|
|
67
|
+
// serve pure static assets
|
|
68
|
+
app.use('/static', express.static('./static'))
|
|
69
|
+
|
|
70
|
+
module.exports = app.listen(8089, function (err) {
|
|
71
|
+
if (err) {
|
|
72
|
+
console.log(err)
|
|
73
|
+
return
|
|
74
|
+
}
|
|
75
|
+
console.log('Listening at http://localhost:8089')
|
|
76
|
+
})
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
var express = require('express')
|
|
2
|
+
var webpack = require('webpack')
|
|
3
|
+
var config = require('./webpack.dev.conf')
|
|
4
|
+
var proxyMiddleware = require('http-proxy-middleware')
|
|
5
|
+
// var httpProxy = require('http-proxy')
|
|
6
|
+
var app = express()
|
|
7
|
+
var compiler = webpack(config)
|
|
8
|
+
// var proxy = httpProxy.createProxyServer()
|
|
9
|
+
// var ldap = 'http://121.36.79.201:8400'
|
|
10
|
+
// var applyinstall = 'http://121.36.79.201:8400'
|
|
11
|
+
var ldap = 'http://192.168.50.4:8400'
|
|
12
|
+
var applyinstall = 'http://127.0.0.1:8080'
|
|
13
|
+
|
|
14
|
+
var proxyTable = {
|
|
15
|
+
'/rs/logic/getSaleInitData': {
|
|
16
|
+
target: ldap
|
|
17
|
+
},
|
|
18
|
+
'/rs/workflow': {
|
|
19
|
+
target: applyinstall
|
|
20
|
+
},
|
|
21
|
+
'/rs/vue': {
|
|
22
|
+
target: ldap
|
|
23
|
+
},
|
|
24
|
+
// 查找资源服务数据
|
|
25
|
+
'/rs/search': {
|
|
26
|
+
target: ldap
|
|
27
|
+
},
|
|
28
|
+
// 街道查询
|
|
29
|
+
'/rs/sql/address_getstreetlist': {
|
|
30
|
+
target: ldap
|
|
31
|
+
},
|
|
32
|
+
// 创建街道
|
|
33
|
+
'/rs/logic/address_updatestreet': {
|
|
34
|
+
target: ldap
|
|
35
|
+
},
|
|
36
|
+
// 创建小区
|
|
37
|
+
'/rs/logic/address_updatearea': {
|
|
38
|
+
target: ldap
|
|
39
|
+
},
|
|
40
|
+
// 用户登录服务地址
|
|
41
|
+
'/rs/user': {
|
|
42
|
+
target: ldap
|
|
43
|
+
},
|
|
44
|
+
'/rs/logic/getInitData': {
|
|
45
|
+
target: ldap?ldap:applyinstall
|
|
46
|
+
},
|
|
47
|
+
'/rs/logic/getLogin': {
|
|
48
|
+
target: ldap
|
|
49
|
+
},
|
|
50
|
+
'/rs/file': { // 文件上传
|
|
51
|
+
target: applyinstall
|
|
52
|
+
},
|
|
53
|
+
'/project': { // 文件回显
|
|
54
|
+
target: applyinstall
|
|
55
|
+
},
|
|
56
|
+
'/rs': {
|
|
57
|
+
target: applyinstall
|
|
58
|
+
},
|
|
59
|
+
'/ws': {
|
|
60
|
+
target: applyinstall,
|
|
61
|
+
ws: true // 代理webSocket
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
var devMiddleware = require('webpack-dev-middleware')(compiler, {
|
|
66
|
+
publicPath: config.output.publicPath,
|
|
67
|
+
stats: {
|
|
68
|
+
colors: true,
|
|
69
|
+
chunks: false
|
|
70
|
+
}
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
var hotMiddleware = require('webpack-hot-middleware')(compiler)
|
|
74
|
+
// force page reload when html-webpack-plugin template changes
|
|
75
|
+
compiler.plugin('compilation', function (compilation) {
|
|
76
|
+
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
|
|
77
|
+
hotMiddleware.publish({action: 'reload'})
|
|
78
|
+
cb()
|
|
79
|
+
})
|
|
80
|
+
})
|
|
81
|
+
|
|
82
|
+
// proxy api requests
|
|
83
|
+
Object.keys(proxyTable).forEach(function (context) {
|
|
84
|
+
var options = proxyTable[context]
|
|
85
|
+
if (typeof options === 'string') {
|
|
86
|
+
options = {target: options}
|
|
87
|
+
}
|
|
88
|
+
app.use(proxyMiddleware(context, options))
|
|
89
|
+
})
|
|
90
|
+
|
|
91
|
+
// handle fallback for HTML5 history API
|
|
92
|
+
app.use(require('connect-history-api-fallback')())
|
|
93
|
+
// app.use(function (req, res, next) {
|
|
94
|
+
// res.header('Access-Control-Allow-Origin', '*')
|
|
95
|
+
// res.header('Access-Control-Allow-Headers', 'X-Requested-With')
|
|
96
|
+
// res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
|
|
97
|
+
// res.header('X-Powered-By', '3,2,1')
|
|
98
|
+
// res.header('Access-Control-Allow-Credentials', 'true')
|
|
99
|
+
// res.header('Content-Type', 'application/json;charset=utf-8')
|
|
100
|
+
// next()
|
|
101
|
+
// })
|
|
102
|
+
|
|
103
|
+
// serve webpack bundle output
|
|
104
|
+
app.use(devMiddleware)
|
|
105
|
+
|
|
106
|
+
// enable hot-reload and state-preserving
|
|
107
|
+
// compilation error display
|
|
108
|
+
app.use(hotMiddleware)
|
|
109
|
+
|
|
110
|
+
// serve pure static assets
|
|
111
|
+
app.use('/static', express.static('./static'))
|
|
112
|
+
|
|
113
|
+
module.exports = app.listen(8300, function (err) {
|
|
114
|
+
if (err) {
|
|
115
|
+
console.log(err)
|
|
116
|
+
return
|
|
117
|
+
}
|
|
118
|
+
console.log('Listening at http://localhost:8300')
|
|
119
|
+
})
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
var express = require('express')
|
|
2
|
+
var webpack = require('webpack')
|
|
3
|
+
var config = require('./webpack.example.conf')
|
|
4
|
+
var proxyMiddleware = require('http-proxy-middleware')
|
|
5
|
+
var httpProxy = require('http-proxy')
|
|
6
|
+
|
|
7
|
+
var app = express()
|
|
8
|
+
var compiler = webpack(config)
|
|
9
|
+
var proxy = httpProxy.createProxyServer()
|
|
10
|
+
|
|
11
|
+
// Define HTTP proxies to your custom API backend
|
|
12
|
+
// https://github.com/chimurai/http-proxy-middleware
|
|
13
|
+
var proxyTable = {
|
|
14
|
+
// '/api': {
|
|
15
|
+
// target: 'http://jsonplaceholder.typicode.com',
|
|
16
|
+
// changeOrigin: true,
|
|
17
|
+
// pathRewrite: {
|
|
18
|
+
// '^/api': ''
|
|
19
|
+
// }
|
|
20
|
+
// }
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var devMiddleware = require('webpack-dev-middleware')(compiler, {
|
|
24
|
+
publicPath: config.output.publicPath,
|
|
25
|
+
stats: {
|
|
26
|
+
colors: true,
|
|
27
|
+
chunks: false
|
|
28
|
+
}
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
var hotMiddleware = require('webpack-hot-middleware')(compiler)
|
|
32
|
+
// force page reload when html-webpack-plugin template changes
|
|
33
|
+
compiler.plugin('compilation', function (compilation) {
|
|
34
|
+
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
|
|
35
|
+
hotMiddleware.publish({ action: 'reload' })
|
|
36
|
+
cb()
|
|
37
|
+
})
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
// proxy api requests
|
|
41
|
+
Object.keys(proxyTable).forEach(function (context) {
|
|
42
|
+
var options = proxyTable[context]
|
|
43
|
+
if (typeof options === 'string') {
|
|
44
|
+
options = { target: options }
|
|
45
|
+
}
|
|
46
|
+
app.use(proxyMiddleware(context, options))
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
// handle fallback for HTML5 history API
|
|
50
|
+
app.use(require('connect-history-api-fallback')())
|
|
51
|
+
|
|
52
|
+
// serve webpack bundle output
|
|
53
|
+
app.use(devMiddleware)
|
|
54
|
+
|
|
55
|
+
// enable hot-reload and state-preserving
|
|
56
|
+
// compilation error display
|
|
57
|
+
app.use(hotMiddleware)
|
|
58
|
+
|
|
59
|
+
// serve pure static assets
|
|
60
|
+
app.use('/static', express.static('./static'))
|
|
61
|
+
|
|
62
|
+
// app.all('/images/*', function (req, res) {
|
|
63
|
+
// proxy.web(req, res, {
|
|
64
|
+
// target: 'http://127.0.0.1:82'
|
|
65
|
+
// })
|
|
66
|
+
// })
|
|
67
|
+
//
|
|
68
|
+
// app.all('/*', function (req, res) {
|
|
69
|
+
// proxy.web(req, res, {
|
|
70
|
+
// target: 'http://127.0.0.1:8082'
|
|
71
|
+
// })
|
|
72
|
+
// })
|
|
73
|
+
|
|
74
|
+
module.exports = app.listen(8081, function (err) {
|
|
75
|
+
if (err) {
|
|
76
|
+
console.log(err)
|
|
77
|
+
return
|
|
78
|
+
}
|
|
79
|
+
console.log('Listening at http://localhost:8081')
|
|
80
|
+
})
|
package/build/release.sh
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
set -e
|
|
2
|
+
echo "Enter release version: "
|
|
3
|
+
read VERSION
|
|
4
|
+
|
|
5
|
+
read -p "Releasing $VERSION - are you sure? (y/n)" -n 1 -r
|
|
6
|
+
echo # (optional) move to a new line
|
|
7
|
+
if [[ $REPLY =~ ^[Yy]$ ]]
|
|
8
|
+
then
|
|
9
|
+
echo "Releasing $VERSION ..."
|
|
10
|
+
|
|
11
|
+
# lint
|
|
12
|
+
npm run lint 2>/dev/null
|
|
13
|
+
|
|
14
|
+
# e2e
|
|
15
|
+
npm run e2e 2>/dev/null
|
|
16
|
+
|
|
17
|
+
#build
|
|
18
|
+
npm run build
|
|
19
|
+
|
|
20
|
+
# commit
|
|
21
|
+
git add -A
|
|
22
|
+
git commit -m "[build] $VERSION"
|
|
23
|
+
npm version $VERSION --message "[release] $VERSION"
|
|
24
|
+
|
|
25
|
+
# publish
|
|
26
|
+
git push origin refs/tags/v$VERSION
|
|
27
|
+
git push
|
|
28
|
+
fi
|
package/build/utils.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
var path = require('path')
|
|
2
|
+
var config = require('../config')
|
|
3
|
+
var ExtractTextPlugin = require('extract-text-webpack-plugin')
|
|
4
|
+
|
|
5
|
+
exports.assetsPath = function (_path) {
|
|
6
|
+
var assetsSubDirectory = process.env.NODE_ENV === 'production'
|
|
7
|
+
? config.build.assetsSubDirectory
|
|
8
|
+
: config.dev.assetsSubDirectory
|
|
9
|
+
return path.posix.join(assetsSubDirectory, _path)
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
exports.cssLoaders = function (options) {
|
|
13
|
+
options = options || {}
|
|
14
|
+
|
|
15
|
+
var cssLoader = {
|
|
16
|
+
loader: 'css-loader',
|
|
17
|
+
options: {
|
|
18
|
+
minimize: process.env.NODE_ENV === 'production',
|
|
19
|
+
sourceMap: options.sourceMap
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
/* const px2remLoader = {
|
|
25
|
+
loader: 'px2rem-loader',
|
|
26
|
+
options: {
|
|
27
|
+
remUnit: 37.5
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
*/
|
|
31
|
+
// generate loader string to be used with extract text plugin
|
|
32
|
+
function generateLoaders (loader, loaderOptions) {
|
|
33
|
+
// const loaders = [cssLoader, px2remLoader]
|
|
34
|
+
var loaders = [cssLoader]
|
|
35
|
+
if (loader) {
|
|
36
|
+
loaders.push({
|
|
37
|
+
loader: loader + '-loader',
|
|
38
|
+
options: Object.assign({}, loaderOptions, {
|
|
39
|
+
sourceMap: options.sourceMap
|
|
40
|
+
})
|
|
41
|
+
})
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Extract CSS when that option is specified
|
|
45
|
+
// (which is the case during production build)
|
|
46
|
+
if (options.extract) {
|
|
47
|
+
return ExtractTextPlugin.extract({
|
|
48
|
+
use: loaders,
|
|
49
|
+
fallback: 'vue-style-loader'
|
|
50
|
+
})
|
|
51
|
+
} else {
|
|
52
|
+
return ['vue-style-loader'].concat(loaders)
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// https://vue-loader.vuejs.org/en/configurations/extract-css.html
|
|
57
|
+
return {
|
|
58
|
+
css: generateLoaders(),
|
|
59
|
+
postcss: generateLoaders(),
|
|
60
|
+
less: generateLoaders('less'),
|
|
61
|
+
sass: generateLoaders('sass', { indentedSyntax: true }),
|
|
62
|
+
scss: generateLoaders('sass'),
|
|
63
|
+
stylus: generateLoaders('stylus'),
|
|
64
|
+
styl: generateLoaders('stylus')
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Generate loaders for standalone style files (outside of .vue)
|
|
69
|
+
exports.styleLoaders = function (options) {
|
|
70
|
+
var output = []
|
|
71
|
+
var loaders = exports.cssLoaders(options)
|
|
72
|
+
for (var extension in loaders) {
|
|
73
|
+
var loader = loaders[extension]
|
|
74
|
+
output.push({
|
|
75
|
+
test: new RegExp('\\.' + extension + '$'),
|
|
76
|
+
use: loader
|
|
77
|
+
})
|
|
78
|
+
}
|
|
79
|
+
return output
|
|
80
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
var path = require('path')
|
|
2
|
+
var cssLoaders = require('./css-loaders')
|
|
3
|
+
var projectRoot = path.resolve(__dirname, '../')
|
|
4
|
+
|
|
5
|
+
module.exports = {
|
|
6
|
+
entry: {
|
|
7
|
+
app: './src/main.js',
|
|
8
|
+
'android-app': './src/android.js'
|
|
9
|
+
},
|
|
10
|
+
output: {
|
|
11
|
+
path: path.resolve(__dirname, '../dist/static'),
|
|
12
|
+
publicPath: 'static/',
|
|
13
|
+
filename: '[name].js'
|
|
14
|
+
},
|
|
15
|
+
resolve: {
|
|
16
|
+
extensions: ['', '.js', '.vue'],
|
|
17
|
+
fallback: [path.join(__dirname, '../node_modules')],
|
|
18
|
+
alias: {
|
|
19
|
+
'src': path.resolve(__dirname, '../src')
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
resolveLoader: {
|
|
23
|
+
fallback: [path.join(__dirname, '../node_modules')]
|
|
24
|
+
},
|
|
25
|
+
module: {
|
|
26
|
+
loaders: [
|
|
27
|
+
{
|
|
28
|
+
test: /\.vue$/,
|
|
29
|
+
loader: 'vue'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
test: /\.js$/,
|
|
33
|
+
loader: 'babel',
|
|
34
|
+
include: [
|
|
35
|
+
`${projectRoot}\\src`,
|
|
36
|
+
`${projectRoot}\\build`,
|
|
37
|
+
`${projectRoot}\\examples`,
|
|
38
|
+
`${projectRoot}\\test`,
|
|
39
|
+
`${projectRoot}\\node_modules\\vue-client\\src`,
|
|
40
|
+
`${projectRoot}\\node_modules\\vue-strap\\src`,
|
|
41
|
+
`${projectRoot}\\node_modules\\sale-client\\src`,
|
|
42
|
+
`${projectRoot}\\node_modules\\ldap-clients\\src`,
|
|
43
|
+
`${projectRoot}\\node_modules\\system-clients\\src`,
|
|
44
|
+
`${projectRoot}\\node_modules\\system-phone\\src`,
|
|
45
|
+
`${projectRoot}\\node_modules\\material-client\\src`
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
test: /\.json$/,
|
|
50
|
+
loader: 'json'
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
test: /\.html$/,
|
|
54
|
+
loader: 'vue-html'
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
test: /\.less$/,
|
|
58
|
+
loader: 'style!css!less'
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
test: /\.(png|jpg|gif|svg|woff2?|eot|ttf)(\?.*)?$/,
|
|
62
|
+
loader: 'url',
|
|
63
|
+
query: {
|
|
64
|
+
limit: 10000,
|
|
65
|
+
name: '[name].[ext]?[hash:7]'
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
test: /\.css/,
|
|
70
|
+
loader: 'style!css'
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
vue: {
|
|
75
|
+
loaders: cssLoaders({
|
|
76
|
+
sourceMap: false,
|
|
77
|
+
extract: false
|
|
78
|
+
})
|
|
79
|
+
},
|
|
80
|
+
plugins: [],
|
|
81
|
+
eslint: {
|
|
82
|
+
formatter: require('eslint-friendly-formatter')
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
//path is a built-in node.js module,
|
|
2
|
+
var path = require('path')
|
|
3
|
+
//css-loaders.js in the same directory
|
|
4
|
+
var cssLoaders = require('./css-loaders')
|
|
5
|
+
//__dirname The name of the directory that the currently executing script resides in.
|
|
6
|
+
var projectRoot = path.resolve(__dirname, '../')
|
|
7
|
+
|
|
8
|
+
module.exports = {
|
|
9
|
+
//entry point
|
|
10
|
+
entry: {
|
|
11
|
+
app: './src/android.js'
|
|
12
|
+
},
|
|
13
|
+
//output
|
|
14
|
+
output: {
|
|
15
|
+
//build output absolute directory
|
|
16
|
+
path: path.resolve(__dirname, '../dist-android/static'),
|
|
17
|
+
//public URL address of the output files when referenced in a browser
|
|
18
|
+
publicPath: './static/',
|
|
19
|
+
filename: '[name].js'
|
|
20
|
+
},
|
|
21
|
+
//resolve modules and files path
|
|
22
|
+
resolve: {
|
|
23
|
+
extensions: ['', '.js', '.vue'],
|
|
24
|
+
fallback: [path.join(__dirname, '../node_modules')],
|
|
25
|
+
alias: {
|
|
26
|
+
'src': path.resolve(__dirname, '../src')
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
//resolve loaders path
|
|
30
|
+
resolveLoader: {
|
|
31
|
+
fallback: [path.join(__dirname, '../node_modules')]
|
|
32
|
+
},
|
|
33
|
+
module: {
|
|
34
|
+
loaders: [
|
|
35
|
+
{
|
|
36
|
+
test: /\.vue$/,
|
|
37
|
+
loader: 'vue'
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
test: /\.js$/,
|
|
41
|
+
loader: 'babel',
|
|
42
|
+
include: [
|
|
43
|
+
`${projectRoot}\\src`,
|
|
44
|
+
`${projectRoot}\\build`,
|
|
45
|
+
`${projectRoot}\\examples`,
|
|
46
|
+
`${projectRoot}\\test`,
|
|
47
|
+
`${projectRoot}\\node_modules\\vue-client\\src`,
|
|
48
|
+
`${projectRoot}\\node_modules\\vue-strap\\src`,
|
|
49
|
+
`${projectRoot}\\node_modules\\system-phone\\src`
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
test: /\.json$/,
|
|
54
|
+
loader: 'json'
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
test: /\.html$/,
|
|
58
|
+
loader: 'vue-html'
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
test: /\.less$/,
|
|
62
|
+
loader: 'style!css!less'
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
test: /\.(png|jpg|gif|svg|woff2?|eot|ttf)(\?.*)?$/,
|
|
66
|
+
loader: 'url',
|
|
67
|
+
query: {
|
|
68
|
+
limit: 10000,
|
|
69
|
+
name: '[name].[ext]?[hash:7]'
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
vue: {
|
|
75
|
+
loaders: cssLoaders({
|
|
76
|
+
sourceMap: false,
|
|
77
|
+
extract: false
|
|
78
|
+
})
|
|
79
|
+
},
|
|
80
|
+
plugins: [],
|
|
81
|
+
eslint: {
|
|
82
|
+
formatter: require('eslint-friendly-formatter')
|
|
83
|
+
}
|
|
84
|
+
}
|