From fc3b818f35aae344350dfb59551db257f261c580 Mon Sep 17 00:00:00 2001 From: xuefei <564615061@qq.cm> Date: 星期日, 02 七月 2023 11:53:26 +0800 Subject: [PATCH] bug:外购净重不对 --- store/index.js | 64 ++++++++++++++++++++++++++++++-- 1 files changed, 60 insertions(+), 4 deletions(-) diff --git a/store/index.js b/store/index.js index 72a6b9c..d498e51 100644 --- a/store/index.js +++ b/store/index.js @@ -1,5 +1,6 @@ import Vue from 'vue' import Vuex from 'vuex' +import { webSocketUrl } from '@/api/request.js' Vue.use(Vuex) // 鍔ㄦ�佸簳閮╰abbar @@ -71,8 +72,12 @@ weight: '', userId: '' }, - globalisconnect: false, - globalisUploadimg: false + globalisconnect: true, + globalisUploadimg: false, + globalisLogin: false, + socketTask: null, + websocketData: null, // 瀛樻斁浠庡悗绔帴鏀跺埌鐨剋ebsocket鏁版嵁 + globalIntervalId: null, }, mutations: { lengthchange(state, payload) { @@ -84,7 +89,7 @@ // 璁剧疆搴曢儴鏍� setUserTabbar(state, roleType) { state.roleType = roleType - if (roleType == 1) { + if (roleType == 1 || roleType == 4) { state.userTabbar = userRoleTabbar.first uni.setStorageSync('userTabbar', state.userTabbar) } else if (roleType == 2 || roleType == 3) { @@ -119,8 +124,59 @@ }, changeisUploadimg(state, payload) { state.globalisUploadimg = payload + }, + changeisLogin(state, payload) { + state.globalisLogin = payload + console.log(state.globalisLogin, '鍏ㄥ眬鐧诲綍鐘舵�佹敼鍙樹簡') + }, + setWebsocketData(state, data) { + state.websocketData = data + } + }, + actions: { + websocketInit({ state, dispatch, commit }) { + let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}` + state.socketTast = uni.connectSocket({ + url: wsUrl, + header: { CLIENT_TOC: 'Y' }, + complete: res => { + console.log(res, 'socket缁撴灉') + if (res.errMsg === 'connectSocket:ok') { + commit('changeisconnect', true) + } + } + }) + 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')) + }, + websocketOnOpen({ state, commit }) { + console.log('onOpen') + state.globalIntervalId = setInterval(() => { + state.socketTast.send({ + data: JSON.stringify({ type: 'ping' }), + success(e) { + console.log(e, '鍙戦�佸績璺虫垚鍔�') + } + }) + }, 30000) + }, + websocketOnClose({ state, commit }) { + if (!state.socketTast) return + state.socketTast.close(e => { + commit('changeisconnect', false) + }) + console.log('ws鍏抽棴') + }, + websocketOnError(e) { + console.log('socket鎶ラ敊', e) + }, + // 鎺ユ敹鏁版嵁 + websocketOnMessage({ state, commit }, result) { + commit('setWebsocketData', result) } } }) -export default store +export default store \ No newline at end of file -- Gitblit v1.9.1