liuyu
4 小时以前 82a74ba0402ab546ba524d23ce62198c4d00d2f7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
export function getMenuMessageRoute(bodyText?: string) {
  if (!bodyText) return '';
  try {
    const data = JSON.parse(bodyText);
    const menuUrl = String(data.menuUrl || '').trim();
    if (!menuUrl.startsWith('/') || menuUrl.startsWith('//')) return '';
 
    const parameterName = String(data.parameterName || '').trim();
    if (!parameterName || data.parameterValue === undefined || data.parameterValue === null || data.parameterValue === '') return menuUrl;
 
    const [pathAndQuery = '', hash = ''] = menuUrl.split('#', 2);
    const [path, query = ''] = pathAndQuery.split('?', 2);
    const searchParams = new URLSearchParams(query);
    searchParams.set(parameterName, String(data.parameterValue));
    const queryString = searchParams.toString();
    return `${path}${queryString ? `?${queryString}` : ''}${hash ? `#${hash}` : ''}`;
  } catch {
    return '';
  }
}