index.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. import { createStore } from 'vuex'
  2. import modules from './modules/'
  3. import { useApp, getApp } from '@/app'
  4. const store = createStore({
  5. state() {
  6. return {
  7. mode: 'panorama',
  8. flying: false,
  9. floorId: null,
  10. player: {
  11. lang: 'zh',
  12. showVR: false,
  13. showMore: false,
  14. showDescription: false,
  15. showToolbar: true,
  16. showMap: true,
  17. showShare: false,
  18. showUserGuide: false,
  19. showWidgets: true,
  20. },
  21. router: {},
  22. controlsBottom: '20px',
  23. shoppingguide: false
  24. }
  25. },
  26. getters: {
  27. router: state => state.router,
  28. mode: state => state.mode,
  29. player: state => state.player,
  30. flying: state => state.flying,
  31. floorId: state => state.floorId || 0,
  32. controlsBottom: state => state.controlsBottom,
  33. shoppingguide: state => state.shoppingguide
  34. },
  35. mutations: {
  36. showShoppingguide(state, payload) {
  37. state.shoppingguide = payload
  38. },
  39. /**
  40. * 设置相机模式状态
  41. * @param {*} state
  42. * @param {*} payload
  43. */
  44. mode(state, payload) {
  45. state.mode = payload
  46. },
  47. /**
  48. * 设置相机模式
  49. * @param {*} state
  50. * @param {*} payload
  51. */
  52. setMode(state, payload) {
  53. if (payload == state.mode) {
  54. return
  55. }
  56. state.flying = true
  57. useApp().then(sdk => {
  58. sdk.Camera[payload]()
  59. .then(() => {
  60. state.flying = false
  61. })
  62. .catch(() => {
  63. state.flying = false
  64. })
  65. })
  66. if (payload == 'dollhouse') {
  67. this.commit('setFloor', 'all')
  68. }
  69. store.commit('mode', payload)
  70. },
  71. setFlying(state, payload) {
  72. state.flying = payload
  73. },
  74. SetPlayerOptions(state, payload) {
  75. for (let key in payload) {
  76. state.player[key] = payload[key]
  77. if (key == 'showSplit') {
  78. state.player['showWidgets'] = !payload[key]
  79. }
  80. }
  81. if (!state.player.showToolbar || state.player.showVR) {
  82. this.commit('tour/setData', { showTours: false })
  83. }
  84. },
  85. /**
  86. * 跳转楼层
  87. * @param {*} state
  88. * @param {*} id
  89. */
  90. setFloor(state, id) {
  91. state.floorId = id
  92. getApp().Scene.gotoFloor(id)
  93. },
  94. /**
  95. * 这只楼层Id
  96. * @param {*} state
  97. * @param {*} id
  98. */
  99. setFloorId(state, id) {
  100. state.floorId = id
  101. },
  102. showVR(state) {
  103. state.player.showVR = !state.player.showVR
  104. state.player.showWidgets = !state.player.showWidgets
  105. getApp().Camera.vr()
  106. },
  107. showUserGuide(state,payload) {
  108. state.player.showUserGuide = payload
  109. },
  110. setControlsBottom(state, payload) {
  111. state.controlsBottom = payload
  112. },
  113. setPanoId(state, id) {
  114. state.panoId = id
  115. },
  116. },
  117. actions: {},
  118. modules: {
  119. ...modules,
  120. },
  121. })
  122. export default store