index.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. export default {
  2. install(Vue) {
  3. Vue.mixin({
  4. data() {
  5. return {
  6. //用户信息
  7. usrLogin: false,
  8. usrInfo: {},
  9. usrName: '',
  10. //浏览器宽度≤768返回true
  11. windowMax768: window.innerWidth <= 768,
  12. }
  13. },
  14. mounted() {
  15. this.usrLogin = $A.getToken() !== false;
  16. this.usrInfo = $A.getUserInfo();
  17. this.usrName = this.usrInfo.username || '';
  18. $A.setOnUserInfoListener('mixins', (data, isLogin) => {
  19. this.usrLogin = isLogin;
  20. this.usrInfo = data;
  21. this.usrName = this.usrInfo.username || '';
  22. });
  23. //
  24. window.addEventListener('resize', this.windowMax768Listener);
  25. },
  26. beforeDestroy() {
  27. window.removeEventListener('resize', this.windowMax768Listener);
  28. },
  29. methods: {
  30. isArray(obj) {
  31. return typeof (obj) == "object" && Object.prototype.toString.call(obj).toLowerCase() == '[object array]' && typeof obj.length == "number";
  32. },
  33. isJson(obj) {
  34. return typeof (obj) == "object" && Object.prototype.toString.call(obj).toLowerCase() == "[object object]" && typeof obj.length == "undefined";
  35. },
  36. windowMax768Listener() {
  37. this.windowMax768 = window.innerWidth <= 768
  38. }
  39. }
  40. });
  41. }
  42. }