refactor: save
This commit is contained in:
parent
91b80ba547
commit
706bd9fd48
52
src/App.vue
52
src/App.vue
@ -1,22 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<router-view v-slot="{ Component }">
|
<router-view v-slot="{ Component }">
|
||||||
<transition :name="transitionName">
|
<transition :name="transitionName">
|
||||||
<keep-alive :exclude="store.excludeRoutes">
|
<keep-alive :exclude="store.excludeNames">
|
||||||
<component :is="Component" />
|
<component :is="Component" />
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
</transition>
|
</transition>
|
||||||
</router-view>
|
</router-view>
|
||||||
<BaseMask v-if="!isMobile" @click="isMobile = true" />
|
|
||||||
<div v-if="!isMobile" class="guide">
|
|
||||||
<Icon class="danger" icon="mynaui:danger-triangle" />
|
|
||||||
<Icon class="close" icon="simple-line-icons:close" @click="isMobile = true" />
|
|
||||||
<div class="txt">
|
|
||||||
<h2>切换至手机模式获取最佳体验</h2>
|
|
||||||
<h3>1. 按 F12 调出控制台</h3>
|
|
||||||
<h3>2. 按 Ctrl+Shift+M,或点击下面图标</h3>
|
|
||||||
</div>
|
|
||||||
<img src="@/assets/img/guide.png" alt="" />
|
|
||||||
</div>
|
|
||||||
<Call />
|
<Call />
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
@ -35,7 +24,6 @@ import { BASE_URL } from '@/config'
|
|||||||
|
|
||||||
const store = useBaseStore()
|
const store = useBaseStore()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const isMobile = ref(/Mobi|Android|iPhone/i.test(navigator.userAgent))
|
|
||||||
const transitionName = ref('go')
|
const transitionName = ref('go')
|
||||||
|
|
||||||
// watch $route 决定使用哪种过渡
|
// watch $route 决定使用哪种过渡
|
||||||
@ -104,44 +92,6 @@ onMounted(() => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.guide {
|
|
||||||
color: white;
|
|
||||||
z-index: 999;
|
|
||||||
background: var(--active-main-bg);
|
|
||||||
position: fixed;
|
|
||||||
left: 50%;
|
|
||||||
top: 50%;
|
|
||||||
transform: translate(-50%, -50%);
|
|
||||||
border-radius: 16rem;
|
|
||||||
overflow: hidden;
|
|
||||||
text-align: center;
|
|
||||||
|
|
||||||
.danger {
|
|
||||||
margin-top: 10rem;
|
|
||||||
font-size: 40rem;
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
|
|
||||||
.close {
|
|
||||||
cursor: pointer;
|
|
||||||
font-size: 18rem;
|
|
||||||
color: white;
|
|
||||||
position: absolute;
|
|
||||||
right: 15rem;
|
|
||||||
top: 15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.txt {
|
|
||||||
text-align: left;
|
|
||||||
padding: 0 24rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
img {
|
|
||||||
display: block;
|
|
||||||
width: 350rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.go-enter-from {
|
.go-enter-from {
|
||||||
transform: translate3d(100%, 0, 0);
|
transform: translate3d(100%, 0, 0);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +0,0 @@
|
|||||||
export default {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
mainScrollTop: 0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
activated() {
|
|
||||||
if (this.$refs.mainScroll && this.$refs.mainScroll.wrapper) {
|
|
||||||
this.$refs.mainScroll.wrapper.scrollTop = this.mainScrollTop
|
|
||||||
}
|
|
||||||
},
|
|
||||||
deactivated() {
|
|
||||||
if (this.$refs.mainScroll && this.$refs.mainScroll.wrapper) {
|
|
||||||
this.mainScrollTop = this.$refs.mainScroll.wrapper.scrollTop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -196,6 +196,18 @@
|
|||||||
</ConfirmDialog>
|
</ConfirmDialog>
|
||||||
|
|
||||||
<ShareToFriend v-model="state.shareToFriend" />
|
<ShareToFriend v-model="state.shareToFriend" />
|
||||||
|
|
||||||
|
<BaseMask v-if="!isMobile" @click="isMobile = true" />
|
||||||
|
<div v-if="!isMobile" class="guide">
|
||||||
|
<Icon class="danger" icon="mynaui:danger-triangle" />
|
||||||
|
<Icon class="close" icon="simple-line-icons:close" @click="isMobile = true" />
|
||||||
|
<div class="txt">
|
||||||
|
<h2>切换至手机模式获取最佳体验</h2>
|
||||||
|
<h3>1. 按 F12 调出控制台</h3>
|
||||||
|
<h3>2. 按 Ctrl+Shift+M,或点击下面图标</h3>
|
||||||
|
</div>
|
||||||
|
<img src="@/assets/img/guide.png" alt="" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -226,10 +238,12 @@ import { DefaultUser } from '@/utils/const_var'
|
|||||||
import { _no } from '@/utils'
|
import { _no } from '@/utils'
|
||||||
import LongVideo from '@/pages/home/slide/LongVideo.vue'
|
import LongVideo from '@/pages/home/slide/LongVideo.vue'
|
||||||
import { useBaseStore } from '@/store/pinia'
|
import { useBaseStore } from '@/store/pinia'
|
||||||
|
import BaseMask from '@/components/BaseMask.vue'
|
||||||
|
|
||||||
const nav = useNav()
|
const nav = useNav()
|
||||||
const baseStore = useBaseStore()
|
const baseStore = useBaseStore()
|
||||||
const uploader = ref()
|
const uploader = ref()
|
||||||
|
const isMobile = ref(/Mobi|Android|iPhone/i.test(navigator.userAgent))
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
active: true,
|
active: true,
|
||||||
@ -457,4 +471,42 @@ function dislike() {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border-radius: 10rem;
|
border-radius: 10rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.guide {
|
||||||
|
color: white;
|
||||||
|
z-index: 999;
|
||||||
|
background: var(--active-main-bg);
|
||||||
|
position: fixed;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
border-radius: 16rem;
|
||||||
|
overflow: hidden;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
.danger {
|
||||||
|
margin-top: 10rem;
|
||||||
|
font-size: 40rem;
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.close {
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 18rem;
|
||||||
|
color: white;
|
||||||
|
position: absolute;
|
||||||
|
right: 15rem;
|
||||||
|
top: 15rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt {
|
||||||
|
text-align: left;
|
||||||
|
padding: 0 24rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
display: block;
|
||||||
|
width: 350rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -30,24 +30,19 @@ router.beforeEach((to, from) => {
|
|||||||
if (toDepth > fromDepth) {
|
if (toDepth > fromDepth) {
|
||||||
if (to.matched && to.matched.length) {
|
if (to.matched && to.matched.length) {
|
||||||
const toComponentName = to.matched[0].components?.default.name
|
const toComponentName = to.matched[0].components?.default.name
|
||||||
// store.commit('updateExcludeRoutes', {type: 'remove', value: toComponentName})
|
baseStore.updateExcludeNames({ type: 'remove', value: toComponentName })
|
||||||
baseStore.updateExcludeRoutes({ type: 'remove', value: toComponentName })
|
|
||||||
// console.log('to', toComponentName)
|
|
||||||
// console.log('前进')
|
// console.log('前进')
|
||||||
// console.log('删除', toComponentName)
|
// console.log('删除', toComponentName)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (from.matched && from.matched.length) {
|
if (from.matched && from.matched.length) {
|
||||||
const fromComponentName = from.matched[0].components?.default.name
|
const fromComponentName = from.matched[0].components?.default.name
|
||||||
// store.commit('updateExcludeRoutes', {type: 'add', value: fromComponentName})
|
baseStore.updateExcludeNames({ type: 'add', value: fromComponentName })
|
||||||
baseStore.updateExcludeRoutes({ type: 'add', value: fromComponentName })
|
|
||||||
|
|
||||||
// console.log('后退')
|
// console.log('后退')
|
||||||
// console.log('添加', fromComponentName)
|
// console.log('添加', fromComponentName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ...
|
|
||||||
// 返回 false 以取消导航
|
|
||||||
return true
|
return true
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@ export const useBaseStore = defineStore('base', {
|
|||||||
maskDialog: false,
|
maskDialog: false,
|
||||||
maskDialogMode: 'dark',
|
maskDialogMode: 'dark',
|
||||||
version: '17.1.0',
|
version: '17.1.0',
|
||||||
excludeRoutes: [],
|
excludeNames: [],
|
||||||
judgeValue: 20,
|
judgeValue: 20,
|
||||||
homeRefresh: 60,
|
homeRefresh: 60,
|
||||||
loading: false,
|
loading: false,
|
||||||
@ -78,18 +78,18 @@ export const useBaseStore = defineStore('base', {
|
|||||||
this.maskDialogMode = val.mode
|
this.maskDialogMode = val.mode
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updateExcludeRoutes(val) {
|
updateExcludeNames(val) {
|
||||||
if (val.type === 'add') {
|
if (val.type === 'add') {
|
||||||
if (!this.excludeRoutes.find((v) => v === val.value)) {
|
if (!this.excludeNames.find((v) => v === val.value)) {
|
||||||
this.excludeRoutes.push(val.value)
|
this.excludeNames.push(val.value)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const resIndex = this.excludeRoutes.findIndex((v) => v === val.value)
|
const resIndex = this.excludeNames.findIndex((v) => v === val.value)
|
||||||
if (resIndex !== -1) {
|
if (resIndex !== -1) {
|
||||||
this.excludeRoutes.splice(resIndex, 1)
|
this.excludeNames.splice(resIndex, 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// console.log('store.excludeRoutes', store.excludeRoutes,val)
|
// console.log('store.excludeNames', store.excludeNames,val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user