Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
max_android_panel
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Zhang Xin
max_android_panel
Commits
03f64bc2
Commit
03f64bc2
authored
May 08, 2019
by
Zhang Xin
Browse files
Options
Browse Files
Download
Plain Diff
fix 冲突 & merge from dev for 需求195 & bug 2950
parents
42699ffa
8cf361f6
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
460 additions
and
128 deletions
+460
-128
.gitignore
+1
-0
.vscode/launch.json
+15
-0
client/actions/ScanBarCode.js
+7
-3
client/actions/TokeStokeContainer.js
+3
-1
client/actions/barcodeCommon.js
+6
-4
client/actions/breakaegContainer.js
+7
-5
client/actions/chooseTaskContainer.js
+75
-25
client/actions/common.js
+39
-21
client/actions/getStore.js
+34
-19
client/actions/getTroubles.js
+4
-2
client/actions/recovery.js
+22
-14
client/actions/replenish.js
+5
-3
client/actions/uploadError.js
+5
-4
client/actions/userinfo.js
+69
-2
client/actiontype/store.js
+2
-0
client/components/CommonComponent/HeaderComponent/HeaderComponent.jsx
+30
-4
client/components/ReplenishComponent/ReplenishSkuPage/ReplenishSkuPage.jsx
+3
-1
client/config/socketType.js
+4
-1
client/containers/HomePageContainer/HomePageContainer.jsx
+18
-3
client/containers/PageContainer/PageContainer.jsx
+0
-0
client/css/font.css
+12
-0
client/index.js
+13
-2
client/reducers/store.js
+7
-1
client/util/logger.js
+1
-0
client/util/socket.js
+60
-9
package.json
+2
-2
webpack.config.js
+16
-2
No files found.
.gitignore
View file @
03f64bc2
...
...
@@ -6,4 +6,5 @@ static
.idea
package-lock.json
.map
.vscode
.vscode/launch.json
0 → 100644
View file @
03f64bc2
{
//
使用
IntelliSense
了解相关属性。
//
悬停以查看现有属性的描述。
//
欲了解更多信息,请访问
:
https
:
//go.microsoft.com/fwlink/?linkid=
830387
"version"
:
"0.2.0"
,
"configurations"
:
[
{
"type"
:
"node"
,
"request"
:
"launch"
,
"name"
:
"Launch Program"
,
"program"
:
"${workspaceFolder}
\\
index.js"
}
]
}
\ No newline at end of file
client/actions/ScanBarCode.js
View file @
03f64bc2
...
...
@@ -18,6 +18,7 @@ export function scanBarCodeGetProductInfo(postData) {
}).
then
((
response
)
=>
response
.
json
())
.
then
(
(
json
)
=>
{
UTILPATH
.
myLogger
.
info
(
"scanning_sku_barcode_for_add_loss_task response "
,
json
);
//处理数据如果
let
success
=
json
.
meta
.
success
;
if
(
success
){
...
...
@@ -27,7 +28,8 @@ export function scanBarCodeGetProductInfo(postData) {
}
}
).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"scanning_sku_barcode_for_add_loss_task error "
,
e
);
UTILPATH
.
myLogger
.
error
(
`scanning_sku_barcode_for_add_loss_task error
${
e
}
`
);
// dispatch(scanBarCodeGetProductInfo(postData))
})
}
}
...
...
@@ -47,15 +49,17 @@ export function submitProductInfo(postData) {
}).
then
((
response
)
=>
response
.
json
())
.
then
(
(
json
)
=>
{
UTILPATH
.
myLogger
.
info
(
"submit_add_loss_task response "
,
json
);
if
(
json
.
data
){
let
submit
=
{
"submit"
:
true
}
}
;
dispatch
(
submitProductSuccess
(
submit
))
}
}
).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"submit_add_loss_task error "
,
e
);
UTILPATH
.
myLogger
.
error
(
`submit_add_loss_task error
${
e
}
`
);
// dispatch(submitProductInfo(postData));
}
)
...
...
client/actions/TokeStokeContainer.js
View file @
03f64bc2
...
...
@@ -23,12 +23,14 @@ const checkProductQuantity = (data)=>{
body
:
JSON
.
stringify
(
bodyData
)
}).
then
(
response
=>
response
.
json
())
.
then
((
json
)
=>
{
UTILPATH
.
myLogger
.
info
(
"checkProductQuantity response "
,
json
);
if
(
json
.
data
===
1
){
dispatch
(
getTaskList
(
commonInfo
))
}
dispatch
(
checkQuantity
({
type
:
json
.
data
}))
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"checkProductQuantity error "
,
e
);
UTILPATH
.
myLogger
.
error
(
`checkProductQuantity error
${
e
}
`
);
// dispatch(checkProductQuantity(data))
})
}
...
...
client/actions/barcodeCommon.js
View file @
03f64bc2
...
...
@@ -10,10 +10,10 @@ const getBarCodeProductInfo = (data)=>{
let
{
taskInfo
=
{},
storeInfo
=
{}}
=
commonInfo
;
let
storeId
=
storeInfo
.
id
||
0
;
let
currentTaskType
=
taskInfo
.
currentTaskType
||
''
;
let
area
=
taskInfo
.
area
||
''
let
taskId
=
taskInfo
.
taskId
||
0
let
area
=
taskInfo
.
area
||
''
;
let
taskId
=
taskInfo
.
taskId
||
0
;
let
url
=
`
${
domain
}
machine_pad/barcode/
${
storeId
}
/
${
taskId
}
/
${
area
}
/
${
currentTaskType
}
/
${
barcode
}
`
;
UTILPATH
.
myLogger
.
info
(
"getBarCodeProductInfo url"
,
url
);
UTILPATH
.
myLogger
.
info
(
"getBarCodeProductInfo url
"
,
url
);
return
(
dispatch
)
=>
{
fetch
(
url
,{
credentials
:
'include'
,
...
...
@@ -21,6 +21,7 @@ const getBarCodeProductInfo = (data)=>{
mode
:
'cors'
}).
then
((
response
)
=>
response
.
json
())
.
then
((
json
)
=>
{
UTILPATH
.
myLogger
.
info
(
"getBarCodeProductInfo response "
,
json
);
if
(
!
json
.
meta
.
success
&&!
json
.
data
){
dispatch
(
saveProductInfo
(
json
.
meta
))
switch
(
taskInfo
.
currentTaskType
){
...
...
@@ -79,7 +80,8 @@ const getBarCodeProductInfo = (data)=>{
}
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"getBarCodeProductInfo error "
,
e
);
UTILPATH
.
myLogger
.
error
(
`getBarCodeProductInfo error
${
e
}
`
);
dispatch
(
getBarCodeProductInfo
(
data
));
})
}
...
...
client/actions/breakaegContainer.js
View file @
03f64bc2
...
...
@@ -18,8 +18,8 @@ const submitBreakageProduct = (data)=>{
let
{
skuPosition
,
skuId
,
skuStatus
,
area
}
=
productDetail
;
let
bodyData
=
{
skuPosition
,
skuId
,
skuStatus
,
machineId
,
taskId
,
area
}
let
url
=
domain
+
`machine_pad/lr/
${
userId
}
`
;
UTILPATH
.
myLogger
.
info
(
"submitBreakageProduct url"
,
url
);
UTILPATH
.
myLogger
.
info
(
"submitBreakageProduct request"
,
bodyData
);
UTILPATH
.
myLogger
.
info
(
"submitBreakageProduct url
"
,
url
);
UTILPATH
.
myLogger
.
info
(
"submitBreakageProduct request
"
,
bodyData
);
return
(
dispatch
)
=>
{
fetch
(
url
,{
// credentials : 'include',
...
...
@@ -32,9 +32,11 @@ const submitBreakageProduct = (data)=>{
body
:
JSON
.
stringify
(
bodyData
)
}).
then
((
response
)
=>
response
.
json
())
.
then
((
json
)
=>
{
UTILPATH
.
myLogger
.
info
(
"submitBreakageProduct response "
,
json
);
dispatch
(
getSubmitStatus
(
json
.
meta
))
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"submitBreakageProduct error "
,
e
);
UTILPATH
.
myLogger
.
error
(
`submitBreakageProduct error
${
e
}
`
);
// dispatch(submitBreakageProduct(data))
})
}
}
...
...
@@ -44,7 +46,7 @@ const submitBreakageProduct = (data)=>{
const
hasNoSku
=
(
commonInfo
)
=>
{
let
{
storeInfo
=
{},
userInfo
=
{},
taskInfo
=
{}}
=
commonInfo
;
let
url
=
`
${
domain
}
machine_pad/work/lr/status/
${
taskInfo
.
taskId
}
/
${
taskInfo
.
area
}
/
${
taskInfo
.
currentTaskType
}
`
;
UTILPATH
.
myLogger
.
info
(
"hasNoSku url"
,
url
);
UTILPATH
.
myLogger
.
info
(
"hasNoSku url
"
,
url
);
return
(
dispatch
)
=>
{
fetch
(
url
,{
// credentials : 'include',
...
...
@@ -55,7 +57,7 @@ const hasNoSku = (commonInfo)=>{
.
then
((
json
)
=>
{
dispatch
(
getTaskList
(
commonInfo
))
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"hasNoSku 没有散落货品 error "
,
e
);
UTILPATH
.
myLogger
.
error
(
`hasNoSku 没有散落货品 error
${
e
}
`
);
})
}
}
...
...
client/actions/chooseTaskContainer.js
View file @
03f64bc2
import
fetch
from
'isomorphic-fetch'
import
{
logout
,
getTaskList
,
saveCommonInfo
}
from
"./common"
;
import
{
logout
,
getTaskList
,
saveCommonInfo
,
emptyStoreInfo
}
from
"./common"
;
import
{
emit
}
from
"../util/event"
;
let
domain
=
ENV
.
domain
;
// let domain1='http://192.168.10.184:8080/maxbox/web/'
const
willCloseDoor
=
(
data
,
flag
=
false
)
=>
{
let
url
=
domain
+
`machine_pad/finish_task.action`
let
url
=
domain
+
`machine_pad/finish_task.action`
;
let
{
userInfo
,
taskInfo
,
storeInfo
}
=
data
;
let
userId
=
userInfo
.
employeeId
;
let
machineId
=
storeInfo
.
id
;
let
{
taskId
,
area
,
currentTaskType
}
=
taskInfo
;
let
bodyData
=
{
area
,
storeId
:
machineId
,
taskId
,
userId
,
taskType
:
currentTaskType
};
UTILPATH
.
myLogger
.
info
(
"finish_task url"
,
url
);
UTILPATH
.
myLogger
.
info
(
"finish_task request"
,
bodyData
);
return
(
dispatch
)
=>
{
fetch
(
url
,{
UTILPATH
.
myLogger
.
info
(
"finish_task url "
,
url
);
UTILPATH
.
myLogger
.
info
(
"finish_task flag "
,
flag
);
UTILPATH
.
myLogger
.
info
(
"finish_task request "
,
bodyData
);
return
async
(
dispatch
)
=>
{
let
success
=
(
json
)
=>
{
UTILPATH
.
myLogger
.
info
(
"finish_task response "
,
json
);
if
(
flag
){
//回收箱完成
dispatch
(
getTaskList
(
data
))
}
};
let
fail
=
(
err
)
=>
{
UTILPATH
.
myLogger
.
error
(
`finish_task error
${
err
}
`
);
};
try
{
let
result
=
await
fetch
(
url
,{
credentials
:
'include'
,
method
:
'POST'
,
mode
:
'cors'
,
...
...
@@ -21,32 +33,31 @@ const willCloseDoor=(data,flag=false)=>{
'Content-Type'
:
'application/json; charset=UTF-8'
},
body
:
JSON
.
stringify
(
bodyData
)
}).
then
((
response
)
=>
response
.
json
())
.
then
((
json
)
=>
{
if
(
flag
){
//回收箱完成
dispatch
(
getTaskList
(
data
))
}
else
{
//没有问题,完成任务
// dispatch(saveCommonInfo(Object.assign({},{taskInfo:{currentTaskType:'FINISH'}})))
}).
then
((
response
)
=>
response
.
json
());
return
success
(
result
)
}
catch
(
err
)
{
return
fail
(
err
)
}
// dispatch(closeDoorSuccess(data));
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"finish_task error "
,
e
);
})
}
}
/**
*
* @param data
* @param stopFlag 断电断网标志,true 断电断网中,
* @returns {Function}
*/
const
closeDoorSuccess
=
(
data
)
=>
{
const
closeDoorSuccess
=
(
data
,
stopFlag
=
false
)
=>
{
let
{
userInfo
,
taskInfo
,
storeInfo
}
=
data
;
let
userId
=
userInfo
.
employeeId
;
let
machineId
=
storeInfo
.
id
;
let
{
taskId
,
area
}
=
taskInfo
;
let
bodyData
=
{
storeId
:
machineId
,
taskId
,
area
,
userId
}
let
url
=
domain
+
'machine_pad/update_door_status.action'
;
UTILPATH
.
myLogger
.
info
(
"update_door_status url"
,
url
);
UTILPATH
.
myLogger
.
info
(
"update_door_status request"
,
bodyData
);
UTILPATH
.
myLogger
.
info
(
"update_door_status url "
,
url
);
UTILPATH
.
myLogger
.
info
(
"update_door_status request "
,
bodyData
);
UTILPATH
.
myLogger
.
info
(
"update_door_status stopFlag "
,
stopFlag
);
return
(
dispatch
)
=>
{
fetch
(
url
,{
credentials
:
'include'
,
...
...
@@ -59,10 +70,49 @@ const closeDoorSuccess=(data)=>{
body
:
JSON
.
stringify
(
bodyData
)
}).
then
((
response
)
=>
response
.
json
())
.
then
((
json
)
=>
{
dispatch
(
logout
())
UTILPATH
.
myLogger
.
info
(
"update_door_status response "
,
json
);
if
(
stopFlag
){
dispatch
(
askForNextTask
(
taskId
))
}
else
{
dispatch
(
logout
());
}
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
`update_door_status error
${
e
}
`
);
// dispatch(closeDoorSuccess(data));
})
}
};
const
askForNextTask
=
(
taskId
)
=>
{
let
url
=
domain
+
`machine_pad/power_cut_close_door/
${
taskId
}
`
;
UTILPATH
.
myLogger
.
info
(
"askForNextTask power_cut_close_door url "
,
url
);
return
(
dispatch
)
=>
{
fetch
(
url
,{
credentials
:
'include'
,
method
:
'POST'
,
mode
:
'cors'
,
headers
:{
'Access-Control-Allow-Origin'
:
'*'
,
'Content-Type'
:
'application/json; charset=UTF-8'
},
body
:
JSON
.
stringify
({})
}).
then
((
response
)
=>
response
.
json
())
.
then
((
json
)
=>
{
let
{
meta
=
{}}
=
json
;
UTILPATH
.
myLogger
.
info
(
"askForNextTask power_cut_close_door response "
,
json
);
if
(
meta
.
success
){
let
area
=
meta
.
message
;
dispatch
(
saveCommonInfo
(
Object
.
assign
({},{
taskInfo
:{
area
:
area
,
currentTaskNum
:
0
,
currentTaskType
:
""
}})))
}
else
{
//将门店信息也清空
dispatch
(
emptyStoreInfo
());
dispatch
(
logout
());
emit
(
CONFIG
.
socketType
.
STOPSTOPSERVER
,{});
}
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"update_door_status error "
,
e
);
closeDoorSuccess
(
data
);
UTILPATH
.
myLogger
.
error
(
`power_cut_close_door error
${
e
}
`
);
// dispatch(askForNextTask(taskId))
})
}
}
...
...
client/actions/common.js
View file @
03f64bc2
...
...
@@ -12,29 +12,36 @@ let myHeaders = new Headers({
//获取店铺信息
const
getStoreInfo
=
(
storeId
)
=>
{
return
(
dispatch
)
=>
{
return
async
(
dispatch
)
=>
{
let
bodyData
=
{
storeId
};
UTILPATH
.
myLogger
.
info
(
"getMachineData request"
,
bodyData
);
fetch
(
domain
+
'pad_warehouse/getMachineData.action'
,{
credentials
:
'include'
,
method
:
'POST'
,
mode
:
'cors'
,
headers
:
myHeaders
,
body
:
JSON
.
stringify
(
bodyData
)
}).
then
((
response
)
=>
response
.
json
())
.
then
(
json
=>
{
UTILPATH
.
myLogger
.
info
(
"getMachineData request "
,
bodyData
);
let
success
=
(
json
)
=>
{
UTILPATH
.
myLogger
.
info
(
"getMachineData response "
,
json
);
let
storeInfo
=
Object
.
assign
({},{
id
:
storeId
});
if
(
json
.
meta
.
success
&&
json
.
data
.
warehouse
){
storeInfo
=
Object
.
assign
({},
storeInfo
,
json
.
data
.
warehouse
)
}
else
{
UTILPATH
.
myLogger
.
error
(
"getMachineData error "
,
json
);
}
dispatch
(
saveCommonInfo
(
Object
.
assign
({},{
storeInfo
})))
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"getMachineData error "
,
e
);
})
dispatch
(
saveCommonInfo
(
Object
.
assign
({},{
storeInfo
})));
};
let
fail
=
(
e
)
=>
{
UTILPATH
.
myLogger
.
error
(
`getMachineData error
${
e
}
`
);
dispatch
(
getStoreInfo
(
storeId
));
};
try
{
let
res
=
await
fetch
(
domain
+
'pad_warehouse/getMachineData.action'
,{
credentials
:
'include'
,
method
:
'POST'
,
mode
:
'cors'
,
headers
:
myHeaders
,
body
:
JSON
.
stringify
(
bodyData
)
}).
then
((
response
)
=>
response
.
json
());
return
success
(
res
);
}
catch
(
e
)
{
return
fail
(
e
)
}
}
};
...
...
@@ -42,7 +49,7 @@ const getStoreInfo = (storeId)=>{
//获取用户信息
const
getUserinfo
=
(
employeeId
,
storeId
)
=>
{
let
bodyData
=
Object
.
assign
({},{
employeeId
,
storeId
});
UTILPATH
.
myLogger
.
info
(
"get_alowed_task request"
,
bodyData
);
UTILPATH
.
myLogger
.
info
(
"get_alowed_task request
"
,
bodyData
);
return
(
dispatch
)
=>
{
fetch
(
domain
+
'machine_pad/get_alowed_task.action'
,{
credentials
:
'include'
,
...
...
@@ -52,6 +59,7 @@ const getUserinfo = (employeeId,storeId)=>{
body
:
JSON
.
stringify
(
bodyData
)
}).
then
((
response
)
=>
response
.
json
())
.
then
(
json
=>
{
UTILPATH
.
myLogger
.
info
(
"getMachineData get_alowed_task response "
,
json
);
let
userInfo
=
Object
.
assign
({},{
id
:
employeeId
})
if
(
json
.
meta
.
success
&&
json
.
data
){
if
(
json
.
data
.
employee
){
...
...
@@ -65,7 +73,8 @@ const getUserinfo = (employeeId,storeId)=>{
dispatch
(
saveCommonInfo
(
Object
.
assign
({},{
userInfo
})));
}
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"get_alowed_task error "
,
e
);
UTILPATH
.
myLogger
.
error
(
`get_alowed_task error
${
e
}
`
);
dispatch
(
getUserinfo
(
employeeId
,
storeId
))
})
}
};
...
...
@@ -76,7 +85,7 @@ const getTaskList = (data={},callback=null)=>{
let
{
storeInfo
=
{},
userInfo
=
{},
taskInfo
=
{}}
=
data
;
let
taskId
=
taskInfo
.
taskId
||
0
;
let
url
=
`
${
domain
}
machine_pad/work/list/
${
storeInfo
.
id
}
/
${
taskInfo
.
area
}
/
${
taskId
}
/
${
userInfo
.
employeeId
}
`
;
UTILPATH
.
myLogger
.
info
(
"getTaskList url"
,
url
);
UTILPATH
.
myLogger
.
info
(
"getTaskList url
"
,
url
);
return
(
dispatch
)
=>
{
if
(
!
userInfo
.
id
){
dispatch
(
addErrorInfo
(
'没有获取用户信息'
))
...
...
@@ -90,6 +99,7 @@ const getTaskList = (data={},callback=null)=>{
headers
:
myHeaders
}).
then
(
response
=>
response
.
json
())
.
then
((
json
)
=>
{
UTILPATH
.
myLogger
.
info
(
"getTaskList response "
,
json
);
let
data
=
Object
.
assign
({});
if
(
json
.
meta
.
success
&&
json
.
data
){
data
.
taskInfo
=
Object
.
assign
({},
json
.
data
.
flatCommonVo
);
...
...
@@ -106,10 +116,10 @@ const getTaskList = (data={},callback=null)=>{
callback
()
}
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
`getTaskList error
${
e
}
`
);
if
(
callback
){
callback
()
}
UTILPATH
.
myLogger
.
error
(
"getTaskList error "
,
e
);
})
}
}
...
...
@@ -129,6 +139,14 @@ const logout = ()=>{
}
};
const
emptyStoreInfo
=
()
=>
{
let
data
=
Object
.
assign
({},{
storeInfo
:{}});
return
{
type
:
actionType
.
EMPTYCOMMONINFO
,
data
}
}
const
getTaskName
=
(
currentTaskType
,
childTaskNum
=
0
)
=>
{
return
{
type
:
actionType
.
GETTASKNAME
,
...
...
@@ -136,4 +154,4 @@ const getTaskName = (currentTaskType,childTaskNum=0)=>{
}
}
export
{
getStoreInfo
,
saveCommonInfo
,
getUserinfo
,
logout
,
getTaskList
,
getTaskName
}
export
{
getStoreInfo
,
saveCommonInfo
,
getUserinfo
,
logout
,
getTaskList
,
getTaskName
,
emptyStoreInfo
}
client/actions/getStore.js
View file @
03f64bc2
...
...
@@ -3,22 +3,6 @@ import actionTypes from '../actiontype/store'
import
{
saveHeaderInfo
}
from
'./initHeader'
const
domain
=
ENV
.
domain
;
let
json
=
{
"meta"
:
{
"code"
:
"200"
,
"message"
:
"成功"
,
"success"
:
true
},
"data"
:
{
"warehouse"
:
{
"id"
:
13
,
"name"
:
"华贸商业街"
,
"image"
:
"http://static.mjitech.com/static/tmp/2018-05-25/1527243213701.jpg"
,
"address"
:
"华贸商业街(新光天地与利兹卡尔顿酒店之间广场)"
}
}
};
const
saveStoreInfo
=
(
data
)
=>
{
return
{
type
:
actionTypes
.
SAVESTORE
,
...
...
@@ -35,7 +19,7 @@ var myHeaders = new Headers({
const
getStoreInfo
=
(
data
)
=>
{
let
storeId
=
data
.
storeId
let
storeId
=
data
.
storeId
;
return
(
dispatch
)
=>
{
dispatch
(
saveHeaderInfo
(
data
))
let
bodyData
=
{
storeId
};
...
...
@@ -56,7 +40,38 @@ const getStoreInfo = (data)=>{
}
}
};
const
getStoreList
=
()
=>
{
return
(
dispatch
)
=>
{
fetch
(
domain
+
'machine_pad/power_cut_find_store'
,{
credentials
:
'include'
,
method
:
'POST'
,
mode
:
'cors'
,
headers
:
{
'Content-Type'
:
'application/json'
},
body
:
JSON
.
stringify
({})
}).
then
((
response
)
=>
response
.
json
())
.
then
(
json
=>
{
UTILPATH
.
myLogger
.
info
(
"power_cut_find_store "
,
json
);
if
(
json
.
meta
.
success
){
let
storeList
=
json
.
data
;
dispatch
(
saveStoreList
(
storeList
))
}
else
{
//没有店铺信息
}
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
`power_cut_find_store
${
e
}
`
);
dispatch
(
getStoreList
());
});
}
};
const
saveStoreList
=
(
data
)
=>
{
return
{
type
:
actionTypes
.
SAVESTORELIST
,
data
}
};
export
{
getStoreInfo
}
export
{
getStoreInfo
,
getStoreList
}
client/actions/getTroubles.js
View file @
03f64bc2
...
...
@@ -48,7 +48,8 @@ const getTroubleList = (info) => {
dispatch
(
saveTroubleList
(
json
.
data
))
}
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"getTroubleList error "
,
e
);
UTILPATH
.
myLogger
.
error
(
`getTroubleList error
${
e
}
`
);
dispatch
(
getTroubleList
(
info
))
})
}
};
...
...
@@ -69,7 +70,8 @@ const updateTroubleList = (info, headerInfo) => {
.
then
(
json
=>
{
dispatch
(
getTaskList
(
headerInfo
))
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"save_all_error error "
,
e
);
UTILPATH
.
myLogger
.
error
(
`save_all_error error
${
e
}
`
);
// dispatch(updateTroubleList(info, headerInfo))
})
}
};
...
...
client/actions/recovery.js
View file @
03f64bc2
...
...
@@ -13,8 +13,7 @@ let lock = false;
const
finishBoxRecovery
=
(
info
)
=>
{
//已放入回收箱
return
(
dispatch
)
=>
{
return
async
dispatch
=>
{
if
(
!
lock
){
lock
=
true
;
let
{
userInfo
=
{},
taskInfo
=
{},
storeInfo
=
{},
taskList
=
{}}
=
info
;
...
...
@@ -26,24 +25,33 @@ const finishBoxRecovery = (info)=>{
taskType
:
taskInfo
.
currentTaskType
||
""
,
area
:
taskInfo
.
area
||
""
});
UTILPATH
.
myLogger
.
info
(
"update_machine_recovery_sku request"
,
bodyData
);
UTILPATH
.
myLogger
.
info
(
"update_machine_recovery_sku request
"
,
bodyData
);
let
url
=
`
${
domain
}
machine_pad/update_machine_recovery_sku.action`
;
fetch
(
url
,{
credentials
:
'include'
,
method
:
'POST'
,
mode
:
'cors'
,
headers
:
myHeaders
,
body
:
JSON
.
stringify
(
bodyData
)
}).
then
(
response
=>
response
.
json
())
.
then
((
json
)
=>
{
let
success
=
(
res
)
=>
{
dispatch
(
saveProductInfo
({}));
dispatch
(
getTaskList
(
info
,()
=>
{
lock
=
false
;
}));
}).
catch
(
e
=>
{
};
let
fail
=
(
err
)
=>
{
lock
=
false
;
UTILPATH
.
myLogger
.
error
(
"update_machine_recovery_sku error "
,
e
);
})
UTILPATH
.
myLogger
.
error
(
`update_machine_recovery_sku error
${
err
}
`
);
};
try
{
const
result
=
await
fetch
(
url
,{
credentials
:
'include'
,
method
:
'POST'
,
mode
:
'cors'
,
headers
:
myHeaders
,
body
:
JSON
.
stringify
(
bodyData
)
}).
then
(
response
=>
response
.
json
());
return
success
(
result
)
}
catch
(
err
)
{
return
fail
(
err
)
}
}
}
};
...
...
client/actions/replenish.js
View file @
03f64bc2
...
...
@@ -2,6 +2,7 @@ import fetch from 'isomorphic-fetch';
import
actionType
from
'../actiontype/replenish'
import
{
getTaskList
}
from
"./common"
;
import
{
saveProductInfo
}
from
"./barcodeCommon"
;
import
{
finishBoxRecovery
}
from
"./recovery"
;
const
domain
=
ENV
.
domain
;
let
myHeaders
=
new
Headers
({
...
...
@@ -35,8 +36,8 @@ const finishReplenish = (info,source)=>{
area
:
taskInfo
.
area
,
id
:
source
===
1
?
taskList
.
workListId
:
0
,
});
let
url
=
`
${
domain
}
machine_pad/trigger_ck_task_sku.action`
UTILPATH
.
myLogger
.
info
(
"trigger_ck_task_sku request"
,
bodyData
);
let
url
=
`
${
domain
}
machine_pad/trigger_ck_task_sku.action`
;
UTILPATH
.
myLogger
.
info
(
"trigger_ck_task_sku request
"
,
bodyData
);
return
(
dispatch
)
=>
{
fetch
(
url
,{
credentials
:
'include'
,
...
...
@@ -48,7 +49,8 @@ const finishReplenish = (info,source)=>{
.
then
((
json
)
=>
{
dispatch
(
getTaskList
(
info
));
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"trigger_ck_task_sku error "
,
e
);
UTILPATH
.
myLogger
.
error
(
`trigger_ck_task_sku error
${
e
}
`
);
// dispatch(finishReplenish(info,source))
})
}
}
...
...
client/actions/uploadError.js
View file @
03f64bc2
...
...
@@ -48,6 +48,7 @@ const uploadError = (info,exceptionType,getTask=true)=>{
area
:
taskInfo
.
area
||
''
});
UTILPATH
.
myLogger
.
info
(
"exception_skupass_sku bodyData "
,
bodyData
);
UTILPATH
.
myLogger
.
info
(
"exception_skupass_sku getTask "
,
getTask
);
return
(
dispatch
=>
{
fetch
(
domain
+
'machine_pad/exception_skupass_sku.action'
,{
credentials
:
'include'
,
...
...
@@ -63,7 +64,8 @@ const uploadError = (info,exceptionType,getTask=true)=>{
dispatch
(
saveProductInfo
({}))
}
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"exception_skupass_sku error "
,
e
);
UTILPATH
.
myLogger
.
error
(
`exception_skupass_sku error
${
e
}
`
);
// dispatch(uploadError(info,exceptionType,getTask))
});
})
};
...
...
@@ -93,10 +95,9 @@ const timeoutAlarm = (info)=>{
}).
then
((
response
)
=>
response
.
json
())
.
then
(
json
=>
{
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
"expired_send_error_msg error "
,
e
);
UTILPATH
.
myLogger
.
error
(
`expired_send_error_msg error
${
e
}
`
);
// dispatch(timeoutAlarm(info))
});
})
}
...
...
client/actions/userinfo.js
View file @
03f64bc2
...
...
@@ -2,6 +2,7 @@ import fetch from 'isomorphic-fetch';
import
actionTypes
from
'../actiontype/user'
import
{
saveHeaderInfo
}
from
'./initHeader'
import
{
addErrorInfo
}
from
'./uploadError'
import
{
saveCommonInfo
,
getUserinfo
,
emptyStoreInfo
}
from
"./common"
;
const
domain
=
ENV
.
domain
;
...
...
@@ -19,7 +20,7 @@ var myHeaders = new Headers({
const
getUserinfo
=
(
info
,
headerInfo
)
=>
{
const
getUserinfo
Old
=
(
info
,
headerInfo
)
=>
{
let
employeeId
=
info
.
employeeId
;
let
storeId
=
headerInfo
.
storeId
;
let
bodyData
=
Object
.
assign
({},{
employeeId
,
storeId
})
...
...
@@ -49,5 +50,71 @@ const logoutUser = ()=>{
}
}
export
{
getUserinfo
,
logoutUser
}
let
timer
=
null
;
const
pollingGetUserinfoAgain
=
(
storeId
)
=>
{
return
(
dispatch
)
=>
{
if
(
!
timer
){
timer
=
setTimeout
(()
=>
{
UTILPATH
.
myLogger
.
info
(
"pollingGetUserinfoAgain storeId "
,
storeId
)
clearTimeout
(
timer
);
timer
=
null
;
dispatch
(
pollingGetUserinfo
(
storeId
))
},
2
*
1000
)
}
}
}
const
pollingGetUserinfo
=
(
storeId
)
=>
{
UTILPATH
.
myLogger
.
info
(
"power_cut_find_user storeId "
,
storeId
)
return
(
dispatch
)
=>
{
fetch
(
domain
+
`machine_pad/power_cut_find_user/
${
storeId
}
`
,{
credentials
:
'include'
,
method
:
'POST'
,
mode
:
'cors'
,
headers
:
myHeaders
,
body
:
JSON
.
stringify
({})
}).
then
((
response
)
=>
response
.
json
())
.
then
(
json
=>
{
UTILPATH
.
myLogger
.
info
(
"power_cut_find_user response "
,
json
)
let
{
meta
=
{},
data
=
{}}
=
json
;
if
(
meta
.
success
&&
data
.
code
){
let
code
=
parseInt
(
data
.
code
);
switch
(
code
){
case
1
:
//开门成功
let
{
employeeId
,
area
}
=
data
;
if
(
employeeId
&&
area
){
dispatch
(
saveCommonInfo
({
userInfo
:{
employeeId
}}));
dispatch
(
saveCommonInfo
(
Object
.
assign
({},{
taskInfo
:{
area
:
area
,
taskId
:
0
,
currentTaskType
:
'OPEN'
}})));
dispatch
(
getUserinfo
(
employeeId
,
storeId
));
}
else
{
dispatch
(
pollingGetUserinfoAgain
(
storeId
));
}
break
;
case
2
:
//开门失败
dispatch
(
emptyStoreInfo
());
break
;
case
3
:
//暂无信息,继续调用
dispatch
(
pollingGetUserinfoAgain
(
storeId
));
break
;
}
}
else
{
dispatch
(
pollingGetUserinfoAgain
(
storeId
));
}
}).
catch
(
e
=>
{
UTILPATH
.
myLogger
.
error
(
`power_cut_find_user error
${
e
}
`
);
dispatch
(
pollingGetUserinfoAgain
(
storeId
));
})
// dispatch(tempGetUserInfo(storeId));
}
};
export
{
pollingGetUserinfo
}
client/actiontype/store.js
View file @
03f64bc2
const
actionTypes
=
{
SAVESTORE
:
'SAVESTORE'
,
SAVESTORELIST
:
'SAVESTORELIST'
,
}
export
default
actionTypes
\ No newline at end of file
client/components/CommonComponent/HeaderComponent/HeaderComponent.jsx
View file @
03f64bc2
...
...
@@ -8,10 +8,14 @@ export default class HeaderComponent extends React.Component{
this
.
getHomeHeader
=
this
.
getHomeHeader
.
bind
(
this
);
this
.
getOtherHeader
=
this
.
getOtherHeader
.
bind
(
this
);
this
.
handleShowClassify
=
this
.
handleShowClassify
.
bind
(
this
);
this
.
showVersion
=
this
.
showVersion
.
bind
(
this
);
this
.
state
=
{
showHeader
:
headerStatus
[
1
],
showClassify
:
false
showClassify
:
false
,
showVersion
:
false
,
}
this
.
timer
=
null
;
this
.
countbackTime
=
1000
;
}
componentWillReceiveProps
(
nextProps
){
...
...
@@ -42,6 +46,22 @@ export default class HeaderComponent extends React.Component{
return
pages
;
}
showVersion
(){
this
.
setState
({
showVersion
:
!
this
.
state
.
showVersion
},()
=>
{
if
(
!
this
.
timer
&&
this
.
state
.
showVersion
){
this
.
timer
=
window
.
setTimeout
(()
=>
{
window
.
clearTimeout
(
this
.
timer
);
this
.
timer
=
null
;
this
.
setState
({
showVersion
:
false
})
},
this
.
countbackTime
)
}
})
}
getHomeHeader
(){
let
headerInfo
=
this
.
props
.
headerInfo
;
let
{
storeInfo
,
userInfo
,
taskInfo
}
=
headerInfo
;
...
...
@@ -52,13 +72,20 @@ export default class HeaderComponent extends React.Component{
}
}
let
versionStyle
=
{
lineHeight
:
"3.6"
,
textAlign
:
"center"
,
width
:
"100%"
};
return
(
<
div
className=
{
"homeHeader clearfix"
}
>
{
<
div
className=
{
"headerContent leftContent fl"
}
>
<
div
className=
{
"headerlogo"
}
>
<
div
className=
{
"headerlogo"
}
onClick=
{
()
=>
this
.
showVersion
()
}
>
{
this
.
state
.
showVersion
?
<
div
className=
{
"colfff font26"
}
style=
{
versionStyle
}
>
当前版本号 ---
{
CURVERSION
}
</
div
>
:
<
img
className=
{
"logoImg"
}
src=
{
UTILPATH
.
localImg
.
headlogo
}
alt=
""
/>
}
</
div
>
{
taskInfo
&&
taskInfo
.
currentTaskNum
&&
taskInfo
.
totalTaskNum
?
...
...
@@ -69,7 +96,6 @@ export default class HeaderComponent extends React.Component{
}
</
div
>
}
<
div
className=
{
"headerContent rightContent fr "
}
>
{
storeInfo
&&
storeInfo
.
id
?
<
div
className=
{
"locationInfo"
}
>
...
...
client/components/ReplenishComponent/ReplenishSkuPage/ReplenishSkuPage.jsx
View file @
03f64bc2
...
...
@@ -43,8 +43,10 @@ export default class ReplenishSkuPage extends React.Component{
this
.
setState
({
btnClock
:
true
},()
=>
{
this
.
props
.
finishBoxRecovery
()
;
this
.
props
.
finishBoxRecovery
()
.
then
(()
=>
{
this
.
continueScan
()
});
})
}
}
...
...
client/config/socketType.js
View file @
03f64bc2
...
...
@@ -2,7 +2,9 @@
const
socketType
=
{
GETSTOREINFO
:
'GETSTOREINFO'
,
GETSOCKETMSG
:
'GETSOCKETMSG'
,
SOCKETERROR
:
'SOCKETERROR'
SOCKETERROR
:
'SOCKETERROR'
,
STARTSTOPSERVER
:
'STARTSTOPSERVER'
,
//开启断电断网流程
STOPSTOPSERVER
:
'STOPSTOPSERVER'
//关闭断电断网流程
}
module
.
exports
=
socketType
;
\ No newline at end of file
client/containers/HomePageContainer/HomePageContainer.jsx
View file @
03f64bc2
...
...
@@ -43,12 +43,24 @@ export default class HomePageContainer extends React.Component{
this
.
setState
({
closeDoorStatus
:
1
},()
=>
{
this
.
props
.
willCloseDoor
();
UTILPATH
.
myLogger
.
info
(
"logout startStopServer "
,
this
.
props
.
startStopServer
);
if
(
this
.
props
.
startStopServer
){
this
.
props
.
willCloseDoor
().
then
(()
=>
{
this
.
props
.
endCountBack
();
this
.
props
.
tempLogout
()
});
}
else
{
this
.
props
.
willCloseDoor
().
then
(()
=>
{
this
.
props
.
endCountBack
();
let
msg
=
{
type
:
'WILL_CLOSEDOOR'
};
sendMsg
(
JSON
.
stringify
(
msg
));
this
.
props
.
changeIsSend
(
true
);
// this.props.tempLogout()
});
}
})
}
}
...
...
@@ -124,8 +136,11 @@ export default class HomePageContainer extends React.Component{
)
}
start
(){
let
props
=
this
.
props
;
props
.
getTaskList
();
let
props
=
this
.
props
;
let
{
getTaskList
}
=
props
;
if
(
getTaskList
){
getTaskList
();
}
}
}
...
...
client/containers/PageContainer/PageContainer.jsx
View file @
03f64bc2
This diff is collapsed.
Click to expand it.
client/css/font.css
View file @
03f64bc2
...
...
@@ -103,6 +103,18 @@ body {
font-size
:
calc
(
var
(
--font3
)
*
font18
*
var
(
--base
))
!important
;
}
.font20
{
font-size
:
calc
(
font20
*
var
(
--base
))
!important
;
}
[
data-dpr
=
"2"
]
.font20
{
font-size
:
calc
(
var
(
--font2
)
*
font20
*
var
(
--base
))
!important
;
}
[
data-dpr
=
"3"
]
.font20
{
font-size
:
calc
(
var
(
--font3
)
*
font20
*
var
(
--base
))
!important
;
}
.font22
{
font-size
:
calc
(
font22
*
var
(
--base
))
!important
;
}
...
...
client/index.js
View file @
03f64bc2
...
...
@@ -6,15 +6,24 @@ import reducers from './reducers/index';
import
{
createLogger
}
from
'redux-logger'
import
thunkMiddleware
from
'redux-thunk'
;
require
(
'./index.css'
);
import
PageContainer
from
'./containers/PageContainer/PageContainer'
import
PageContainer
from
'./containers/PageContainer/PageContainer'
;
const
env
=
process
.
env
.
NODE_ENV
;
function
activateVendor
()
{
const
logMiddleware
=
createLogger
();
return
createStore
(
return
(
env
===
"development"
?
createStore
(
reducers
,
applyMiddleware
(
thunkMiddleware
,
logMiddleware
)
)
:
createStore
(
reducers
,
applyMiddleware
(
thunkMiddleware
,
)
)
)
}
function
renderPage
(
store
)
{
...
...
@@ -28,6 +37,7 @@ function renderPage(store) {
let
store
=
activateVendor
();
UTILPATH
.
socket
.
getIp1
();
UTILPATH
.
socket
.
stopServer
();
// UTILPATH.socket.getTestIp(203);
renderPage
(
store
);
\ No newline at end of file
client/reducers/store.js
View file @
03f64bc2
...
...
@@ -2,12 +2,18 @@ import actionTypes from '../actiontype/store';
const
saveStore
=
(
content
,
data
)
=>
{
return
Object
.
assign
({},
content
,
data
);
};
const
saveStoreList
=
(
content
,
data
)
=>
{
return
Object
.
assign
({},
content
,{
storeList
:
data
});
}
export
default
function
(
state
=
{},
action
)
{
switch
(
action
.
type
)
{
case
actionTypes
.
SAVESTORE
:
return
saveStore
(
state
,
action
.
data
)
return
saveStore
(
state
,
action
.
data
);
case
actionTypes
.
SAVESTORELIST
:
return
saveStoreList
(
state
,
action
.
data
);
default
:
return
state
;
}
...
...
client/util/logger.js
View file @
03f64bc2
...
...
@@ -17,6 +17,7 @@ myLogger.saveDomain = (ip)=>{
myLogger
.
info
=
function
()
{
let
args
=
[].
slice
.
call
(
arguments
)
||
[];
// console.log.apply(console,args);
if
(
domain
&&
args
.
length
>
0
){
let
bodyData
=
{};
let
time
=
new
Date
().
getTime
();
...
...
client/util/socket.js
View file @
03f64bc2
import
{
emit
}
from
'./event'
import
{
emit
,
on
,
remove
}
from
'./event'
import
myLogger
from
'./logger'
let
domainIp
=
'192.168.8.'
;
...
...
@@ -12,6 +12,49 @@ let getIpING = false; //正在获取IP
let
currentIpIndex
=
255
;
let
ws
=
null
;
let
storeId
=
0
;
let
stopTimer
=
null
;
let
startStopServer
=
false
;
//断网后1min连不上,就终止连接
let
beginConnectSocket
=
()
=>
{
console
.
log
(
"===socket===beginConnectSocket===getIpING=== "
,
getIpING
);
if
(
!
getIpING
){
currentIpIndex
=
255
;
totalCount
=
0
;
storeId
=
0
;
socket
.
getIp1
();
socket
.
stopServer
();
}
};
socket
.
stopServer
=
()
=>
{
console
.
log
(
"======stopServer====== "
,
stopTimer
);
if
(
!
stopTimer
){
stopTimer
=
setTimeout
(()
=>
{
clearTimeout
(
stopTimer
);
stopTimer
=
null
;
startStopServer
=
true
;
//告知页面走断电断网流程
emit
(
CONFIG
.
socketType
.
STARTSTOPSERVER
,{});
console
.
log
(
"===socket===STARTSTOPSERVER====== "
);
let
that
=
socket
.
stopServer
;
on
(
CONFIG
.
socketType
.
STOPSTOPSERVER
,
that
,()
=>
{
console
.
log
(
"===socket===STOPSTOPSERVER====== "
);
startStopServer
=
false
;
getIpING
=
false
;
beginConnectSocket
();
remove
(
CONFIG
.
socketType
.
STOPSTOPSERVER
,
that
);
});
},
1000
*
60
*
1
)
}
};
socket
.
getIp1
=
()
=>
{
if
(
!
getIpING
)
{
...
...
@@ -34,14 +77,17 @@ socket.getIp1 = ()=>{
let
info
=
JSON
.
parse
(
evt
.
data
);
if
(
info
.
type
===
'GET_STORE_ID'
&&
info
.
data
){
ws1
.
close
();
if
(
!
startStopServer
){
//非断电断网情况就连接
init
(
currentIpIndex
,
info
.
data
,
true
);
}
}
}
};
ws1
.
onerror
=
function
(
err
)
{
totalCount
++
;
if
(
totalCount
>=
255
){
if
(
totalCount
>=
255
&&
!
startStopServer
){
totalCount
=
0
;
currentIpIndex
=
255
;
getIpING
=
false
;
...
...
@@ -72,8 +118,11 @@ socket.getTestIp = (ip) => {
let
info
=
JSON
.
parse
(
evt
.
data
);
if
(
info
.
type
===
'GET_STORE_ID'
&&
info
.
data
){
ws1
.
close
();
if
(
!
startStopServer
){
init
(
currentIpIndex
,
info
.
data
,
true
);
}
}
}
};
...
...
@@ -87,12 +136,7 @@ const getError = ()=>{
const
getClose
=
()
=>
{
//如果有currentIp就没有必要再次循环
ws
=
null
;
if
(
!
getIpING
){
currentIpIndex
=
255
;
totalCount
=
0
;
storeId
=
0
;
socket
.
getIp1
();
}
beginConnectSocket
();
}
...
...
@@ -111,6 +155,13 @@ const init = (ip,storeid,from = false)=>{
storeId
=
storeid
;
getIpING
=
false
;
myLogger
.
saveDomain
(
domainIp
+
ip
);
if
(
stopTimer
){
//重连成功后,终止倒计时
clearTimeout
(
stopTimer
);
stopTimer
=
null
;
startStopServer
=
false
;
myLogger
.
info
(
"连接成功,停止stopTimer倒计时"
);
}
emit
(
CONFIG
.
socketType
.
GETSTOREINFO
,{
ip
:
domainIp
+
ip
,
storeId
:
storeid
})
};
...
...
@@ -122,7 +173,7 @@ const init = (ip,storeid,from = false)=>{
};
ws
.
send
(
JSON
.
stringify
(
o
));
}
else
{
var
received_msg
=
JSON
.
parse
(
evt
.
data
);
//String
let
received_msg
=
JSON
.
parse
(
evt
.
data
);
//String
emit
(
CONFIG
.
socketType
.
GETSOCKETMSG
,
received_msg
);
}
...
...
package.json
View file @
03f64bc2
...
...
@@ -7,8 +7,8 @@
"scripts"
:
{
"test"
:
"echo
\"
Error: no test specified
\"
&& exit 1"
,
"clean"
:
"rm -rf static/*"
,
"start"
:
"cross-env NODE_ENV=development webpack-dev-server --env=dev -d --history-api-fallback --hot --inline --progress --colors --port 80 --host 0.0.0.0"
,
"build"
:
"cross-env NODE_ENV=production webpack --env=build --progress --color"
,
"start"
:
"cross-env NODE_ENV=development webpack-dev-server --
version=2.0.1 --
env=dev -d --history-api-fallback --hot --inline --progress --colors --port 80 --host 0.0.0.0"
,
"build"
:
"cross-env NODE_ENV=production webpack --env=build --
version=2.0.1 --
progress --color"
,
"build:prod"
:
"cross-env NODE_ENV=development webpack --env=build --progress --color"
},
"author"
:
""
,
...
...
webpack.config.js
View file @
03f64bc2
...
...
@@ -76,6 +76,18 @@ function getEnv(){
}
let
env
=
getEnv
();
function
getVersion
(){
const
args
=
require
(
'minimist'
)(
process
.
argv
.
slice
(
2
));
let
version
=
""
;
if
(
args
.
version
){
version
=
(
args
.
version
).
toString
();
}
return
version
;
}
let
curversion
=
getVersion
();
let
envConfig
=
{
'build'
:{
output
:{
...
...
@@ -91,7 +103,8 @@ let envConfig = {
new
webpack
.
optimize
.
AggressiveMergingPlugin
(),
new
webpack
.
DefinePlugin
({
'process.env'
:
{
NODE_ENV
:
JSON
.
stringify
(
process
.
env
.
NODE_ENV
||
'production'
)
},
'BASEREM'
:
120
'BASEREM'
:
120
,
'CURVERSION'
:
JSON
.
stringify
(
curversion
)
}),
new
webpack
.
ProvidePlugin
({
ENV
:
__dirname
+
'/client/env/production'
,
...
...
@@ -115,7 +128,8 @@ let envConfig = {
}),
//分割共有模块和代码模块
new
webpack
.
DefinePlugin
({
'process.env'
:
{
NODE_ENV
:
JSON
.
stringify
(
process
.
env
.
NODE_ENV
||
'development'
)
},
'BASEREM'
:
120
'BASEREM'
:
120
,
'CURVERSION'
:
JSON
.
stringify
(
curversion
)
}),
new
webpack
.
ProvidePlugin
({
ENV
:
__dirname
+
'/client/env/development'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment