index.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import "./main.js";
  2. class useStore {
  3. static getState = (key) => {
  4. return getData(key);
  5. };
  6. static setState = (key, value) => {
  7. setData(key, value);
  8. };
  9. static getStore = (key) => {
  10. return getStorageSync(key);
  11. };
  12. static setStore = (key, value) => {
  13. setData(key, value);
  14. uni.setStorageSync(key, value);
  15. };
  16. static getStoreState = (key, isCache) => {
  17. return isCache ? getStorageSync(key) : getData(key);
  18. };
  19. static setStoreState = (key, value, isCache) => {
  20. setData(key, value);
  21. if (isCache) {
  22. uni.setStorageSync(key, value);
  23. };
  24. };
  25. };
  26. function getStorageSync(key) {
  27. const temp = uni.getStorageSync(key);
  28. if (temp === "") {
  29. return getData(key);
  30. };
  31. if (getData(key) !== "") {
  32. return getData(key);
  33. };
  34. return temp;
  35. };
  36. function getData(key) {
  37. // #ifdef VUE2
  38. if (uni.store.state[key] == null || uni.store.state[key] == undefined || uni.store.state[key] == "") {
  39. return "";
  40. };
  41. return uni.store.state[key];
  42. // #endif
  43. // #ifdef VUE3
  44. if (uni.store[key] == null || uni.store[key] == undefined || uni.store[key] == "") {
  45. return "";
  46. };
  47. return uni.store[key];
  48. // #endif
  49. };
  50. function setData(key, value) {
  51. // #ifdef VUE2
  52. Vue.set(uni.store.state, key, value);
  53. // #endif
  54. // #ifdef VUE3
  55. uni.store[key] = value;
  56. // #endif
  57. }
  58. const mixinStore = {
  59. methods: {
  60. getState(key) {
  61. return useStore.getState(key);
  62. },
  63. setState(key, value) {
  64. useStore.setState(key, value);
  65. },
  66. getStore(key) {
  67. return useStore.getStore(key);
  68. },
  69. setStore(key, value) {
  70. useStore.setStore(key, value);
  71. },
  72. getStoreState(key, isCache) {
  73. return useStore.getStoreState(key, isCache);
  74. },
  75. setStoreState(key, value, isCache) {
  76. useStore.setStoreState(key, value, isCache);
  77. }
  78. }
  79. };
  80. export {
  81. useStore,
  82. mixinStore
  83. }