Xazn-app/utils/common.js

58 lines
1.7 KiB
JavaScript
Raw Permalink Normal View History

2025-05-22 16:37:43 +08:00
/**
* 参数处理
* @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
}