index.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import Vue from "vue"
  2. import Vuex from "vuex"
  3. import {
  4. assign,
  5. slice,
  6. isEmpty
  7. } from 'lodash-es'
  8. import task from './modules/task.js'
  9. Vue.use(Vuex)
  10. const store = new Vuex.Store({
  11. state: {
  12. list: {}, // 列表以及聊天内容数据
  13. video: null, // 视频通话数据
  14. wornlist: {},
  15. addobj: [],
  16. kpsurlL: 0,
  17. worndatabase: [],
  18. selfRoomInfo: null,
  19. pendingVideoConnect: false,
  20. isVideoTalking: false,
  21. isVideoCallRefused: false,
  22. userInfo: {},
  23. isInLoginPage:false,
  24. currentReceiveUserID:'',// 当前接收到的视频用户ID
  25. },
  26. mutations: {
  27. updateVideoInfo(state, payload) {
  28. state.video = assign({}, payload)
  29. state.pendingVideoConnect = !isEmpty(payload)
  30. },
  31. updateVideoSelfRoomInfo(state, payload) {
  32. state.selfRoomInfo = assign({}, payload)
  33. },
  34. updateMessageList(state, payload) {
  35. state.list = slice(payload)
  36. },
  37. updatePendingVideoConnectStatus(state, flag) {
  38. state.pendingVideoConnect = flag
  39. },
  40. updateTalkingStatus(state, flag) {
  41. state.isVideoTalking = flag
  42. },
  43. updateIsRefusedCall(state, flag) {
  44. state.isVideoCallRefused = flag
  45. },
  46. updateUserInfo(state,payload){
  47. console.log(payload,'update user info')
  48. state.userInfo = payload
  49. },
  50. updateInLoginPageStatus(state,flag){
  51. state.isInLoginPage = flag;
  52. },
  53. updateCurrentReceiveUserID(state,id){
  54. state.currentReceiveUserID = id
  55. }
  56. },
  57. actions: {},
  58. getters: {
  59. list: () => {
  60. },
  61. userUID(state) {
  62. console.log(state.userInfo,'store user uid')
  63. return state.userInfo.myuid || ''
  64. }
  65. },
  66. modules: {
  67. task
  68. }
  69. })
  70. export default store