From 700efa72345fa88c80a4b74deb30f6d59ce00ef2 Mon Sep 17 00:00:00 2001 From: czm <2192718639@qq.com> Date: Fri, 21 Oct 2022 20:02:49 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(=E4=BC=98=E5=8C=96=E4=BC=A0?= =?UTF-8?q?=E5=8F=82=E5=87=BD=E6=95=B0):?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/common.ts | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/common/common.ts b/src/common/common.ts index 286adc7..f55e596 100644 --- a/src/common/common.ts +++ b/src/common/common.ts @@ -8,14 +8,32 @@ import Qs from 'qs' * @param type false 跳转普通页面,true 跳转tabbar页面 */ type ParamLink = 'navigateTo' | 'switchTab' | 'reLaunch' | 'redirectTo' -export const goLink = (path = '', params = null, way: ParamLink = 'navigateTo') => { +export const goLink = (path: string = '', params = null, way: ParamLink = 'navigateTo') => { if (path) { - let params_str = Qs.stringify(params || {}, { encode: false }) - path = params_str ? path + '?' + params_str : path - console.log('path::', way) + // let params_str = Qs_.stringify(params || {}, { encode: false }) + // path = params_str ? path + '?' + params_str : path + path = setUrlQuery({ url: path, query: params }) Taro[way]({ url: path }) } } +const setUrlQuery = (options: { url: string; query: object | null }) => { + let { url, query } = options + if (!url) return '' + if (query) { + let queryArr: any[] = [] + for (const key in query) { + if (query.hasOwnProperty(key)) { + queryArr.push(`${key}=${query[key]}`) + } + } + if (url.indexOf('?') !== -1) { + url = `${url}&${queryArr.join('&')}` + } else { + url = `${url}?${queryArr.join('&')}` + } + } + return url +} /** * 判断对象为空 * @param object