1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import Vue from 'vue'
- import Vuex from 'vuex'
- Vue.use(Vuex)
- const store = new Vuex.Store({
- state: {
- isLogin: false,
- isSDKReady: false,
- conversationActive: {},
- toUserId: '',
- conversationList: [],
- currentMessageList: [],
- isBusy: false
- },
- mutations: {
-
- toggleIsLogin(state, isLogin) {
- state.isLogin = typeof isLogin === 'undefined' ? !state.isLogin : isLogin
- },
-
- toggleIsSDKReady(state, isSDKReady) {
- state.isSDKReady = typeof isSDKReady === 'undefined' ? !state.isSDKReady : isSDKReady
- },
-
- reset(state) {
- state.isLogin = false
- state.isSDKReady = false
- },
-
- createConversationActive(state, toUserId) {
- state.conversationActive.conversationID = 'C2C' + toUserId
- state.toUserId = toUserId
- state.currentMessageList = []
- },
-
- updateConversationActive(state, conversationItem) {
- state.conversationActive = Object.assign({}, conversationItem);
- state.toUserId = conversationItem.userProfile.userID
- state.currentMessageList = []
- },
-
- updateConversationList(state, newConversationList) {
- state.conversationList = newConversationList
- },
- UPDATE_ISBUSY(state, isBusy) {
- state.isBusy = isBusy
- },
-
- pushCurrentMessageList(state, data) {
-
- if (Array.isArray(data)) {
-
- const result = data.filter(item => item.conversationID === state.conversationActive
- .conversationID)
- state.currentMessageList = [...state.currentMessageList, ...result]
- } else if (data.conversationID === state.conversationActive.conversationID) {
- state.currentMessageList = [...state.currentMessageList, data]
- }
- },
-
- unshiftCurrentMessageList(state, data) {
- if (data) {
- state.currentMessageList = [...data, ...state.currentMessageList]
- }
- }
- },
- actions: {
- }
- })
- export default store
|