|
@@ -7,6 +7,9 @@ import { lighten } from './utils';
|
|
|
import RouterError from './components/RouterError';
|
|
|
import { useRegisterSW } from 'virtual:pwa-register/vue';
|
|
|
import { useUserStore } from './store/modules/users';
|
|
|
+import { modalClickMask } from './state';
|
|
|
+import ScreenTips from './screen-tips';
|
|
|
+import { debounce } from 'lodash';
|
|
|
export function unregister() {
|
|
|
if ('serviceWorker' in navigator) {
|
|
|
// console.log('unregister - pwa');
|
|
@@ -38,6 +41,7 @@ export default defineComponent({
|
|
|
name: 'App',
|
|
|
setup() {
|
|
|
const isIOSChrome = ref();
|
|
|
+ const showModalMask = ref(false)
|
|
|
const getThemeOverrides = computed(() => {
|
|
|
const appTheme = setting.appTheme;
|
|
|
const lightenStr = lighten(setting.appTheme, 6);
|
|
@@ -170,6 +174,18 @@ export default defineComponent({
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+ const resize = () => {
|
|
|
+ const params = {
|
|
|
+ width: document.body.clientWidth,
|
|
|
+ height: document.body.clientHeight
|
|
|
+ }
|
|
|
+ if(params.height >= params.width) {
|
|
|
+ showModalMask.value = true;
|
|
|
+ } else {
|
|
|
+ showModalMask.value = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
window.addEventListener('message', handleOpen);
|
|
|
|
|
@@ -218,8 +234,14 @@ export default defineComponent({
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ window.addEventListener('resize', debounce(resize, 80));
|
|
|
+ // 横竖屏切换时
|
|
|
+ resize()
|
|
|
});
|
|
|
onUnmounted(() => {
|
|
|
+ window.removeEventListener('resize', resize);
|
|
|
window.removeEventListener('message', handleOpen);
|
|
|
});
|
|
|
|
|
@@ -237,7 +259,14 @@ export default defineComponent({
|
|
|
<RouterView />
|
|
|
<RouterError />
|
|
|
</AppProvider>
|
|
|
+
|
|
|
+
|
|
|
</NConfigProvider>
|
|
|
+ <NModal
|
|
|
+ maskClosable={modalClickMask}
|
|
|
+ v-model:show={showModalMask.value}>
|
|
|
+ <ScreenTips />
|
|
|
+ </NModal>
|
|
|
{/* <NModal
|
|
|
show={showModal.value}
|
|
|
closeOnEsc={false}
|