12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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
- }
- }
- });
- }
- }
|