| | |
| | | selectedIconPath: '../../static/tabBar-icon/Bmine57.png', |
| | | text: '我的' |
| | | } |
| | | ], |
| | | three: [{ |
| | | pagePath: 'pages/tabbar-page/index-tabbar/index-tabbar', |
| | | iconPath: '../../static/tabBar-icon/home.png', |
| | | selectedIconPath: '../../static/tabBar-icon/homeblue.png', |
| | | text: '首页' |
| | | }, |
| | | { |
| | | pagePath: 'pages/tabbar-page/myPage-tabbar/myPage-tabbar', |
| | | iconPath: '../../static/tabBar-icon/Gmine10.png', |
| | | selectedIconPath: '../../static/tabBar-icon/Bmine57.png', |
| | | text: '我的' |
| | | } |
| | | ] |
| | | } |
| | | const store = new Vuex.Store({ |
| | | state: { |
| | | // 用戶界面判斷 |
| | | userInfo: {}, |
| | | roleType: null, // 1客户,2货代,3司机 |
| | | roleType: null, // 1客户,2货代,3司机 5装卸员 |
| | | userTabbar: [], // 用户所在角色底部菜单, |
| | | // 称重时的重量 |
| | | globalweigh: 0, |
| | |
| | | socketTask: null, |
| | | websocketData: null, // 存放从后端接收到的websocket数据 |
| | | globalIntervalId: null, |
| | | is_open_socket: false, //避免重复连接 |
| | | connectNum: 1, //重连次数, |
| | | reconnectTimeOut: null, |
| | | // 打印出入门证 一次就可以有打印入门证, 两次可以有入门证 出门证 0次一张都没有 |
| | | ablePrintInduction: false, //入门证 |
| | | ablePrintOut: false, //出门证 |
| | | driverTourImgList: ['https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj1.png', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj2.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj3.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj4.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj5.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj6.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj7.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj8.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj9.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj10.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj11.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj12.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj13.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj14.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj15.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj16.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj17.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj18.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj19.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj20.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj21.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj22.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj23.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj24.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj25.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj26.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj27.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj28.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj29.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj30.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj31.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj32.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj33.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj33-1.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj34.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj35.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj36.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj37.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj38.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj39.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj40.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj41.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj42.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj43.jpg', |
| | | 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj44.jpg', |
| | | ], |
| | | wsgVisiable: false, //磅房忙碌弹窗控制 |
| | | wsgContent: '', |
| | | globalIsFirstWeighing: 1, //是否是第一次上磅 |
| | | confirmWeighVisiable: false, //磅房管理确认称重完成提示弹窗 |
| | | confirmWeighContent: '' |
| | | }, |
| | | mutations: { |
| | | lengthchange(state, payload) { |
| | |
| | | uni.setStorageSync('userTabbar', state.userTabbar) |
| | | } else if (roleType == 2 || roleType == 3) { |
| | | state.userTabbar = userRoleTabbar.second |
| | | uni.setStorageSync('userTabbar', state.userTabbar) |
| | | } else if (roleType == 5) { |
| | | state.userTabbar = userRoleTabbar.three |
| | | uni.setStorageSync('userTabbar', state.userTabbar) |
| | | } |
| | | }, |
| | |
| | | changeuserInfo(state, payload) { |
| | | state.globaluserInfo = payload |
| | | }, |
| | | changesocketTask(state, payload) { |
| | | state.socketTask = payload |
| | | }, |
| | | // 改版全局websocket状态 |
| | | changeisconnect(state, payload) { |
| | | state.globalisconnect = payload |
| | |
| | | }, |
| | | setWebsocketData(state, data) { |
| | | state.websocketData = data |
| | | }, |
| | | // 改变重连状态 |
| | | changereconnectState(state, payload) { |
| | | state.is_open_socket = payload |
| | | }, |
| | | // 改变重连次数 |
| | | changereconnectNum(state, payload) { |
| | | if (payload.isWeigh) { |
| | | state.connectNum = payload.connectNum |
| | | } else { |
| | | if (state.connectNum < 6) { |
| | | state.connectNum += payload.connectNum |
| | | } else { |
| | | state.connectNum = payload.connectNum |
| | | } |
| | | } |
| | | }, |
| | | changeablePrintInduction(state, payload) { |
| | | state.ablePrintInduction = payload |
| | | }, |
| | | changeablePrintOut(state, payload) { |
| | | state.ablePrintOut = payload |
| | | }, |
| | | changewsgVisiable(state, payload) { |
| | | state.wsgVisiable = payload |
| | | }, |
| | | changewsgContent(state, payload) { |
| | | state.wsgContent = payload |
| | | }, |
| | | changeglobalIsFirstWeighing(state, payload) { |
| | | state.globalIsFirstWeighing = payload |
| | | }, |
| | | changeconfirmWeighVisiable(state, payload) { |
| | | state.confirmWeighVisiable = payload |
| | | }, |
| | | changeconfirmWeighContent(state, payload) { |
| | | state.confirmWeighContent = payload |
| | | } |
| | | }, |
| | | actions: { |
| | | websocketInit({ state, dispatch, commit }) { |
| | | let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}` |
| | | state.socketTast = uni.connectSocket({ |
| | | state.socketTask = uni.connectSocket({ |
| | | url: wsUrl, |
| | | header: { CLIENT_TOC: 'Y' }, |
| | | complete: res => { |
| | | console.log(res, 'socket结果') |
| | | success: res => { |
| | | console.log(res, 'socketSuccess') |
| | | if (res.errMsg === 'connectSocket:ok') { |
| | | commit('changeisconnect', true) |
| | | commit('changereconnectState', true) |
| | | } |
| | | }, |
| | | fail: res => { |
| | | console.log(res, 'socketFail') |
| | | console.log('ws失败'); |
| | | commit('changereconnectState', false) |
| | | dispatch('reconnect') |
| | | commit('changeisconnect', false) |
| | | } |
| | | }) |
| | | state.socketTast.onOpen(() => dispatch('websocketOnOpen')) |
| | | state.socketTast.onMessage(result => dispatch('websocketOnMessage', result.data)) |
| | | state.socketTast.onClose(e => dispatch('websocketOnClose', e)) |
| | | state.socketTast.onError(e => dispatch('websocketOnError')) |
| | | state.socketTask.onOpen(() => dispatch('websocketOnOpen')) |
| | | state.socketTask.onMessage(result => dispatch('websocketOnMessage', result.data)) |
| | | state.socketTask.onClose(e => dispatch('websocketOnClose', e)) |
| | | state.socketTask.onError(e => dispatch('websocketOnError', e)) |
| | | }, |
| | | websocketOnOpen({ state, commit }) { |
| | | console.log('onOpen') |
| | | console.log('ws打开') |
| | | clearInterval(state.reconnectTimeOut) |
| | | clearInterval(state.globalIntervalId) |
| | | state.globalIntervalId = setInterval(() => { |
| | | state.socketTast.send({ |
| | | state.socketTask.send({ |
| | | data: JSON.stringify({ type: 'ping' }), |
| | | success(e) { |
| | | console.log(e, '发送心跳成功') |
| | |
| | | }) |
| | | }, 30000) |
| | | }, |
| | | websocketOnClose({ state, commit }) { |
| | | if (!state.socketTast) return |
| | | state.socketTast.close(e => { |
| | | websocketOnClose({ state, commit, dispatch }, e) { |
| | | if (!state.socketTask) return |
| | | console.log('ws关闭', e) |
| | | state.socketTask.close(e => { |
| | | commit('changeisconnect', false) |
| | | }) |
| | | console.log('ws关闭') |
| | | clearInterval(state.globalIntervalId) |
| | | clearInterval(state.reconnectTimeOut) |
| | | state.socketTask = null |
| | | commit('changereconnectState', false) |
| | | if ((state.connectNum < 6 || state.connectNum.connectNum < 6) && state.globalisLogin) { |
| | | uni.showToast({ |
| | | title: '连接失败,正在尝试重新连接', |
| | | icon: 'none' |
| | | }) |
| | | commit('changereconnectNum', { connectNum: 1, isWeigh: false }) |
| | | dispatch('reconnect') |
| | | } else if (state.connectNum >= 6 && state.globalisLogin) { |
| | | commit('changereconnectNum', { connectNum: 1, isWeigh: false }) |
| | | uni.showToast({ |
| | | title: '网络异常,请稍后重试', |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | return |
| | | } |
| | | }, |
| | | websocketOnError(e) { |
| | | console.log('socket报错', e) |
| | | websocketOnError({ state, commit, dispatch }, e) { |
| | | // 如果重连状态为false则不进行重连,为true才会 |
| | | console.log('ws报错', e) |
| | | clearInterval(state.globalIntervalId) |
| | | clearInterval(state.reconnectTimeOut) |
| | | state.socketTask = null |
| | | commit('changereconnectState', false) |
| | | if (state.connectNum < 6 || state.connectNum.connectNum < 6 && state.globalisLogin) { |
| | | uni.showToast({ |
| | | title: '连接失败,正在尝试重新连接', |
| | | icon: 'none' |
| | | }) |
| | | commit('changereconnectNum', { connectNum: 1, isWeigh: false }) |
| | | dispatch('reconnect') |
| | | } else if (state.connectNum > 6 && state.globalisLogin) { |
| | | commit('changereconnectNum', { connectNum: 1, isWeigh: false }) |
| | | uni.showToast({ |
| | | title: '网络异常,请稍后重试', |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | return |
| | | } |
| | | }, |
| | | // 接收数据 |
| | | websocketOnMessage({ state, commit }, result) { |
| | | commit('setWebsocketData', result) |
| | | }, |
| | | // 重新连接 |
| | | reconnect({ state, commit, dispatch }) { |
| | | console.log(state.is_open_socket, '重新连接socket状态'); |
| | | clearInterval(state.globalIntervalId) |
| | | if (!state.is_open_socket && state.globalisLogin) { |
| | | state.reconnectTimeOut = setInterval(() => { |
| | | dispatch('websocketInit') |
| | | }, 5000) |
| | | } |
| | | } |
| | | } |
| | | }) |