export function queryString(options: Record<string, string | number>, needEncode = true) {
  const query = Object.keys(options)
    .map(key => `${key}=${needEncode ? encodeURIComponent(options[key] ?? '') : options[key]}`);

  return query.join('&');
}


export function routeChangePath(url: string, options: Record<string, string | number>): string {
  if (options) {
    const query = queryString(options, true);
    if (query) {
      return `${url}?${query}`;
    }
  }
  return url;
}


/**
 * 获取当前url
 * @function getCurUrl
 * @return {string}
 */
export function getCurUrl(): string {
  const pages = getCurrentPages();
  const page = pages[pages.length - 1];
  if (!page) return '';
  const { fullPath } = (page as any).$page;
  if (fullPath) {
    return fullPath;
  }
  return `${routeChangePath(page.route!, (page as any).options)}`;
}


