press-next
Version:
Vue3 组件库,支持 Composition API
37 lines (29 loc) • 858 B
text/typescript
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)}`;
}