index.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import browser from "@/utils/browser";
  4. Vue.use(Vuex)
  5. const store = new Vuex.Store({
  6. state: {
  7. userAvatar: '',
  8. userNickName: '',
  9. info:'',
  10. backupInfo:'',
  11. showInfo:'',
  12. hotspot:'',
  13. backupHotSpot:'',
  14. initScene:'',
  15. tablist:[],
  16. temptablist:[],
  17. vrlist:[],
  18. allVrlist:[],
  19. sceneList:[],
  20. activeItem:'',
  21. isEditing:false,
  22. isShow: false,
  23. uploadStatusListAudio: [],
  24. uploadStatusListImage: [],
  25. uploadStatusListPano: [],
  26. uploadStatusListVideo: [],
  27. },
  28. getters: {
  29. userAvatar: state => state.userAvatar,
  30. userNickName: state => state.userNickName,
  31. isEditing:state=>state.isEditing,
  32. info:state=>state.info,
  33. showInfo:state=>state.showInfo,
  34. backupInfo:state=>state.backupInfo,
  35. hotspot:state=>state.hotspot,
  36. backupHotSpot:state=>state.backupHotSpot,
  37. initScene:state=>state.initScene,
  38. activeItem:state=>state.activeItem,
  39. vrlist:state=>state.vrlist,
  40. tablist:state=>state.tablist,
  41. temptablist:state=>state.temptablist,
  42. sceneList:state=>state.sceneList,
  43. isShow:state=>state.isShow,
  44. allVrlist:state=>state.allVrlist,
  45. uploadStatusListAudio: state => state.uploadStatusListAudio,
  46. uploadStatusListImage: state => state.uploadStatusListImage,
  47. uploadStatusListPano: state => state.uploadStatusListPano,
  48. uploadStatusListVideo: state => state.uploadStatusListVideo,
  49. },
  50. mutations: {
  51. SetUserAvatar(state, avatar) {
  52. if (typeof avatar === 'string') {
  53. state.userAvatar = avatar
  54. }
  55. },
  56. SetUserNickName(state, nickName) {
  57. if (typeof nickName === 'string') {
  58. state.userNickName = nickName
  59. }
  60. },
  61. SetTabList(state, list) {
  62. state.tablist = list
  63. },
  64. SetTempTabList(state, list) {
  65. state.temptablist = list
  66. },
  67. SetVrList(state, list) {
  68. state.vrlist = list
  69. },
  70. SetSceneList(state, list) {
  71. state.sceneList = list
  72. },
  73. UpdateIsShowState(state, isShow) {
  74. state.isShow = isShow
  75. },
  76. UpdateIsEditingState(state, isShow) {
  77. state.isEditing = isShow
  78. },
  79. SetAllVrlist(state, list) {
  80. state.allVrlist = list
  81. },
  82. SetInitScene(state, scene) {
  83. state.initScene = scene
  84. },
  85. SetActiveItem(state, scene) {
  86. state.activeItem = scene
  87. },
  88. SetShowInfo(state, data) {
  89. state.showInfo = data
  90. },
  91. SetInfo(state, data) {
  92. state.info = data
  93. this.commit("BackupInfo", browser.CloneObject(data));
  94. },
  95. BackupInfo(state, data) {
  96. state.backupInfo = data
  97. },
  98. SetHotspot(state, data) {
  99. state.hotspot = data
  100. this.commit("BackupHotSpot", browser.CloneObject(data));
  101. },
  102. BackupHotSpot(state, data) {
  103. state.backupHotSpot = data
  104. }
  105. },
  106. actions: {
  107. refreshUserInfo(context) {
  108. try {
  109. const userInfo = JSON.parse(localStorage.getItem('info'))
  110. context.commit('SetUserAvatar', userInfo.head)
  111. context.commit('SetUserNickName', userInfo.nickName)
  112. } catch (error) {
  113. console.log('从storage没有读取到有意义的info,store里用户信息置空。')
  114. context.commit('SetUserAvatar', '')
  115. context.commit('SetUserNickName', '')
  116. }
  117. },
  118. },
  119. modules: {
  120. }
  121. })
  122. export default store