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.
120 lines
4.5 KiB
120 lines
4.5 KiB
<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(() => { |
|
if(document.body.clientWidth <= 1200) { |
|
this.$store.commit('updateModelType', false) |
|
}else if(document.body.clientWidth > 1700 ) { |
|
this.$store.commit('updateModelType', true) |
|
this.$store.dispatch('updateNavSumA', 10) |
|
sessionStorage.setItem('navPageSize', 10) |
|
}else if(document.body.clientWidth > 1600 && document.body.clientWidth <= 1700 ) { |
|
this.$store.commit('updateModelType', true) |
|
if (this.$i18n.locale == 'en') { |
|
this.$store.dispatch('updateNavSumA', 9) |
|
sessionStorage.setItem('navPageSize', 9) |
|
}else { |
|
this.$store.dispatch('updateNavSumA', 10) |
|
sessionStorage.setItem('navPageSize', 10) |
|
} |
|
}else if(document.body.clientWidth > 1500 && document.body.clientWidth <= 1600) { |
|
this.$store.commit('updateModelType', true) |
|
this.$store.dispatch('updateNavSumA', 9) |
|
sessionStorage.setItem('navPageSize', 9) |
|
}else if(document.body.clientWidth > 1400 && document.body.clientWidth <= 1500) { |
|
this.$store.commit('updateModelType', true) |
|
if (this.$i18n.locale == 'en') { |
|
this.$store.dispatch('updateNavSumA', 7) |
|
sessionStorage.setItem('navPageSize', 7) |
|
}else { |
|
this.$store.dispatch('updateNavSumA', 8) |
|
sessionStorage.setItem('navPageSize', 8) |
|
} |
|
}else if(document.body.clientWidth > 1300 && document.body.clientWidth <= 1400) { |
|
this.$store.commit('updateModelType', true) |
|
if (this.$i18n.locale == 'en') { |
|
this.$store.dispatch('updateNavSumA', 6) |
|
sessionStorage.setItem('navPageSize', 6) |
|
}else { |
|
this.$store.dispatch('updateNavSumA', 7) |
|
sessionStorage.setItem('navPageSize', 7) |
|
} |
|
}else if(document.body.clientWidth > 1200 && document.body.clientWidth <= 1300) { |
|
this.$store.commit('updateModelType', true) |
|
if (this.$i18n.locale == 'en') { |
|
this.$store.dispatch('updateNavSumA', 6) |
|
sessionStorage.setItem('navPageSize', 6) |
|
}else { |
|
this.$store.dispatch('updateNavSumA', 6) |
|
sessionStorage.setItem('navPageSize', 6) |
|
} |
|
}else { |
|
this.$store.commit('updateModelType', true) |
|
} |
|
},500) |
|
}, |
|
mounted() { |
|
window.onbeforeunload = function(){ |
|
sessionStorage.removeItem('navPageSize') |
|
} |
|
if(document.body.clientWidth > 1600 ) { |
|
sessionStorage.setItem('navPageSize', 10) |
|
}else if(document.body.clientWidth > 1500 && document.body.clientWidth <= 1600) { |
|
sessionStorage.setItem('navPageSize', 9) |
|
}else if(document.body.clientWidth > 1400 && document.body.clientWidth <= 1500) { |
|
sessionStorage.setItem('navPageSize', 8) |
|
}else if(document.body.clientWidth > 1300 && document.body.clientWidth <= 1400) { |
|
sessionStorage.setItem('navPageSize', 7) |
|
}else if(document.body.clientWidth > 1200 && document.body.clientWidth <= 1300) { |
|
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(); |
|
} |
|
} |
|
} |
|
}, |
|
}; |
|
</script>
|
|
|