index.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. },
  25. mutations: {
  26. updateVideoInfo(state, payload) {
  27. state.video = assign({}, payload)
  28. state.pendingVideoConnect = !isEmpty(payload)
  29. },
  30. updateVideoSelfRoomInfo(state, payload) {
  31. state.selfRoomInfo = assign({}, payload)
  32. },
  33. updateMessageList(state, payload) {
  34. state.list = slice(payload)
  35. },
  36. updatePendingVideoConnectStatus(state, flag) {
  37. state.pendingVideoConnect = flag
  38. },
  39. updateTalkingStatus(state, flag) {
  40. state.isVideoTalking = flag
  41. },
  42. updateIsRefusedCall(state, flag) {
  43. state.isVideoCallRefused = flag
  44. },
  45. updateUserInfo(state,payload){
  46. console.log(payload,'update user info')
  47. state.userInfo = payload
  48. },
  49. updateInLoginPageStatus(state,flag){
  50. state.isInLoginPage = flag;
  51. }
  52. },
  53. actions: {},
  54. getters: {
  55. list: () => {
  56. },
  57. userUID(state) {
  58. console.log(state.userInfo,'store user uid')
  59. return state.userInfo.myuid || ''
  60. }
  61. },
  62. modules: {
  63. task
  64. }
  65. })
  66. export default store