Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import { getCurrentPageQuery } from './getCurrentPageQuery' import { parseUrlQueryString } from '../utils' export type GetSceneParamsParser<T> = | 'searchParams' | 'json' | ((data: string) => T) /** * 获取场景参数。 * * @param parser 解析器 */ export function getSceneParams<T extends Record<any, any> = Record<any, any>>( parser: GetSceneParamsParser<T> = 'searchParams', ): T { const { scene } = getCurrentPageQuery<{ scene?: string }>() if (!scene) { return {} as any } if (parser === 'searchParams') { return parseUrlQueryString<T>(scene) } if (parser === 'json') { return JSON.parse(scene) } return parser(scene) } |