push
This commit is contained in:
92
lib/paas/view/system/application/application.vue
Normal file
92
lib/paas/view/system/application/application.vue
Normal file
@@ -0,0 +1,92 @@
|
||||
<template>
|
||||
<a-config-provider :locale="locale">
|
||||
<router-view v-if="isLogin" />
|
||||
<template v-else>
|
||||
<ns-layout v-if="ifShowHeader" />
|
||||
<ns-content v-else />
|
||||
</template>
|
||||
</a-config-provider>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { computed, defineComponent, ref, watch } from 'vue';
|
||||
import NsLayout from '../layout/layout.vue';
|
||||
import { useRoute } from 'vue-router';
|
||||
import zhCN from 'ant-design-vue/es/locale/zh_CN';
|
||||
import { authorizationService } from '/nerv-base/store/modules/authorization-service';
|
||||
import { appConfigStore } from '/nerv-base/store/modules/app-config';
|
||||
export default defineComponent({
|
||||
name: 'NsApplication',
|
||||
components: { NsLayout },
|
||||
props: {
|
||||
layout: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
},
|
||||
setup(props) {
|
||||
const route = useRoute();
|
||||
const isLogin = ref(false);
|
||||
const switchData = computed(() => authorizationService().switches);
|
||||
|
||||
let ifShowHeader = ref(props.layout);
|
||||
|
||||
watch(
|
||||
() => route.path,
|
||||
(e) => {
|
||||
isLogin.value = e === '/login';
|
||||
},
|
||||
);
|
||||
|
||||
console.log('window.self === window.top', window.self === window.top);
|
||||
//判断页面是否被嵌在iframe中
|
||||
if (!(window.self === window.top)) {
|
||||
console.log('在iframe中');
|
||||
ifShowHeader.value = false;
|
||||
}
|
||||
|
||||
return {
|
||||
appConfig: appConfigStore(),
|
||||
switchData,
|
||||
isLogin,
|
||||
locale: zhCN,
|
||||
ifShowHeader,
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
switchData: {
|
||||
handler() {
|
||||
if (!this.appConfig.customAppTitle) {
|
||||
this.setHead();
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
setHead() {
|
||||
/** stack和cloud平台分别设置标签页信息 */
|
||||
try {
|
||||
const switchData = authorizationService().switches;
|
||||
const app = authorizationService().getApp();
|
||||
if (switchData && switchData.isNervStack) {
|
||||
console.log(document.getElementsByTagName('link')[0]);
|
||||
document.getElementsByTagName('title')[0].innerText = 'OP Console';
|
||||
document
|
||||
.getElementsByTagName('link')[0]
|
||||
.setAttribute('href', `/${app}/favicon-stack.ico`);
|
||||
} else {
|
||||
document.getElementsByTagName('title')[0].innerText = 'Cloud Console';
|
||||
document.getElementsByTagName('link')[0].setAttribute('href', `/${app}/favicon.ico`);
|
||||
}
|
||||
} catch (error) {
|
||||
document.getElementsByTagName('title')[0].innerText = 'Cloud Console';
|
||||
document.getElementsByTagName('link')[0].setAttribute('href', `/${app}/favicon.ico`);
|
||||
console.error(error);
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped></style>
|
||||
Reference in New Issue
Block a user