export default { install(Vue) { Vue.mixin({ data() { return { mixinId: 0, //用户信息 usrLogin: false, usrInfo: {}, usrName: '', //浏览器宽度≤768返回true windowMax768: window.innerWidth <= 768, } }, mounted() { if (typeof window.__mixinId != "number") window.__mixinId = 0; this.mixinId = window.__mixinId++; // this.usrLogin = $A.getToken() !== false; this.usrInfo = $A.getUserInfo(); this.usrName = this.usrInfo.username || ''; $A.setOnUserInfoListener('mixins_' + this.mixinId, (data, isLogin) => { this.usrLogin = isLogin; this.usrInfo = data; this.usrName = this.usrInfo.username || ''; }); // window.addEventListener('resize', this.windowMax768Listener); }, beforeDestroy() { $A.removeUserInfoListener('mixins_' + this.mixinId); window.removeEventListener('resize', this.windowMax768Listener); }, methods: { isArray(obj) { return typeof (obj) == "object" && Object.prototype.toString.call(obj).toLowerCase() == '[object array]' && typeof obj.length == "number"; }, isJson(obj) { return typeof (obj) == "object" && Object.prototype.toString.call(obj).toLowerCase() == "[object object]" && typeof obj.length == "undefined"; }, windowMax768Listener() { this.windowMax768 = window.innerWidth <= 768 } } }); } }