|
@@ -2,27 +2,13 @@
|
|
|
<ConfigProvider v-bind="config" v-if="!showLogin">
|
|
|
<template v-for="needMount in needMounts">
|
|
|
<Teleport :to="needMount[0]">
|
|
|
- <component
|
|
|
- :is="needMount[1]"
|
|
|
- v-bind="needMount[2]"
|
|
|
- :ref="(v: any) => needMount[3] && needMount[3](v)"
|
|
|
- />
|
|
|
+ <component :is="needMount[1]" v-bind="needMount[2]" :ref="(v: any) => needMount[3] && needMount[3](v)" />
|
|
|
</Teleport>
|
|
|
</template>
|
|
|
|
|
|
- <ui-editor-layout
|
|
|
- @click.stop
|
|
|
- @contextmenu.prevent
|
|
|
- id="layout-app"
|
|
|
- class="editor-layout"
|
|
|
- :style="layoutStyles"
|
|
|
- :class="layoutClassNames"
|
|
|
- >
|
|
|
- <div
|
|
|
- :ref="(el: any) => appEl = (el as HTMLDivElement)"
|
|
|
- v-if="loaded"
|
|
|
- class="app-con"
|
|
|
- >
|
|
|
+ <ui-editor-layout @click.stop @contextmenu.prevent id="layout-app" class="editor-layout" :style="layoutStyles"
|
|
|
+ :class="layoutClassNames">
|
|
|
+ <div :ref="(el: any) => appEl = (el as HTMLDivElement)" v-if="loaded" class="app-con">
|
|
|
<router-view v-slot="{ Component }">
|
|
|
<!-- <keep-alive> -->
|
|
|
<component :is="Component" />
|
|
@@ -42,45 +28,7 @@
|
|
|
|
|
|
<PwdModel v-if="inputPwd" @close="inputPwd = false" />
|
|
|
</ConfigProvider>
|
|
|
-
|
|
|
- <ui-dialog v-else>
|
|
|
- <template v-slot:header>
|
|
|
- <span>用户登录</span>
|
|
|
- </template>
|
|
|
- <div>
|
|
|
- <ui-input
|
|
|
- type="text"
|
|
|
- placeholder="请输入账号"
|
|
|
- v-model="username"
|
|
|
- style="width: 360px"
|
|
|
- />
|
|
|
- <br />
|
|
|
- <ui-input
|
|
|
- type="password"
|
|
|
- placeholder="请输入密码"
|
|
|
- v-model="password"
|
|
|
- style="width: 360px; margin-top: 20px"
|
|
|
- />
|
|
|
- <br />
|
|
|
- <ui-input
|
|
|
- type="checkbox"
|
|
|
- @click.stop
|
|
|
- label="记住密码"
|
|
|
- style="margin-top: 20px"
|
|
|
- :modelValue="mark"
|
|
|
- @update:modelValue="(select: any) => mark = select"
|
|
|
- />
|
|
|
- <!-- <ui-input
|
|
|
- type="checkbox"
|
|
|
- label="记住密码"
|
|
|
- v-model="mark"
|
|
|
- style="margin-top: 20px"
|
|
|
- /> -->
|
|
|
- </div>
|
|
|
- <template v-slot:footer>
|
|
|
- <ui-button type="submit" @click="login(username, password)">登录</ui-button>
|
|
|
- </template>
|
|
|
- </ui-dialog>
|
|
|
+ <Login v-else />
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
@@ -110,15 +58,13 @@ import { config } from "./config";
|
|
|
import { sdk, sdkLoaded } from "./sdk";
|
|
|
import GAxios from "axios";
|
|
|
|
|
|
+
|
|
|
import { addReqErrorHandler, addResErrorHandler, ResCode, setToken } from "./api";
|
|
|
import { mergeFuns } from "./components/drawing/hook";
|
|
|
+import Login from "./views/login.vue";
|
|
|
|
|
|
const gotoLogin = () => {
|
|
|
- if (import.meta.env.DEV) {
|
|
|
- login("super-admin", "Aa123456");
|
|
|
- } else {
|
|
|
- showLogin.value = true;
|
|
|
- }
|
|
|
+ showLogin.value = true;
|
|
|
};
|
|
|
|
|
|
addResErrorHandler((data: any) => {
|
|
@@ -204,36 +150,6 @@ const layoutStyles = computed(() => {
|
|
|
});
|
|
|
|
|
|
const showLogin = ref(false);
|
|
|
-const username = ref(localStorage.getItem("fuse-username") || "");
|
|
|
-const password = ref(localStorage.getItem("fuse-password") || "");
|
|
|
-const mark = ref(!!localStorage.getItem("fuse-mark"));
|
|
|
-const login = (username: string, password: string) => {
|
|
|
- GAxios.post("/service/manage/login", {
|
|
|
- password: encodePwd(password),
|
|
|
- userName: username,
|
|
|
- username: username,
|
|
|
- }).then((res) => {
|
|
|
- setToken(res.data.data.token);
|
|
|
-
|
|
|
- setTimeout(() => {
|
|
|
- const p = new URLSearchParams(location.search);
|
|
|
- p.delete("token");
|
|
|
- location.search = "?" + p.toString();
|
|
|
- setTimeout(() => location.reload(), 100);
|
|
|
- }, 100);
|
|
|
-
|
|
|
- loaded.value = false;
|
|
|
- if (mark.value) {
|
|
|
- localStorage.setItem("fuse-username", username);
|
|
|
- localStorage.setItem("fuse-password", password);
|
|
|
- localStorage.setItem("fuse-mark", "1");
|
|
|
- } else {
|
|
|
- localStorage.removeItem("fuse-username");
|
|
|
- localStorage.removeItem("fuse-password");
|
|
|
- localStorage.removeItem("fuse-mark");
|
|
|
- }
|
|
|
- });
|
|
|
-};
|
|
|
|
|
|
watch(
|
|
|
() => custom.full,
|
|
@@ -280,9 +196,7 @@ watch(
|
|
|
}
|
|
|
|
|
|
.hide-left-box-mode {
|
|
|
- --left-pano-left: calc(
|
|
|
- var(--editor-menu-left) + var(--editor-menu-width) - var(--left-pano-width)
|
|
|
- ) !important;
|
|
|
+ --left-pano-left: calc(var(--editor-menu-left) + var(--editor-menu-width) - var(--left-pano-width)) !important;
|
|
|
}
|
|
|
|
|
|
.edit-mode {
|