添加一个退出桌面霸屏页面的功能。
This commit is contained in:
		@@ -3,9 +3,9 @@
 | 
			
		||||
 * @Date: 2023-02-28 01:22:48
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @FilePath: /task_schedule/src/router/index.js
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 * @Description:
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import { createRouter, createWebHashHistory } from "vue-router";
 | 
			
		||||
@@ -21,19 +21,19 @@ const routes = [
 | 
			
		||||
        path: "/login",
 | 
			
		||||
        name: "Login",
 | 
			
		||||
        hidden: true,
 | 
			
		||||
        component: () => import("@/views/Login.vue"),
 | 
			
		||||
        component: async () => await import( "@/views/Login.vue" ),
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        path: "/public",
 | 
			
		||||
        name: "Public",
 | 
			
		||||
        hidden: true,
 | 
			
		||||
        component: () => import("@/views/Public.vue"),
 | 
			
		||||
        component: async () => await import( "@/views/Public.vue" ),
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        path: "/desktop_archievement",
 | 
			
		||||
        name: "DesktopArchievement",
 | 
			
		||||
        hidden: true,
 | 
			
		||||
        component: () => import("@/views/DesktopArchievement.vue"),
 | 
			
		||||
        component: async () => await import( "@/views/DesktopArchievement.vue" ),
 | 
			
		||||
    },
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
@@ -44,10 +44,10 @@ const router = createRouter(
 | 
			
		||||
    }
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
//路由守卫
 | 
			
		||||
// 路由守卫
 | 
			
		||||
// router.beforeEach((to) =>
 | 
			
		||||
// {
 | 
			
		||||
 | 
			
		||||
// });
 | 
			
		||||
 | 
			
		||||
export { router };
 | 
			
		||||
export { router };
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,13 @@
 | 
			
		||||
import { type AxiosResponse } from "axios";
 | 
			
		||||
import { service as instance } from "./api/request.js";
 | 
			
		||||
import { API_URL } from "./api/config.js";
 | 
			
		||||
import { cleanStaffInfo } from "./api/localStorage.js";
 | 
			
		||||
 | 
			
		||||
// @ts-expect-error 之后再补充类型文件
 | 
			
		||||
import { router } from "../router/index.js";
 | 
			
		||||
// declare const require: any;
 | 
			
		||||
// const { router, } = require( "../router/index.js" );
 | 
			
		||||
 | 
			
		||||
interface LoginInfo
 | 
			
		||||
{
 | 
			
		||||
    p13account: string;
 | 
			
		||||
@@ -28,4 +35,11 @@ async function login( data: LoginInfo ): Promise<AxiosResponse<any, any>>
 | 
			
		||||
    );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export { type LoginInfo, login };
 | 
			
		||||
function logout(): void
 | 
			
		||||
{
 | 
			
		||||
    cleanStaffInfo();
 | 
			
		||||
 | 
			
		||||
    void router.push( "/login" );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export { type LoginInfo, login, logout };
 | 
			
		||||
 
 | 
			
		||||
@@ -43,4 +43,9 @@ function saveStaffInfo( stuff: StaffInfo ): void
 | 
			
		||||
    window.localStorage.setItem( STUFF_ITEM, json );
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export { loadStaffInfo, saveStaffInfo };
 | 
			
		||||
function cleanStaffInfo(): void
 | 
			
		||||
{
 | 
			
		||||
    window.localStorage.removeItem( STUFF_ITEM );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export { loadStaffInfo, saveStaffInfo, cleanStaffInfo };
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,8 @@
 | 
			
		||||
    <div
 | 
			
		||||
        v-if="ui.showUI"
 | 
			
		||||
        class="view-wrapper"
 | 
			
		||||
        tabindex="0"
 | 
			
		||||
        @keyup.esc="logoutDesktopArchievement()"
 | 
			
		||||
    >
 | 
			
		||||
        <div class="center-wrapper">
 | 
			
		||||
            <span class="slogan">对标先进 比学赶超</span>
 | 
			
		||||
@@ -63,6 +65,7 @@ import ArchievementChart from "@/components/ArchievementChartComponent.vue";
 | 
			
		||||
import ArchievementCompleteRateComponent from "@/components/ArchievementCompleteRateComponent.vue";
 | 
			
		||||
import HonorListComponent from "@/components/HonorListComponent.vue";
 | 
			
		||||
import DishonorListComponent from "@/components/DishonorListComponent.vue";
 | 
			
		||||
import { logout } from "@/utils/account.js";
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
    name: "DesktopArchievement",
 | 
			
		||||
@@ -116,6 +119,15 @@ export default {
 | 
			
		||||
            setTimeout(() => { ui.showUI = true; }, 0);
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        // 退出桌面霸屏
 | 
			
		||||
        const logoutDesktopArchievement = () =>
 | 
			
		||||
        {
 | 
			
		||||
            console.log("111");
 | 
			
		||||
            logout();
 | 
			
		||||
 | 
			
		||||
            // router.push("/login");
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        // 检查存储的登录信息,不存在则返回登录页面
 | 
			
		||||
        if (staffInfo.P13UID === "")
 | 
			
		||||
        {
 | 
			
		||||
@@ -133,7 +145,7 @@ export default {
 | 
			
		||||
            queryDepartmentArchievement(renderData);
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        return { ui, getTotalArchievement, renderData, };
 | 
			
		||||
        return { ui, getTotalArchievement, renderData, logoutDesktopArchievement, };
 | 
			
		||||
    },
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
@@ -158,6 +170,7 @@ export default {
 | 
			
		||||
.center-wrapper {
 | 
			
		||||
    //中间部分
 | 
			
		||||
    width: 50%;
 | 
			
		||||
    min-width: 780px;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-direction: column;
 | 
			
		||||
    align-items: stretch;
 | 
			
		||||
 
 | 
			
		||||
@@ -195,6 +195,10 @@ export default {
 | 
			
		||||
    justify-content: start;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
 | 
			
		||||
    background-image: url("@/assets/img/bg/bg_01.jpg");
 | 
			
		||||
    background-attachment: fixed;
 | 
			
		||||
    background-size: contain;
 | 
			
		||||
 | 
			
		||||
    span {
 | 
			
		||||
        font-size: 30px;
 | 
			
		||||
        color: red;
 | 
			
		||||
 
 | 
			
		||||
@@ -38,8 +38,8 @@
 | 
			
		||||
        "src/**/*.tsx",
 | 
			
		||||
        "src/**/*.vue",
 | 
			
		||||
        "*.d.ts",
 | 
			
		||||
        "src/router/index.js",
 | 
			
		||||
        "src/router/index.js",
 | 
			
		||||
        "src/router/index.ts",
 | 
			
		||||
        "src/router/index.ts",
 | 
			
		||||
    ],
 | 
			
		||||
    "exclude": [
 | 
			
		||||
        "./node_modules",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user