diff --git a/src/common/common.ts b/src/common/common.ts index f460e8e..02bd721 100644 --- a/src/common/common.ts +++ b/src/common/common.ts @@ -1,6 +1,26 @@ import Taro from '@tarojs/taro' import Qs from 'qs' +const setUrlQuery = (options: { url: string; query: object | null }) => { + let { url } = options + const { query } = options + if (!url) { return '' } + if (query) { + const queryArr: any[] = [] + for (const key in query) { + if (query.hasOwnProperty(key)) { + queryArr.push(`${key}=${query[key]}`) + } + } + if (url.includes('?')) { + url = `${url}&${queryArr.join('&')}` + } + else { + url = `${url}?${queryArr.join('&')}` + } + } + return url +} /** * 跳转 * @param path @@ -8,11 +28,11 @@ import Qs from 'qs' * @param type false 跳转普通页面,true 跳转tabbar页面 */ type ParamLink = 'navigateTo' | 'switchTab' | 'reLaunch' | 'redirectTo' -export const goLink = (path = '', params = {}, way: ParamLink = 'navigateTo') => { +export const goLink = (path = '', params: object | null = null, way: ParamLink = 'navigateTo') => { if (path) { - const params_str = Qs.stringify(params) - console.log('params_str==>', params_str) - path = params_str ? `${path}?${params_str}` : path + // 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 }) } }