link.ts 702 B

12345678910111213141516171819202122232425262728293031
  1. import Taro from '@tarojs/taro'
  2. export enum TabBarKey {
  3. home = 'home',
  4. radar = 'radar',
  5. renmai = 'renmai',
  6. cardFolder = 'cardFolder',
  7. }
  8. export function getTabParams(key: TabBarKey): Record<string, any> {
  9. const old = Taro.getStorageSync('tabParams')
  10. return parseQueryParams(old?.[key] || '')
  11. }
  12. export function consumeTabParams(key: TabBarKey) {
  13. const old = Taro.getStorageSync('tabParams')
  14. Taro.setStorageSync('tabParams', {
  15. ...old,
  16. [key]: undefined,
  17. })
  18. }
  19. export function parseQueryParams(search: string) {
  20. return search.split('&')?.reduce((acc, item) => {
  21. if (item) {
  22. const [key, value] = item.split('=')
  23. acc[key] = value
  24. }
  25. return acc
  26. }, {})
  27. }