|
|
import Vue from 'vue';
|
|
|
|
|
|
const setWindowSize = (store) => {
|
|
|
const { clientWidth, clientHeight } = document.body;
|
|
|
|
|
|
store.commit('SET_WINDOW_SIZE', { clientWidth, clientHeight });
|
|
|
};
|
|
|
|
|
|
const initClient = (store) => {
|
|
|
setWindowSize(store);
|
|
|
window.onresize = () => {
|
|
|
setWindowSize(store);
|
|
|
};
|
|
|
|
|
|
let supportsPassive = false;
|
|
|
|
|
|
try {
|
|
|
const opts = Object.defineProperty({}, 'passive', {
|
|
|
get() {
|
|
|
supportsPassive = true;
|
|
|
return true;
|
|
|
}
|
|
|
});
|
|
|
|
|
|
window.addEventListener('test', null, opts);
|
|
|
} catch (e) { } //eslint-disable-line
|
|
|
store.commit('SET_SUPPORT_PASSIVE', { supportsPassive });
|
|
|
|
|
|
let img = new Image();
|
|
|
|
|
|
img.onload = () => {
|
|
|
if (img.width > 0 && img.height > 0) {
|
|
|
store.commit('SET_SUPPORT_WEBP', { supportWebp: true });
|
|
|
}
|
|
|
};
|
|
|
img.src = 'data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA';
|
|
|
|
|
|
Vue.$sdk.getUser().then(user => {
|
|
|
if (user && user.uid) {
|
|
|
store.commit('SET_LOGIN_INFO', user);
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
|
|
|
export {
|
|
|
initClient
|
|
|
}; |
...
|
...
|
|