diff --git a/src/components/core/d2-layout-main/components/-full-screen/index.vue b/src/components/core/d2-layout-main/components/-full-screen/index.vue index 7f877d71..c411f9b9 100644 --- a/src/components/core/d2-layout-main/components/-full-screen/index.vue +++ b/src/components/core/d2-layout-main/components/-full-screen/index.vue @@ -15,7 +15,7 @@ import { mapState, mapMutations } from 'vuex' export default { computed: { ...mapState({ - isFullScreen: state => state.fullScreen.isFullScreen + isFullScreen: state => state.d2admin.isFullScreen }) }, methods: { diff --git a/src/libs/util.js b/src/libs/util.js new file mode 100644 index 00000000..3005d779 --- /dev/null +++ b/src/libs/util.js @@ -0,0 +1,28 @@ +let util = {} + +util.closeFullScreen = function () { + if (document.exitFullscreen) { + document.exitFullscreen() + } else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen() + } else if (document.webkitCancelFullScreen) { + document.webkitCancelFullScreen() + } else if (document.msExitFullscreen) { + document.msExitFullscreen() + } +} + +util.fullScreen = function () { + const body = document.body + if (body.requestFullscreen) { + body.requestFullscreen() + } else if (body.mozRequestFullScreen) { + body.mozRequestFullScreen() + } else if (body.webkitRequestFullScreen) { + body.webkitRequestFullScreen() + } else if (body.msRequestFullscreen) { + body.msRequestFullscreen() + } +} + +export default util diff --git a/src/store/index.js b/src/store/index.js index 0705327a..f05e5eee 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,7 +4,6 @@ import Vuex from 'vuex' import d2admin from './modules/d2admin' import menu from './modules/menu' -import fullScreen from './modules/fullScreen' import theme from './modules/theme' Vue.use(Vuex) @@ -13,7 +12,6 @@ export default new Vuex.Store({ modules: { d2admin, menu, - fullScreen, theme } }) diff --git a/src/store/modules/d2admin.js b/src/store/modules/d2admin.js index f7684ed2..bcf62c64 100644 --- a/src/store/modules/d2admin.js +++ b/src/store/modules/d2admin.js @@ -1,3 +1,5 @@ +import util from '@/libs/util.js' + export default { state: { // 系统 @@ -6,8 +8,14 @@ export default { isFullScreen: false }, mutations: { - alertAppName (state) { - alert(state.appName) + toggleFullScreen (state) { + if (state.isFullScreen) { + util.closeFullScreen() + state.isFullScreen = false + } else { + util.fullScreen() + state.isFullScreen = true + } } } } diff --git a/src/store/modules/fullScreen.js b/src/store/modules/fullScreen.js deleted file mode 100644 index 7fa7ddda..00000000 --- a/src/store/modules/fullScreen.js +++ /dev/null @@ -1,40 +0,0 @@ -export default { - state: { - isFullScreen: false - }, - mutations: { - toggleFullScreen (state) { - const d = document - const body = d.body - const closeFullScreen = () => { - if (d.exitFullscreen) { - d.exitFullscreen() - } else if (d.mozCancelFullScreen) { - d.mozCancelFullScreen() - } else if (d.webkitCancelFullScreen) { - d.webkitCancelFullScreen() - } else if (d.msExitFullscreen) { - d.msExitFullscreen() - } - state.isFullScreen = false - } - const fullScreen = () => { - if (body.requestFullscreen) { - body.requestFullscreen() - } else if (body.mozRequestFullScreen) { - body.mozRequestFullScreen() - } else if (body.webkitRequestFullScreen) { - body.webkitRequestFullScreen() - } else if (body.msRequestFullscreen) { - body.msRequestFullscreen() - } - state.isFullScreen = true - } - if (state.isFullScreen) { - closeFullScreen() - } else { - fullScreen() - } - } - } -}