深圳或然科技官网
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
2.6 KiB

2 years ago
<template>
<div id="app">
<router-view></router-view>
</div>
</template>
<script>
import Setting from '@/setting'
import util from '@/libs/util'
2 years ago
export default {
name: 'App',
1 year ago
created () {
2 years ago
//在页面加载时读取localStorage里的状态信息
if (util.local.get(Setting.storeKey)) {
this.$store.replaceState(Object.assign({}, this.$store.state, util.local.get(Setting.storeKey)));
}
//在页面刷新时将vuex里的信息保存到localStorage里
window.addEventListener('beforeunload', () => {
util.local.set(Setting.storeKey, this.$store.state);
});
// 判断当前处于什么终端 true为PC端,false为手机端
1 year ago
function IsPCModel () {
2 years ago
var userAgentInfo = navigator.userAgent;
var Agents = ['Android', 'iPhone', 'SymbianOS', 'Windows Phone', 'iPad', 'iPod'];
var flagPc = true;
for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) > 0) {
flagPc = false;
break;
}
}
return flagPc;
}
var flagZt = IsPCModel()
2 years ago
this.$store.commit('updateModelType', flagZt)
window.onresize = this.throttle(() => {
const w = document.body.clientWidth
if (w <= 680) {
// w <= 480 && this.$store.commit('set', true)
2 years ago
this.$store.commit('updateModelType', false)
} else if (w > 1700) {
this.setNav(10)
} else if (w > 1600) {
this.setNav(9)
} else if (w > 1400) {
this.setNav(8)
} else if (w > 1200) {
this.setNav(6)
} else if (w > 980) {
this.setNav(4)
1 year ago
} else {
2 years ago
this.$store.commit('updateModelType', true)
}
1 year ago
}, 500)
2 years ago
},
1 year ago
mounted () {
window.onbeforeunload = function () {
2 years ago
sessionStorage.removeItem('navPageSize')
}
const w = document.body.clientWidth
if (w > 1700) {
1 year ago
sessionStorage.setItem('navPageSize', 10)
} else if (w > 1600) {
1 year ago
sessionStorage.setItem('navPageSize', 9)
} else if (w > 1400) {
1 year ago
sessionStorage.setItem('navPageSize', 8)
} else if (w > 1200) {
1 year ago
sessionStorage.setItem('navPageSize', 6)
}
2 years ago
},
methods: {
1 year ago
throttle (func, delay) {
var prev = Date.now()
return function () {
var context = this;
var args = arguments;
var now = Date.now();
if (now - prev >= delay) {
func.apply(context, args);
prev = Date.now();
2 years ago
}
1 year ago
}
},
setNav(num) {
this.$store.commit('updateModelType', true)
this.$store.dispatch('updateNavSumA', num)
sessionStorage.setItem('navPageSize', num)
},
2 years ago
},
};
</script>