common.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. export const state = {
  2. //webView地址
  3. webViewUrl: "",
  4. loadingShow: false,
  5. //微信场景参数
  6. chatScenesInfo: {},
  7. //登录弹窗状态
  8. loginPopupShow: false,
  9. //当前位置
  10. currentAddress: {
  11. areaName: "请选择",
  12. areaId: ''
  13. },
  14. };
  15. //缓存浏览器的数据名称
  16. const cacheNameList = ["userInfo","userCheckInfo","userLoginId","token","avatar","userStatus","webViewUrl"];
  17. let clearTime;
  18. export const mutations = {
  19. //取出缓存数据(打开APP就取出)
  20. setCacheData(state) {
  21. for (let name of cacheNameList) {
  22. let data;
  23. // #ifndef H5
  24. data = uni.getStorageSync(name);
  25. // #endif
  26. // #ifdef H5
  27. data = sessionStorage.getItem(name) || localStorage.getItem(name);
  28. // #endif
  29. if (data) {
  30. // #ifdef H5
  31. try {
  32. data = JSON.parse(data);
  33. } catch (e) {
  34. }
  35. // #endif
  36. state[name] = data;
  37. }
  38. }
  39. },
  40. //WebView地址
  41. setWebViewUrl(state, data) {
  42. if (data) {
  43. state.webViewUrl = data;
  44. // #ifdef H5
  45. window.sessionStorage.setItem('webViewUrl', data);
  46. // #endif
  47. }
  48. },
  49. //数据加载状态
  50. setLoadingShow(state, data) {
  51. if(state.loadingShow){
  52. if(data){
  53. clearTime && clearTimeout(clearTime);
  54. clearTime = setTimeout(function(){
  55. state.loadingShow = false;
  56. },5000);
  57. } else {
  58. clearTime && clearTimeout(clearTime);
  59. clearTime = setTimeout(function(){
  60. state.loadingShow = false;
  61. },50);
  62. }
  63. } else {
  64. state.loadingShow = data;
  65. }
  66. },
  67. //微信场景参数
  68. setChatScenesInfo(state, data) {
  69. if (data) {
  70. state.chatScenesInfo = Object.assign({}, state.chatScenesInfo, data);
  71. }
  72. },
  73. //登录弹窗状态
  74. setLoginPopupShow(state, data) {
  75. state.loginPopupShow = data;
  76. },
  77. //当前地址
  78. setCurrentAddress(state, data) {
  79. if (data) {
  80. state.currentAddress = Object.assign(state.currentAddress, data);
  81. let addressInfo = {
  82. "provinceId": state.currentAddress.provinceId,
  83. "provinceName": state.currentAddress.provinceName,
  84. "cityId": state.currentAddress.cityId,
  85. "cityName": state.currentAddress.cityName,
  86. "areaId": state.currentAddress.areaId,
  87. "areaName": state.currentAddress.areaName,
  88. };
  89. uni.setStorageSync('currentAddress', addressInfo);
  90. }
  91. }
  92. };
  93. export const actions = {
  94. };