50 lines
1.1 KiB
JavaScript
50 lines
1.1 KiB
JavaScript
|
|
/**
|
|||
|
|
* 参数处理工具函数
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 解析ID参数,确保返回数字类型
|
|||
|
|
* @param {string|number} id - 要解析的ID
|
|||
|
|
* @returns {number|null} - 返回数字ID或null
|
|||
|
|
*/
|
|||
|
|
export function parseId(id) {
|
|||
|
|
if (id === null || id === undefined || id === '') {
|
|||
|
|
return null
|
|||
|
|
}
|
|||
|
|
const num = Number(id)
|
|||
|
|
return isNaN(num) ? null : num
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 解析多个ID参数
|
|||
|
|
* @param {object} params - 参数对象
|
|||
|
|
* @param {array} keys - 需要解析的键名数组
|
|||
|
|
* @returns {object} - 解析后的参数对象
|
|||
|
|
*/
|
|||
|
|
export function parseIds(params, keys) {
|
|||
|
|
const result = { ...params }
|
|||
|
|
keys.forEach(key => {
|
|||
|
|
if (result[key] !== undefined) {
|
|||
|
|
result[key] = parseId(result[key])
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
return result
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 验证必需的ID参数
|
|||
|
|
* @param {number|null} id - ID值
|
|||
|
|
* @param {string} name - 参数名称(用于错误提示)
|
|||
|
|
* @returns {boolean} - 是否有效
|
|||
|
|
*/
|
|||
|
|
export function validateId(id, name = 'ID') {
|
|||
|
|
if (!id) {
|
|||
|
|
uni.showToast({
|
|||
|
|
title: `${name}不能为空`,
|
|||
|
|
icon: 'none'
|
|||
|
|
})
|
|||
|
|
return false
|
|||
|
|
}
|
|||
|
|
return true
|
|||
|
|
}
|