JiangShan-app/utils/common.js
2025-05-22 16:23:08 +08:00

58 lines
1.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 参数处理
* @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
}