58 lines
1.7 KiB
JavaScript
58 lines
1.7 KiB
JavaScript
/**
|
||
* 参数处理
|
||
* @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
|
||
} |