|
|
|
<template>
|
|
|
|
<div id="app">
|
|
|
|
<router-view></router-view>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import Setting from '@/setting'
|
|
|
|
import util from '@/libs/util'
|
|
|
|
export default {
|
|
|
|
name: 'App',
|
|
|
|
created () {
|
|
|
|
//在页面加载时读取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为手机端
|
|
|
|
function IsPCModel () {
|
|
|
|
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()
|
|
|
|
this.$store.commit('updateModelType', flagZt)
|
|
|
|
window.onresize = this.throttle(() => {
|
|
|
|
const w = document.body.clientWidth
|
|
|
|
if (w <= 680) {
|
|
|
|
// w <= 480 && this.$store.commit('set', true)
|
|
|
|
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)
|
|
|
|
} else {
|
|
|
|
this.$store.commit('updateModelType', true)
|
|
|
|
}
|
|
|
|
}, 500)
|
|
|
|
},
|
|
|
|
mounted () {
|
|
|
|
window.onbeforeunload = function () {
|
|
|
|
sessionStorage.removeItem('navPageSize')
|
|
|
|
}
|
|
|
|
const w = document.body.clientWidth
|
|
|
|
if (w > 1700) {
|
|
|
|
sessionStorage.setItem('navPageSize', 10)
|
|
|
|
} else if (w > 1600) {
|
|
|
|
sessionStorage.setItem('navPageSize', 9)
|
|
|
|
} else if (w > 1400) {
|
|
|
|
sessionStorage.setItem('navPageSize', 8)
|
|
|
|
} else if (w > 1200) {
|
|
|
|
sessionStorage.setItem('navPageSize', 6)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
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();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
setNav(num) {
|
|
|
|
this.$store.commit('updateModelType', true)
|
|
|
|
this.$store.dispatch('updateNavSumA', num)
|
|
|
|
sessionStorage.setItem('navPageSize', num)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
|
|
|
</script>
|