1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <template>
- <div id="app">
- <router-view/>
- </div>
- </template>
- <script>
- import {removeToken} from "@/utils/auth";
- export default {
- name: 'App',
- mounted() {
- // 禁用鼠标右键
- document.getElementById("app").oncontextmenu = function (e) {
- return false;
- };
- window.addEventListener("beforeunload", e => {
- this.beforeunloadHandler(e)
- let userAgent = navigator.userAgent
- let isOpera = userAgent.indexOf("Opera") > -1;
- if (isOpera) { //判断是否Opera浏览器
- return "Opera"
- }
- if (userAgent.indexOf("Firefox") > -1) {
- this.unloadHandler();
- }
- if (userAgent.indexOf("MSIE") > -1) {
- this.unloadHandler();
- }
- });
- window.addEventListener("unload", async e => {
- this.unloadHandler(e)
- });
- },
- methods: {
- beforeunloadHandler(e) {
- this._beforeUnload_time = new Date().getTime();
- },
- unloadHandler(e) {
- this._gap_time = new Date().getTime() - this._beforeUnload_time;
- //判断是窗口关闭还是刷新
- localStorage.setItem('time', this._gap_time)
- if (this._gap_time <= 5) {
- // // 发送设置同步 (退出登陆的api)
- // this.$store.dispatch('LogOut').then(() => {
- // location.href = '/index';
- // })
- this.$axios.post(
- '/logout', {}
- ).then((res) => {
- this.$message.success(res.data)
- removeToken()
- //注销返回自己的登录页
- this.$router.push(`/login?redirect=${this.$route.fullPath}`)
- })
- } else {
- }
- },
- },
- destroyed() {
- window.removeEventListener("beforeunload", e =>
- this.beforeunloadHandler(e)
- );
- window.removeEventListener("unload", e => this.unloadHandler(e));
- }
- }
- </script>
|