index.uts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import vuex from "./main.uts";
  2. class useStore {
  3. static getState(key : string) : any {
  4. return getData(key);
  5. };
  6. static setState(key : string, value : any) : void {
  7. setData(key, value);
  8. };
  9. static getStore(key : string) : any {
  10. return getStorageSync(key);
  11. };
  12. static setStore(key : string, value : any) : void {
  13. setData(key, value);
  14. uni.setStorageSync(key, value);
  15. };
  16. static getStoreState(key : string, isCache : boolean) : any {
  17. return isCache ? getStorageSync(key) : getData(key);
  18. };
  19. static setStoreState(key : string, value : any, isCache : boolean) : void {
  20. setData(key, value);
  21. if (isCache) {
  22. uni.setStorageSync(key, value);
  23. };
  24. };
  25. };
  26. function getStorageSync(key : string) : any {
  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 as any;
  35. };
  36. function getData(key : string) : any {
  37. if (vuex[key] == null) {
  38. return "";
  39. };
  40. // #ifndef APP-ANDROID
  41. if (vuex[key] == undefined) {
  42. return "";
  43. };
  44. // #endif
  45. if (vuex[key] == "") {
  46. return "";
  47. };
  48. return vuex[key] as any;
  49. };
  50. function setData(key : string, value : any) : void {
  51. vuex[key] = value;
  52. };
  53. const mixinStore = defineMixin({
  54. methods: {
  55. getState(key : string) : any {
  56. return useStore.getState(key);
  57. },
  58. setState(key : string, value : any) : void {
  59. useStore.setState(key, value);
  60. },
  61. getStore(key : string) : any {
  62. return useStore.getStore(key);
  63. },
  64. setStore(key : string, value : any) : void {
  65. useStore.setStore(key, value);
  66. },
  67. getStoreState(key : string, isCache : boolean) : any {
  68. return useStore.getStoreState(key, isCache);
  69. },
  70. setStoreState(key : string, value : any, isCache : boolean) : void {
  71. useStore.setStoreState(key, value, isCache);
  72. }
  73. }
  74. });
  75. export {
  76. useStore,
  77. mixinStore
  78. }