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
|
|||
|
}
|