perf: view page add name

This commit is contained in:
xiaoxian521 2021-08-29 10:53:56 +08:00
parent 8187dbff0e
commit 47969f4349
17 changed files with 70 additions and 35 deletions

View File

@ -9,6 +9,7 @@ import { ElConfigProvider } from "element-plus"
import zhCn from "element-plus/lib/locale/lang/zh-cn" import zhCn from "element-plus/lib/locale/lang/zh-cn"
import en from "element-plus/lib/locale/lang/en" import en from "element-plus/lib/locale/lang/en"
export default { export default {
name: "app",
components: { components: {
[ElConfigProvider.name]: ElConfigProvider [ElConfigProvider.name]: ElConfigProvider
}, },

View File

@ -14,28 +14,49 @@
<script lang="ts"> <script lang="ts">
import { import {
ref, ref,
unref,
onBeforeMount, onBeforeMount,
getCurrentInstance, getCurrentInstance,
nextTick, nextTick,
onUnmounted onUnmounted
} from "vue"; } from "vue";
import flippers from "./Filpper"; import flippers from "./Filpper";
import { templateRef } from "@vueuse/core";
export default { export default {
name: "Flop", name: "Flop",
components: { components: {
flippers flippers
}, },
setup() { setup() {
let vm: any;
let timer = ref(null); let timer = ref(null);
let flipObjs = ref([]); let flipObjs = ref([]);
const flipperHour1 = templateRef<HTMLElement | null>("flipperHour1", null);
const flipperHour2 = templateRef<HTMLElement | null>("flipperHour2", null);
const flipperMinute1 = templateRef<HTMLElement | null>(
"flipperMinute1",
null
);
const flipperMinute2 = templateRef<HTMLElement | null>(
"flipperMinute2",
null
);
const flipperSecond1 = templateRef<HTMLElement | null>(
"flipperSecond1",
null
);
const flipperSecond2 = templateRef<HTMLElement | null>(
"flipperSecond2",
null
);
// //
const init = () => { const init = () => {
let now = new Date(); let now = new Date();
let nowTimeStr = formatDate(new Date(now.getTime()), "hhiiss"); let nowTimeStr = formatDate(new Date(now.getTime()), "hhiiss");
for (let i = 0; i < flipObjs.value.length; i++) { for (let i = 0; i < flipObjs.value.length; i++) {
flipObjs.value[i].setFront(nowTimeStr[i]); flipObjs?.value[i]?.setFront(nowTimeStr[i]);
} }
}; };
@ -50,7 +71,7 @@ export default {
if (nowTimeStr[i] === nextTimeStr[i]) { if (nowTimeStr[i] === nextTimeStr[i]) {
continue; continue;
} }
flipObjs.value[i].flipDown(nowTimeStr[i], nextTimeStr[i]); flipObjs?.value[i]?.flipDown(nowTimeStr[i], nextTimeStr[i]);
} }
}, 1000); }, 1000);
}; };
@ -99,21 +120,18 @@ export default {
return ("00" + str).substr(str.length); return ("00" + str).substr(str.length);
}; };
onBeforeMount(() => { nextTick(() => {
vm = getCurrentInstance(); // flipObjs.value = [
nextTick(() => { unref(flipperHour1),
flipObjs.value = [ unref(flipperHour2),
vm.refs.flipperHour1, unref(flipperMinute1),
vm.refs.flipperHour2, unref(flipperMinute2),
vm.refs.flipperMinute1, unref(flipperSecond1),
vm.refs.flipperMinute2, unref(flipperSecond2)
vm.refs.flipperSecond1, ];
vm.refs.flipperSecond2
];
init(); init();
run(); run();
});
}); });
onUnmounted(() => { onUnmounted(() => {
@ -129,7 +147,13 @@ export default {
init, init,
run, run,
formatDate, formatDate,
padLeftZero padLeftZero,
flipperHour1,
flipperHour2,
flipperMinute1,
flipperMinute2,
flipperSecond1,
flipperSecond2
}; };
} }
}; };

View File

@ -25,7 +25,7 @@ import {
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import { useSettingStoreHook } from "/@/store/modules/settings"; import { useSettingStoreHook } from "/@/store/modules/settings";
export default defineComponent({ export default defineComponent({
name: "AppMain", name: "appMain",
setup() { setup() {
let vm: any; let vm: any;
const keepAlive: Boolean = ref( const keepAlive: Boolean = ref(

View File

@ -1,11 +1,11 @@
import defaultSettings from "../../settings"; import defaultSettings from "../../settings"
import { defineStore } from "pinia"; import { defineStore } from "pinia"
import { store } from "/@/store"; import { store } from "/@/store"
interface SettingState { interface SettingState {
title: string; title: string
fixedHeader: boolean; fixedHeader: boolean
cachedPageList: string[]; cachedPageList: string[]
} }
export const useSettingStore = defineStore({ export const useSettingStore = defineStore({
@ -14,29 +14,29 @@ export const useSettingStore = defineStore({
title: defaultSettings.title, title: defaultSettings.title,
fixedHeader: defaultSettings.fixedHeader, fixedHeader: defaultSettings.fixedHeader,
// 需要开启keepalive的页面数组里面放页面的name即可 // 需要开启keepalive的页面数组里面放页面的name即可
cachedPageList: ["editor"] cachedPageList: ["welcome", "reEditor"]
}), }),
getters: { getters: {
getTitle() { getTitle() {
return this.title; return this.title
}, },
getFixedHeader() { getFixedHeader() {
return this.fixedHeader; return this.fixedHeader
} }
}, },
actions: { actions: {
CHANGE_SETTING({ key, value }) { CHANGE_SETTING({ key, value }) {
// eslint-disable-next-line no-prototype-builtins // eslint-disable-next-line no-prototype-builtins
if (this.hasOwnProperty(key)) { if (this.hasOwnProperty(key)) {
this[key] = value; this[key] = value
} }
}, },
changeSetting(data) { changeSetting(data) {
this.CHANGE_SETTING(data); this.CHANGE_SETTING(data)
} }
} }
}); })
export function useSettingStoreHook() { export function useSettingStoreHook() {
return useSettingStore(store); return useSettingStore(store)
} }

View File

@ -5,6 +5,7 @@
<script lang="ts"> <script lang="ts">
import { ref } from "vue"; import { ref } from "vue";
export default { export default {
name: "reButton",
setup() { setup() {
const url = ref( const url = ref(
process.env.NODE_ENV === "production" process.env.NODE_ENV === "production"

View File

@ -22,6 +22,7 @@ import basic from "./basic.vue";
import menuGroup from "./menuGroup.vue"; import menuGroup from "./menuGroup.vue";
import menuDynamic from "./menuDynamic.vue"; import menuDynamic from "./menuDynamic.vue";
export default { export default {
name: "reContextmenu",
components: { components: {
basic, basic,
menuGroup, menuGroup,

View File

@ -33,6 +33,7 @@
<script lang="ts"> <script lang="ts">
import { ReNormalCountTo, ReboundCountTo } from "/@/components/ReCountTo"; import { ReNormalCountTo, ReboundCountTo } from "/@/components/ReCountTo";
export default { export default {
name: "reCountTo",
components: { components: {
ReNormalCountTo, ReNormalCountTo,
ReboundCountTo ReboundCountTo

View File

@ -15,6 +15,7 @@ import Cropper from "/@/components/ReCropper";
import img from "./picture.jpeg"; import img from "./picture.jpeg";
export default { export default {
name: "reCropping",
components: { components: {
Cropper Cropper
}, },

View File

@ -76,6 +76,7 @@
import draggable from "vuedraggable/src/vuedraggable"; import draggable from "vuedraggable/src/vuedraggable";
import { reactive, toRefs, onMounted } from "vue"; import { reactive, toRefs, onMounted } from "vue";
export default { export default {
name: "reDraggable",
components: { draggable }, components: { draggable },
setup() { setup() {
const myArray = reactive({ const myArray = reactive({

View File

@ -7,6 +7,7 @@
<script lang="ts"> <script lang="ts">
import { Amap } from "/@/components/ReMap"; import { Amap } from "/@/components/ReMap";
export default { export default {
name: "reMap",
components: { components: {
Amap Amap
}, },

View File

@ -66,6 +66,7 @@ import { templateRef } from "@vueuse/core";
import SeamlessScroll from "/@/components/ReSeamlessScroll"; import SeamlessScroll from "/@/components/ReSeamlessScroll";
export default { export default {
name: "reSeamlessScroll",
components: { components: {
SeamlessScroll SeamlessScroll
}, },

View File

@ -27,6 +27,7 @@ import { ref } from "vue";
import Selector from "/@/components/ReSelector"; import Selector from "/@/components/ReSelector";
export default { export default {
name: "reSelector",
components: { Selector }, components: { Selector },
setup() { setup() {
let selectRange = ref(null); let selectRange = ref(null);

View File

@ -26,7 +26,7 @@
import splitpane, { ContextProps } from "/@/components/ReSplitPane"; import splitpane, { ContextProps } from "/@/components/ReSplitPane";
import { reactive } from "vue"; import { reactive } from "vue";
export default { export default {
name: "split", name: "reSplitPane",
components: { components: {
splitpane splitpane
}, },

View File

@ -11,6 +11,7 @@ import screenShot from "xgplayer/dist/controls/screenShot";
import { deviceDetection } from "/@/utils/deviceDetection"; import { deviceDetection } from "/@/utils/deviceDetection";
export default { export default {
name: "reVideo",
setup() { setup() {
onMounted(() => { onMounted(() => {
new Player({ new Player({

View File

@ -10,7 +10,7 @@ import { onMounted, onBeforeUnmount, ref, reactive } from "vue";
import WangEditor from "wangeditor"; import WangEditor from "wangeditor";
export default { export default {
name: "editor", name: "reEditor",
setup() { setup() {
const editor = ref(); const editor = ref();
const content = reactive({ const content = reactive({

View File

@ -31,6 +31,7 @@ import { toLogicflowData } from "/@/components/ReFlowChart/src/adpterForTurbo";
import { BpmnNode } from "/@/components/ReFlowChart/src/config"; import { BpmnNode } from "/@/components/ReFlowChart/src/config";
import demoData from "./dataTurbo.json"; import demoData from "./dataTurbo.json";
export default { export default {
name: "reFlowChart",
components: { NodePanel, Control, DataDialog }, components: { NodePanel, Control, DataDialog },
setup() { setup() {
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef

View File

@ -6,7 +6,7 @@ import { defineComponent, unref } from "vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
export default defineComponent({ export default defineComponent({
name: "Redirect", name: "redirect",
setup() { setup() {
const { currentRoute, replace } = useRouter(); const { currentRoute, replace } = useRouter();