🐞 fix(跳转工具函数):修复我的页面无法跳转

This commit is contained in:
Haiyi 2022-12-19 11:13:06 +08:00
parent a10872f4c0
commit c3445f2535

View File

@ -1,6 +1,26 @@
import Taro from '@tarojs/taro' import Taro from '@tarojs/taro'
import Qs from 'qs' 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 * @param path
@ -8,11 +28,11 @@ import Qs from 'qs'
* @param type false true tabbar页面 * @param type false true tabbar页面
*/ */
type ParamLink = 'navigateTo' | 'switchTab' | 'reLaunch' | 'redirectTo' 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) { if (path) {
const params_str = Qs.stringify(params) // let params_str = Qs_.stringify(params || {}, { encode: false })
console.log('params_str==>', params_str) // path = params_str ? path + '?' + params_str : path
path = params_str ? `${path}?${params_str}` : path path = setUrlQuery({ url: path, query: params })
Taro[way]({ url: path }) Taro[way]({ url: path })
} }
} }