index.ts 642 B

123456789101112131415161718192021222324252627282930313233
  1. import { StateData } from './type'
  2. /**
  3. * 全局状态初始数据
  4. */
  5. const initData: StateData = {
  6. systemInfo: {
  7. statusBarHeight: 0,
  8. },
  9. referralCode: '',
  10. };
  11. function useState() {
  12. const data = { ...initData };
  13. const getItem = <Key extends keyof StateData>(key: Key): StateData[Key] => {
  14. return data[key];
  15. }
  16. const setItem = <Key extends keyof StateData>(key: Key, value: StateData[Key]): void => {
  17. data[key] = value;
  18. }
  19. return {
  20. get value(): StateData {
  21. return data;
  22. },
  23. getItem,
  24. setItem
  25. }
  26. }
  27. export const globalState = useState();