You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
duoji-frontend/src/App.vue

76 lines
2.1 KiB
Vue

6 years ago
<template>
<a-config-provider :locale="locale">
<div id="app">
<router-view v-if="isRouterAlive"/>
</div>
</a-config-provider>
6 years ago
</template>
6 years ago
<script>
import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
import moment from 'moment'
import 'moment/locale/zh-cn'
import { mapActions } from 'vuex';
moment.locale('zh-cn')
6 years ago
export default {
name: 'App',
data () {
return {
isRouterAlive: true,
locale: zhCN
}
},
provide(){ //提供
return {
reload: this.reload
}
},
methods: {
...mapActions(['getStyles']),
reload(){
this.isRouterAlive = false
this.$nextTick( function () {
this.isRouterAlive = true
})
}
},
6 years ago
mounted() {
// 获取标题样式
this.getStyles();
6 years ago
window.onmessage = e => {
if (!e.data.id) return;
sessionStorage.setItem("postMessage", e.data.id);
6 years ago
if (e.data.userInfo && e.data.userInfo.id) {
6 years ago
if (
e.data.userInfo.permissionList.some(
item => item.rights === "duojiSystem"
)
) {
6 years ago
let authList = this.$utils.translateDataToTree(
e.data.userInfo.permissionList,
'duojiSystem'
6 years ago
);
e.data.userInfo.permissionList = this.$utils.treeToArray(
authList
);
} else {
e.data.userInfo.permissionList = [];
}
localStorage.setItem(
"userInfo",
JSON.stringify(e.data.userInfo)
);
} else {
localStorage.clear();
}
};
}
};
</script>
<!--<script type="text/javascript" src="./utils/jsmpeg.min.js"></script>-->
6 years ago
<style lang="scss">
@import "style/common/reset.css";
@import "style/common/layout";
@import "style/common/form";
</style>