common.js 2.2 KB

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