Commit 03f64bc2 by Zhang Xin

fix 冲突 & merge from dev for 需求195 & bug 2950

parents 42699ffa 8cf361f6
...@@ -6,4 +6,5 @@ static ...@@ -6,4 +6,5 @@ static
.idea .idea
package-lock.json package-lock.json
.map .map
.vscode
{
// 使用 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
...@@ -18,6 +18,7 @@ export function scanBarCodeGetProductInfo(postData) { ...@@ -18,6 +18,7 @@ export function scanBarCodeGetProductInfo(postData) {
}).then((response) => response.json()) }).then((response) => response.json())
.then( .then(
(json)=>{ (json)=>{
UTILPATH.myLogger.info("scanning_sku_barcode_for_add_loss_task response ",json);
//处理数据如果 //处理数据如果
let success = json.meta.success; let success = json.meta.success;
if(success){ if(success){
...@@ -27,7 +28,8 @@ export function scanBarCodeGetProductInfo(postData) { ...@@ -27,7 +28,8 @@ export function scanBarCodeGetProductInfo(postData) {
} }
} }
).catch(e=>{ ).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) { ...@@ -47,15 +49,17 @@ export function submitProductInfo(postData) {
}).then((response) => response.json()) }).then((response) => response.json())
.then( .then(
(json)=>{ (json)=>{
UTILPATH.myLogger.info("submit_add_loss_task response ",json);
if(json.data){ if(json.data){
let submit = { let submit = {
"submit":true "submit":true
} };
dispatch(submitProductSuccess(submit)) dispatch(submitProductSuccess(submit))
} }
} }
).catch(e=>{ ).catch(e=>{
UTILPATH.myLogger.error("submit_add_loss_task error ",e); UTILPATH.myLogger.error(`submit_add_loss_task error ${e}`);
// dispatch(submitProductInfo(postData));
} }
) )
......
...@@ -23,12 +23,14 @@ const checkProductQuantity = (data)=>{ ...@@ -23,12 +23,14 @@ const checkProductQuantity = (data)=>{
body:JSON.stringify(bodyData) body:JSON.stringify(bodyData)
}).then(response=>response.json()) }).then(response=>response.json())
.then((json)=>{ .then((json)=>{
UTILPATH.myLogger.info("checkProductQuantity response ",json);
if(json.data===1){ if(json.data===1){
dispatch(getTaskList(commonInfo)) dispatch(getTaskList(commonInfo))
} }
dispatch(checkQuantity({type:json.data})) dispatch(checkQuantity({type:json.data}))
}).catch(e=>{ }).catch(e=>{
UTILPATH.myLogger.error("checkProductQuantity error ",e); UTILPATH.myLogger.error(`checkProductQuantity error ${e}`);
// dispatch(checkProductQuantity(data))
}) })
} }
......
...@@ -10,10 +10,10 @@ const getBarCodeProductInfo = (data)=>{ ...@@ -10,10 +10,10 @@ const getBarCodeProductInfo = (data)=>{
let {taskInfo={},storeInfo={}}=commonInfo; let {taskInfo={},storeInfo={}}=commonInfo;
let storeId=storeInfo.id || 0; let storeId=storeInfo.id || 0;
let currentTaskType = taskInfo.currentTaskType || ''; let currentTaskType = taskInfo.currentTaskType || '';
let area = taskInfo.area || '' let area = taskInfo.area || '';
let taskId = taskInfo.taskId || 0 let taskId = taskInfo.taskId || 0;
let url=`${domain}machine_pad/barcode/${storeId}/${taskId}/${area}/${currentTaskType}/${barcode}`; 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)=>{ return (dispatch)=>{
fetch(url,{ fetch(url,{
credentials : 'include', credentials : 'include',
...@@ -21,6 +21,7 @@ const getBarCodeProductInfo = (data)=>{ ...@@ -21,6 +21,7 @@ const getBarCodeProductInfo = (data)=>{
mode : 'cors' mode : 'cors'
}).then((response)=>response.json()) }).then((response)=>response.json())
.then((json)=>{ .then((json)=>{
UTILPATH.myLogger.info("getBarCodeProductInfo response ",json);
if(!json.meta.success&&!json.data){ if(!json.meta.success&&!json.data){
dispatch(saveProductInfo(json.meta)) dispatch(saveProductInfo(json.meta))
switch (taskInfo.currentTaskType){ switch (taskInfo.currentTaskType){
...@@ -79,7 +80,8 @@ const getBarCodeProductInfo = (data)=>{ ...@@ -79,7 +80,8 @@ const getBarCodeProductInfo = (data)=>{
} }
}).catch(e=>{ }).catch(e=>{
UTILPATH.myLogger.error("getBarCodeProductInfo error ",e); UTILPATH.myLogger.error(`getBarCodeProductInfo error ${e}`);
dispatch(getBarCodeProductInfo(data));
}) })
} }
......
...@@ -18,8 +18,8 @@ const submitBreakageProduct = (data)=>{ ...@@ -18,8 +18,8 @@ const submitBreakageProduct = (data)=>{
let {skuPosition,skuId,skuStatus,area}=productDetail; let {skuPosition,skuId,skuStatus,area}=productDetail;
let bodyData={skuPosition,skuId,skuStatus,machineId,taskId,area} let bodyData={skuPosition,skuId,skuStatus,machineId,taskId,area}
let url=domain+`machine_pad/lr/${userId}`; let url=domain+`machine_pad/lr/${userId}`;
UTILPATH.myLogger.info("submitBreakageProduct url",url); UTILPATH.myLogger.info("submitBreakageProduct url ",url);
UTILPATH.myLogger.info("submitBreakageProduct request",bodyData); UTILPATH.myLogger.info("submitBreakageProduct request ",bodyData);
return (dispatch)=>{ return (dispatch)=>{
fetch(url,{ fetch(url,{
// credentials : 'include', // credentials : 'include',
...@@ -32,9 +32,11 @@ const submitBreakageProduct = (data)=>{ ...@@ -32,9 +32,11 @@ const submitBreakageProduct = (data)=>{
body:JSON.stringify(bodyData) body:JSON.stringify(bodyData)
}).then((response)=>response.json()) }).then((response)=>response.json())
.then((json)=>{ .then((json)=>{
dispatch(getSubmitStatus(json.meta)) UTILPATH.myLogger.info("submitBreakageProduct response ",json);
dispatch(getSubmitStatus(json.meta))
}).catch(e=>{ }).catch(e=>{
UTILPATH.myLogger.error("submitBreakageProduct error ",e); UTILPATH.myLogger.error(`submitBreakageProduct error ${e}`);
// dispatch(submitBreakageProduct(data))
}) })
} }
} }
...@@ -44,7 +46,7 @@ const submitBreakageProduct = (data)=>{ ...@@ -44,7 +46,7 @@ const submitBreakageProduct = (data)=>{
const hasNoSku = (commonInfo)=>{ const hasNoSku = (commonInfo)=>{
let {storeInfo={},userInfo={},taskInfo={}} = commonInfo; let {storeInfo={},userInfo={},taskInfo={}} = commonInfo;
let url = `${domain}machine_pad/work/lr/status/${taskInfo.taskId}/${taskInfo.area}/${taskInfo.currentTaskType}`; 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)=>{ return (dispatch)=>{
fetch(url,{ fetch(url,{
// credentials : 'include', // credentials : 'include',
...@@ -55,7 +57,7 @@ const hasNoSku = (commonInfo)=>{ ...@@ -55,7 +57,7 @@ const hasNoSku = (commonInfo)=>{
.then((json)=>{ .then((json)=>{
dispatch(getTaskList(commonInfo)) dispatch(getTaskList(commonInfo))
}).catch(e=>{ }).catch(e=>{
UTILPATH.myLogger.error("hasNoSku 没有散落货品 error ",e); UTILPATH.myLogger.error(`hasNoSku 没有散落货品 error ${e}`);
}) })
} }
} }
......
import fetch from 'isomorphic-fetch' 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 domain = ENV.domain;
// let domain1='http://192.168.10.184:8080/maxbox/web/'
const willCloseDoor=(data,flag=false)=>{ 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 {userInfo,taskInfo,storeInfo}=data;
let userId=userInfo.employeeId; let userId=userInfo.employeeId;
let machineId=storeInfo.id; let machineId=storeInfo.id;
let {taskId,area,currentTaskType}=taskInfo; let {taskId,area,currentTaskType}=taskInfo;
let bodyData={area,storeId:machineId,taskId,userId,taskType:currentTaskType}; let bodyData={area,storeId:machineId,taskId,userId,taskType:currentTaskType};
UTILPATH.myLogger.info("finish_task url",url); UTILPATH.myLogger.info("finish_task url ",url);
UTILPATH.myLogger.info("finish_task request",bodyData); 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',
headers:{
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json; charset=UTF-8'
},
body:JSON.stringify(bodyData)
}).then((response)=>response.json());
return success(result)
} catch (err) {
return fail(err)
}
}
}
/**
*
* @param data
* @param stopFlag 断电断网标志,true 断电断网中,
* @returns {Function}
*/
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 stopFlag ",stopFlag);
return (dispatch)=>{ return (dispatch)=>{
fetch(url,{ fetch(url,{
credentials : 'include', credentials : 'include',
...@@ -23,31 +70,24 @@ const willCloseDoor=(data,flag=false)=>{ ...@@ -23,31 +70,24 @@ const willCloseDoor=(data,flag=false)=>{
body:JSON.stringify(bodyData) body:JSON.stringify(bodyData)
}).then((response)=>response.json()) }).then((response)=>response.json())
.then((json)=>{ .then((json)=>{
if(flag){ UTILPATH.myLogger.info("update_door_status response ",json);
//回收箱完成 if(stopFlag){
dispatch(getTaskList(data)) dispatch(askForNextTask(taskId))
}else{ }else{
//没有问题,完成任务 dispatch(logout());
// dispatch(saveCommonInfo(Object.assign({},{taskInfo:{currentTaskType:'FINISH'}})))
} }
// dispatch(closeDoorSuccess(data));
}).catch(e=>{ }).catch(e=>{
UTILPATH.myLogger.error("finish_task error ",e); UTILPATH.myLogger.error(`update_door_status error ${e}`);
// dispatch(closeDoorSuccess(data));
}) })
} }
} };
const closeDoorSuccess=(data)=>{ const askForNextTask = (taskId)=>{
let {userInfo,taskInfo,storeInfo}=data; let url = domain+`machine_pad/power_cut_close_door/${taskId}`;
let userId=userInfo.employeeId; UTILPATH.myLogger.info("askForNextTask power_cut_close_door url ",url);
let machineId=storeInfo.id; return (dispatch) =>{
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);
return (dispatch)=>{
fetch(url,{ fetch(url,{
credentials : 'include', credentials : 'include',
method : 'POST', method : 'POST',
...@@ -56,14 +96,24 @@ const closeDoorSuccess=(data)=>{ ...@@ -56,14 +96,24 @@ const closeDoorSuccess=(data)=>{
'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json; charset=UTF-8' 'Content-Type': 'application/json; charset=UTF-8'
}, },
body:JSON.stringify(bodyData) body:JSON.stringify({})
}).then((response)=>response.json()) }).then((response)=>response.json())
.then((json)=>{ .then((json)=>{
dispatch(logout()) let {meta={}} = json;
}).catch(e=>{ UTILPATH.myLogger.info("askForNextTask power_cut_close_door response ",json);
UTILPATH.myLogger.error("update_door_status error ",e); if(meta.success){
closeDoorSuccess(data); 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(`power_cut_close_door error ${e}`);
// dispatch(askForNextTask(taskId))
}) })
} }
} }
export {willCloseDoor,closeDoorSuccess} export {willCloseDoor,closeDoorSuccess}
\ No newline at end of file
...@@ -12,29 +12,36 @@ let myHeaders = new Headers({ ...@@ -12,29 +12,36 @@ let myHeaders = new Headers({
//获取店铺信息 //获取店铺信息
const getStoreInfo = (storeId)=>{ const getStoreInfo = (storeId)=>{
return(dispatch)=>{ return async (dispatch)=>{
let bodyData = {storeId}; let bodyData = {storeId};
UTILPATH.myLogger.info("getMachineData request",bodyData); 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=>{
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);
})
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)
}
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)=>{ ...@@ -42,7 +49,7 @@ const getStoreInfo = (storeId)=>{
//获取用户信息 //获取用户信息
const getUserinfo = (employeeId,storeId)=>{ const getUserinfo = (employeeId,storeId)=>{
let bodyData = Object.assign({},{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)=>{ return(dispatch)=>{
fetch(domain + 'machine_pad/get_alowed_task.action',{ fetch(domain + 'machine_pad/get_alowed_task.action',{
credentials : 'include', credentials : 'include',
...@@ -52,6 +59,7 @@ const getUserinfo = (employeeId,storeId)=>{ ...@@ -52,6 +59,7 @@ const getUserinfo = (employeeId,storeId)=>{
body : JSON.stringify(bodyData) body : JSON.stringify(bodyData)
}).then((response)=>response.json()) }).then((response)=>response.json())
.then(json=>{ .then(json=>{
UTILPATH.myLogger.info("getMachineData get_alowed_task response ",json);
let userInfo = Object.assign({},{id:employeeId}) let userInfo = Object.assign({},{id:employeeId})
if(json.meta.success && json.data){ if(json.meta.success && json.data){
if(json.data.employee){ if(json.data.employee){
...@@ -65,7 +73,8 @@ const getUserinfo = (employeeId,storeId)=>{ ...@@ -65,7 +73,8 @@ const getUserinfo = (employeeId,storeId)=>{
dispatch(saveCommonInfo(Object.assign({},{userInfo}))); dispatch(saveCommonInfo(Object.assign({},{userInfo})));
} }
}).catch(e=>{ }).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)=>{ ...@@ -76,7 +85,7 @@ const getTaskList = (data={},callback=null)=>{
let {storeInfo={},userInfo={},taskInfo={}} = data; let {storeInfo={},userInfo={},taskInfo={}} = data;
let taskId=taskInfo.taskId || 0; let taskId=taskInfo.taskId || 0;
let url =`${domain}machine_pad/work/list/${storeInfo.id}/${taskInfo.area}/${taskId}/${userInfo.employeeId}`; 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)=>{ return (dispatch)=>{
if(!userInfo.id){ if(!userInfo.id){
dispatch(addErrorInfo('没有获取用户信息')) dispatch(addErrorInfo('没有获取用户信息'))
...@@ -90,6 +99,7 @@ const getTaskList = (data={},callback=null)=>{ ...@@ -90,6 +99,7 @@ const getTaskList = (data={},callback=null)=>{
headers: myHeaders headers: myHeaders
}).then(response=>response.json()) }).then(response=>response.json())
.then((json)=>{ .then((json)=>{
UTILPATH.myLogger.info("getTaskList response ",json);
let data =Object.assign({}); let data =Object.assign({});
if(json.meta.success && json.data){ if(json.meta.success && json.data){
data.taskInfo = Object.assign({},json.data.flatCommonVo); data.taskInfo = Object.assign({},json.data.flatCommonVo);
...@@ -106,10 +116,10 @@ const getTaskList = (data={},callback=null)=>{ ...@@ -106,10 +116,10 @@ const getTaskList = (data={},callback=null)=>{
callback() callback()
} }
}).catch(e=>{ }).catch(e=>{
UTILPATH.myLogger.error(`getTaskList error ${e}`);
if(callback){ if(callback){
callback() callback()
} }
UTILPATH.myLogger.error("getTaskList error ",e);
}) })
} }
} }
...@@ -129,6 +139,14 @@ const logout = ()=>{ ...@@ -129,6 +139,14 @@ const logout = ()=>{
} }
}; };
const emptyStoreInfo = ()=>{
let data = Object.assign({},{storeInfo:{}});
return {
type : actionType.EMPTYCOMMONINFO,
data
}
}
const getTaskName = (currentTaskType,childTaskNum=0)=>{ const getTaskName = (currentTaskType,childTaskNum=0)=>{
return { return {
type : actionType.GETTASKNAME, type : actionType.GETTASKNAME,
...@@ -136,4 +154,4 @@ const getTaskName = (currentTaskType,childTaskNum=0)=>{ ...@@ -136,4 +154,4 @@ const getTaskName = (currentTaskType,childTaskNum=0)=>{
} }
} }
export {getStoreInfo,saveCommonInfo,getUserinfo,logout,getTaskList,getTaskName} export {getStoreInfo,saveCommonInfo,getUserinfo,logout,getTaskList,getTaskName,emptyStoreInfo}
...@@ -3,22 +3,6 @@ import actionTypes from '../actiontype/store' ...@@ -3,22 +3,6 @@ import actionTypes from '../actiontype/store'
import {saveHeaderInfo} from './initHeader' import {saveHeaderInfo} from './initHeader'
const domain = ENV.domain; 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)=>{ const saveStoreInfo = (data)=>{
return{ return{
type:actionTypes.SAVESTORE, type:actionTypes.SAVESTORE,
...@@ -35,7 +19,7 @@ var myHeaders = new Headers({ ...@@ -35,7 +19,7 @@ var myHeaders = new Headers({
const getStoreInfo = (data)=>{ const getStoreInfo = (data)=>{
let storeId = data.storeId let storeId = data.storeId;
return(dispatch)=>{ return(dispatch)=>{
dispatch(saveHeaderInfo(data)) dispatch(saveHeaderInfo(data))
let bodyData = {storeId}; let bodyData = {storeId};
...@@ -56,7 +40,38 @@ const getStoreInfo = (data)=>{ ...@@ -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}
...@@ -48,7 +48,8 @@ const getTroubleList = (info) => { ...@@ -48,7 +48,8 @@ const getTroubleList = (info) => {
dispatch(saveTroubleList(json.data)) dispatch(saveTroubleList(json.data))
} }
}).catch(e => { }).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) => { ...@@ -69,7 +70,8 @@ const updateTroubleList = (info, headerInfo) => {
.then(json => { .then(json => {
dispatch(getTaskList(headerInfo)) dispatch(getTaskList(headerInfo))
}).catch(e => { }).catch(e => {
UTILPATH.myLogger.error("save_all_error error ",e); UTILPATH.myLogger.error(`save_all_error error ${e}`);
// dispatch(updateTroubleList(info, headerInfo))
}) })
} }
}; };
......
...@@ -13,8 +13,7 @@ let lock = false; ...@@ -13,8 +13,7 @@ let lock = false;
const finishBoxRecovery = (info)=>{ const finishBoxRecovery = (info)=>{
//已放入回收箱 //已放入回收箱
return async dispatch => {
return (dispatch)=>{
if(!lock){ if(!lock){
lock = true; lock = true;
let {userInfo={},taskInfo={},storeInfo={},taskList={}} = info; let {userInfo={},taskInfo={},storeInfo={},taskList={}} = info;
...@@ -26,24 +25,33 @@ const finishBoxRecovery = (info)=>{ ...@@ -26,24 +25,33 @@ const finishBoxRecovery = (info)=>{
taskType : taskInfo.currentTaskType || "", taskType : taskInfo.currentTaskType || "",
area : taskInfo.area || "" 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`; let url=`${domain}machine_pad/update_machine_recovery_sku.action`;
fetch(url,{
credentials : 'include', let success = (res)=>{
method : 'POST', dispatch(saveProductInfo({}));
mode : 'cors', dispatch(getTaskList(info,()=>{
headers: myHeaders,
body:JSON.stringify(bodyData)
}).then(response=>response.json())
.then((json)=>{
dispatch(saveProductInfo({}));
dispatch(getTaskList(info,()=>{
lock = false;
}));
}).catch(e=>{
lock = false; lock = false;
UTILPATH.myLogger.error("update_machine_recovery_sku error ",e); }));
}) };
let fail = (err)=>{
lock = false;
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)
}
} }
} }
}; };
......
...@@ -2,6 +2,7 @@ import fetch from 'isomorphic-fetch'; ...@@ -2,6 +2,7 @@ import fetch from 'isomorphic-fetch';
import actionType from '../actiontype/replenish' import actionType from '../actiontype/replenish'
import {getTaskList} from "./common"; import {getTaskList} from "./common";
import {saveProductInfo} from "./barcodeCommon"; import {saveProductInfo} from "./barcodeCommon";
import {finishBoxRecovery} from "./recovery";
const domain = ENV.domain; const domain = ENV.domain;
let myHeaders = new Headers({ let myHeaders = new Headers({
...@@ -35,8 +36,8 @@ const finishReplenish = (info,source)=>{ ...@@ -35,8 +36,8 @@ const finishReplenish = (info,source)=>{
area : taskInfo.area, area : taskInfo.area,
id : source === 1 ? taskList.workListId : 0, id : source === 1 ? taskList.workListId : 0,
}); });
let url=`${domain}machine_pad/trigger_ck_task_sku.action` let url=`${domain}machine_pad/trigger_ck_task_sku.action`;
UTILPATH.myLogger.info("trigger_ck_task_sku request",bodyData); UTILPATH.myLogger.info("trigger_ck_task_sku request ",bodyData);
return (dispatch)=>{ return (dispatch)=>{
fetch(url,{ fetch(url,{
credentials : 'include', credentials : 'include',
...@@ -48,7 +49,8 @@ const finishReplenish = (info,source)=>{ ...@@ -48,7 +49,8 @@ const finishReplenish = (info,source)=>{
.then((json)=>{ .then((json)=>{
dispatch(getTaskList(info)); dispatch(getTaskList(info));
}).catch(e=>{ }).catch(e=>{
UTILPATH.myLogger.error("trigger_ck_task_sku error ",e); UTILPATH.myLogger.error(`trigger_ck_task_sku error ${e}`);
// dispatch(finishReplenish(info,source))
}) })
} }
} }
......
...@@ -48,6 +48,7 @@ const uploadError = (info,exceptionType,getTask=true)=>{ ...@@ -48,6 +48,7 @@ const uploadError = (info,exceptionType,getTask=true)=>{
area : taskInfo.area || '' area : taskInfo.area || ''
}); });
UTILPATH.myLogger.info("exception_skupass_sku bodyData ",bodyData); UTILPATH.myLogger.info("exception_skupass_sku bodyData ",bodyData);
UTILPATH.myLogger.info("exception_skupass_sku getTask ",getTask);
return (dispatch =>{ return (dispatch =>{
fetch(domain + 'machine_pad/exception_skupass_sku.action',{ fetch(domain + 'machine_pad/exception_skupass_sku.action',{
credentials : 'include', credentials : 'include',
...@@ -63,7 +64,8 @@ const uploadError = (info,exceptionType,getTask=true)=>{ ...@@ -63,7 +64,8 @@ const uploadError = (info,exceptionType,getTask=true)=>{
dispatch(saveProductInfo({})) dispatch(saveProductInfo({}))
} }
}).catch(e=>{ }).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)=>{ ...@@ -93,10 +95,9 @@ const timeoutAlarm = (info)=>{
}).then((response)=>response.json()) }).then((response)=>response.json())
.then(json=>{ .then(json=>{
}).catch(e=>{ }).catch(e=>{
UTILPATH.myLogger.error("expired_send_error_msg error ",e); UTILPATH.myLogger.error(`expired_send_error_msg error ${e}`);
// dispatch(timeoutAlarm(info))
}); });
}) })
} }
......
...@@ -2,6 +2,7 @@ import fetch from 'isomorphic-fetch'; ...@@ -2,6 +2,7 @@ import fetch from 'isomorphic-fetch';
import actionTypes from '../actiontype/user' import actionTypes from '../actiontype/user'
import {saveHeaderInfo} from './initHeader' import {saveHeaderInfo} from './initHeader'
import {addErrorInfo} from './uploadError' import {addErrorInfo} from './uploadError'
import {saveCommonInfo, getUserinfo, emptyStoreInfo} from "./common";
const domain = ENV.domain; const domain = ENV.domain;
...@@ -19,7 +20,7 @@ var myHeaders = new Headers({ ...@@ -19,7 +20,7 @@ var myHeaders = new Headers({
const getUserinfo = (info,headerInfo)=>{ const getUserinfoOld = (info,headerInfo)=>{
let employeeId = info.employeeId; let employeeId = info.employeeId;
let storeId = headerInfo.storeId; let storeId = headerInfo.storeId;
let bodyData = Object.assign({},{employeeId,storeId}) let bodyData = Object.assign({},{employeeId,storeId})
...@@ -49,5 +50,71 @@ const logoutUser = ()=>{ ...@@ -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}
const actionTypes = { const actionTypes = {
SAVESTORE : 'SAVESTORE', SAVESTORE : 'SAVESTORE',
SAVESTORELIST : 'SAVESTORELIST',
} }
export default actionTypes export default actionTypes
\ No newline at end of file
...@@ -8,10 +8,14 @@ export default class HeaderComponent extends React.Component{ ...@@ -8,10 +8,14 @@ export default class HeaderComponent extends React.Component{
this.getHomeHeader = this.getHomeHeader.bind(this); this.getHomeHeader = this.getHomeHeader.bind(this);
this.getOtherHeader = this.getOtherHeader.bind(this); this.getOtherHeader = this.getOtherHeader.bind(this);
this.handleShowClassify = this.handleShowClassify.bind(this); this.handleShowClassify = this.handleShowClassify.bind(this);
this.showVersion = this.showVersion.bind(this);
this.state = { this.state = {
showHeader : headerStatus[1], showHeader : headerStatus[1],
showClassify : false showClassify : false,
showVersion : false,
} }
this.timer = null;
this.countbackTime = 1000;
} }
componentWillReceiveProps(nextProps){ componentWillReceiveProps(nextProps){
...@@ -42,6 +46,22 @@ export default class HeaderComponent extends React.Component{ ...@@ -42,6 +46,22 @@ export default class HeaderComponent extends React.Component{
return pages; 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(){ getHomeHeader(){
let headerInfo = this.props.headerInfo; let headerInfo = this.props.headerInfo;
let {storeInfo,userInfo,taskInfo} = headerInfo; let {storeInfo,userInfo,taskInfo} = headerInfo;
...@@ -52,24 +72,30 @@ export default class HeaderComponent extends React.Component{ ...@@ -52,24 +72,30 @@ export default class HeaderComponent extends React.Component{
} }
} }
let versionStyle = {
lineHeight: "3.6",
textAlign: "center",
width: "100%"
};
return ( return (
<div className={"homeHeader clearfix"}> <div className={"homeHeader clearfix"}>
{ <div className={"headerContent leftContent fl"}>
<div className={"headerContent leftContent fl"}> <div className={"headerlogo"} onClick={()=>this.showVersion()}>
<div className={"headerlogo"}>
<img className={"logoImg"} src={UTILPATH.localImg.headlogo} alt=""/>
</div>
{ {
taskInfo && taskInfo.currentTaskNum && taskInfo.totalTaskNum ? this.state.showVersion ? <div className={"colfff font26"} style={versionStyle}>当前版本号 --- {CURVERSION}</div> :
<div className={"taskProgress"}> <img className={"logoImg"} src={UTILPATH.localImg.headlogo} alt=""/>
<div className={"currentTask"} style={style}></div>
<div className={"progressText col333 font26"}>任务进度 {taskInfo.currentTaskNum}/{taskInfo.totalTaskNum}</div>
</div> : null
} }
</div> </div>
} {
taskInfo && taskInfo.currentTaskNum && taskInfo.totalTaskNum ?
<div className={"taskProgress"}>
<div className={"currentTask"} style={style}></div>
<div className={"progressText col333 font26"}>任务进度 {taskInfo.currentTaskNum}/{taskInfo.totalTaskNum}</div>
</div> : null
}
</div>
<div className={"headerContent rightContent fr "}> <div className={"headerContent rightContent fr "}>
{ {
storeInfo && storeInfo.id ? <div className={"locationInfo"}> storeInfo && storeInfo.id ? <div className={"locationInfo"}>
......
...@@ -43,8 +43,10 @@ export default class ReplenishSkuPage extends React.Component{ ...@@ -43,8 +43,10 @@ export default class ReplenishSkuPage extends React.Component{
this.setState({ this.setState({
btnClock : true btnClock : true
},()=>{ },()=>{
this.props.finishBoxRecovery(); this.props.finishBoxRecovery().then(()=>{
this.continueScan() this.continueScan()
});
}) })
} }
} }
......
...@@ -2,7 +2,9 @@ ...@@ -2,7 +2,9 @@
const socketType = { const socketType = {
GETSTOREINFO:'GETSTOREINFO', GETSTOREINFO:'GETSTOREINFO',
GETSOCKETMSG:'GETSOCKETMSG', GETSOCKETMSG:'GETSOCKETMSG',
SOCKETERROR : 'SOCKETERROR' SOCKETERROR : 'SOCKETERROR',
STARTSTOPSERVER : 'STARTSTOPSERVER', //开启断电断网流程
STOPSTOPSERVER : 'STOPSTOPSERVER' //关闭断电断网流程
} }
module.exports = socketType; module.exports = socketType;
\ No newline at end of file
...@@ -43,12 +43,24 @@ export default class HomePageContainer extends React.Component{ ...@@ -43,12 +43,24 @@ export default class HomePageContainer extends React.Component{
this.setState({ this.setState({
closeDoorStatus : 1 closeDoorStatus : 1
},()=>{ },()=>{
this.props.willCloseDoor(); UTILPATH.myLogger.info("logout startStopServer ",this.props.startStopServer);
this.props.endCountBack(); if(this.props.startStopServer){
let msg={type:'WILL_CLOSEDOOR'}; this.props.willCloseDoor().then(()=>{
sendMsg(JSON.stringify(msg)); this.props.endCountBack();
this.props.changeIsSend(true); this.props.tempLogout()
// 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{ ...@@ -124,8 +136,11 @@ export default class HomePageContainer extends React.Component{
) )
} }
start(){ start(){
let props=this.props; let props = this.props;
props.getTaskList(); let {getTaskList} = props;
if(getTaskList){
getTaskList();
}
} }
} }
......
...@@ -103,6 +103,18 @@ body { ...@@ -103,6 +103,18 @@ body {
font-size: calc(var(--font3) * font18 * var(--base)) !important; 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 { .font22 {
font-size: calc(font22 * var(--base)) !important; font-size: calc(font22 * var(--base)) !important;
} }
......
...@@ -6,14 +6,23 @@ import reducers from './reducers/index'; ...@@ -6,14 +6,23 @@ import reducers from './reducers/index';
import { createLogger } from 'redux-logger' import { createLogger } from 'redux-logger'
import thunkMiddleware from 'redux-thunk'; import thunkMiddleware from 'redux-thunk';
require('./index.css'); require('./index.css');
import PageContainer from './containers/PageContainer/PageContainer' import PageContainer from './containers/PageContainer/PageContainer';
const env = process.env.NODE_ENV;
function activateVendor() { function activateVendor() {
const logMiddleware = createLogger(); const logMiddleware = createLogger();
return createStore( return (
reducers, env === "development" ? createStore(
applyMiddleware( reducers,
thunkMiddleware, applyMiddleware(
logMiddleware thunkMiddleware,
logMiddleware
)
) : createStore(
reducers,
applyMiddleware(
thunkMiddleware,
)
) )
) )
} }
...@@ -28,6 +37,7 @@ function renderPage(store) { ...@@ -28,6 +37,7 @@ function renderPage(store) {
let store = activateVendor(); let store = activateVendor();
UTILPATH.socket.getIp1(); UTILPATH.socket.getIp1();
UTILPATH.socket.stopServer();
// UTILPATH.socket.getTestIp(203); // UTILPATH.socket.getTestIp(203);
renderPage(store); renderPage(store);
\ No newline at end of file
...@@ -2,12 +2,18 @@ import actionTypes from '../actiontype/store'; ...@@ -2,12 +2,18 @@ import actionTypes from '../actiontype/store';
const saveStore = (content,data)=>{ const saveStore = (content,data)=>{
return Object.assign({},content,data); return Object.assign({},content,data);
};
const saveStoreList = (content,data)=>{
return Object.assign({},content,{storeList:data});
} }
export default function(state={}, action) { export default function(state={}, action) {
switch (action.type) { switch (action.type) {
case actionTypes.SAVESTORE: case actionTypes.SAVESTORE:
return saveStore(state,action.data) return saveStore(state,action.data);
case actionTypes.SAVESTORELIST:
return saveStoreList(state,action.data);
default: default:
return state; return state;
} }
......
...@@ -17,6 +17,7 @@ myLogger.saveDomain = (ip)=>{ ...@@ -17,6 +17,7 @@ myLogger.saveDomain = (ip)=>{
myLogger.info = function () { myLogger.info = function () {
let args = [].slice.call(arguments) || []; let args = [].slice.call(arguments) || [];
// console.log.apply(console,args);
if(domain && args.length > 0){ if(domain && args.length > 0){
let bodyData = {}; let bodyData = {};
let time = new Date().getTime(); let time = new Date().getTime();
......
import {emit} from './event' import {emit, on , remove} from './event'
import myLogger from './logger' import myLogger from './logger'
let domainIp = '192.168.8.'; let domainIp = '192.168.8.';
...@@ -12,6 +12,49 @@ let getIpING = false; //正在获取IP ...@@ -12,6 +12,49 @@ let getIpING = false; //正在获取IP
let currentIpIndex = 255; let currentIpIndex = 255;
let ws = null; let ws = null;
let storeId = 0; 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 = ()=>{ socket.getIp1 = ()=>{
if(!getIpING) { if(!getIpING) {
...@@ -34,14 +77,17 @@ socket.getIp1 = ()=>{ ...@@ -34,14 +77,17 @@ socket.getIp1 = ()=>{
let info = JSON.parse(evt.data); let info = JSON.parse(evt.data);
if(info.type === 'GET_STORE_ID' && info.data){ if(info.type === 'GET_STORE_ID' && info.data){
ws1.close(); ws1.close();
init(currentIpIndex,info.data,true); if(!startStopServer){
//非断电断网情况就连接
init(currentIpIndex,info.data,true);
}
} }
} }
}; };
ws1.onerror = function (err) { ws1.onerror = function (err) {
totalCount++; totalCount++;
if(totalCount >= 255){ if(totalCount >= 255 && !startStopServer){
totalCount = 0; totalCount = 0;
currentIpIndex = 255; currentIpIndex = 255;
getIpING = false; getIpING = false;
...@@ -72,7 +118,10 @@ socket.getTestIp = (ip) => { ...@@ -72,7 +118,10 @@ socket.getTestIp = (ip) => {
let info = JSON.parse(evt.data); let info = JSON.parse(evt.data);
if(info.type === 'GET_STORE_ID' && info.data){ if(info.type === 'GET_STORE_ID' && info.data){
ws1.close(); ws1.close();
init(currentIpIndex,info.data,true); if(!startStopServer){
init(currentIpIndex,info.data,true);
}
} }
} }
...@@ -87,12 +136,7 @@ const getError = ()=>{ ...@@ -87,12 +136,7 @@ const getError = ()=>{
const getClose = ()=>{ const getClose = ()=>{
//如果有currentIp就没有必要再次循环 //如果有currentIp就没有必要再次循环
ws = null; ws = null;
if(!getIpING){ beginConnectSocket();
currentIpIndex = 255;
totalCount = 0;
storeId = 0;
socket.getIp1();
}
} }
...@@ -111,6 +155,13 @@ const init = (ip,storeid,from = false)=>{ ...@@ -111,6 +155,13 @@ const init = (ip,storeid,from = false)=>{
storeId = storeid; storeId = storeid;
getIpING = false; getIpING = false;
myLogger.saveDomain(domainIp+ip); myLogger.saveDomain(domainIp+ip);
if(stopTimer){
//重连成功后,终止倒计时
clearTimeout(stopTimer);
stopTimer = null;
startStopServer = false;
myLogger.info("连接成功,停止stopTimer倒计时");
}
emit(CONFIG.socketType.GETSTOREINFO,{ip:domainIp+ip,storeId:storeid}) emit(CONFIG.socketType.GETSTOREINFO,{ip:domainIp+ip,storeId:storeid})
}; };
...@@ -122,7 +173,7 @@ const init = (ip,storeid,from = false)=>{ ...@@ -122,7 +173,7 @@ const init = (ip,storeid,from = false)=>{
}; };
ws.send(JSON.stringify(o)); ws.send(JSON.stringify(o));
}else{ }else{
var received_msg = JSON.parse(evt.data); //String let received_msg = JSON.parse(evt.data); //String
emit(CONFIG.socketType.GETSOCKETMSG,received_msg); emit(CONFIG.socketType.GETSOCKETMSG,received_msg);
} }
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1", "test": "echo \"Error: no test specified\" && exit 1",
"clean": "rm -rf static/*", "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", "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 --progress --color", "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" "build:prod": "cross-env NODE_ENV=development webpack --env=build --progress --color"
}, },
"author": "", "author": "",
......
...@@ -76,6 +76,18 @@ function getEnv(){ ...@@ -76,6 +76,18 @@ function getEnv(){
} }
let env = 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 = { let envConfig = {
'build':{ 'build':{
output:{ output:{
...@@ -91,7 +103,8 @@ let envConfig = { ...@@ -91,7 +103,8 @@ let envConfig = {
new webpack.optimize.AggressiveMergingPlugin(), new webpack.optimize.AggressiveMergingPlugin(),
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env': { NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'production') }, 'process.env': { NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'production') },
'BASEREM' : 120 'BASEREM' : 120,
'CURVERSION' : JSON.stringify(curversion)
}), }),
new webpack.ProvidePlugin({ new webpack.ProvidePlugin({
ENV: __dirname + '/client/env/production', ENV: __dirname + '/client/env/production',
...@@ -115,7 +128,8 @@ let envConfig = { ...@@ -115,7 +128,8 @@ let envConfig = {
}), //分割共有模块和代码模块 }), //分割共有模块和代码模块
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env': { NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'development') }, 'process.env': { NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'development') },
'BASEREM' : 120 'BASEREM' : 120,
'CURVERSION' : JSON.stringify(curversion)
}), }),
new webpack.ProvidePlugin({ new webpack.ProvidePlugin({
ENV: __dirname + '/client/env/development', ENV: __dirname + '/client/env/development',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment