/** * 参数处理 * @param params 参数 */ export function tansParams (params) { let result = '' for (const propName of Object.keys(params)) { const value = params[propName] var part = encodeURIComponent(propName) + "=" if (value !== null && value !== "" && typeof (value) !== "undefined") { if (typeof value === 'object') { for (const key of Object.keys(value)) { if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') { let params = propName + '[' + key + ']' var subPart = encodeURIComponent(params) + "=" result += subPart + encodeURIComponent(value[key]) + "&" } } } else { result += part + encodeURIComponent(value) + "&" } } } return result } /** * 参数处理,避免小程序跳转10层后无法跳转 * @param url */ export function navigateBackTo (url) { const backUrl = url.slice(1); const pages = getCurrentPages(); const num = pages.length; // 当前页面栈总数 const index = pages.findIndex(item => item.route === backUrl); const backnum = num - index - 1; uni.navigateBack({ delta: backnum }); } /** * @description 版本号对比 * @param version1, 最新版本 * @param version2, 当前版本 * @returns 如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0 */ export function versionCompare (version1, version2) { let arr1 = version1.split("."); let arr2 = version2.split("."); let length = Math.max(arr1.length, arr2.length); for (let i = 0; i < length; i++) { const n1 = Number(arr1[i] || 0) const n2 = Number(arr2[i] || 0) // version1 > version2 返回1,如果 version1 < version2 返回-1,不然返回0 if (n1 > n2) return 1 if (n1 < n2) return -1 } return 0 }