63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
|
/**
|
|||
|
* Created by Zhang Haijun on 2021/2/2.
|
|||
|
*/
|
|||
|
// 查询参数封装优化
|
|||
|
export function handleSearchParam (params) {
|
|||
|
// 设置参数
|
|||
|
const objParams = {}
|
|||
|
function setParams (sign, key, value) {
|
|||
|
if (objParams[sign]) {
|
|||
|
objParams[sign][key] = value
|
|||
|
} else {
|
|||
|
objParams[sign] = {
|
|||
|
[key]: value
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
// 将参数处理为对象
|
|||
|
for (const a in params) {
|
|||
|
const value = params[a]
|
|||
|
// 对参数进行处理,去除空参数
|
|||
|
if (value === '' || value === undefined || value === null) continue
|
|||
|
// 对key值进行处理
|
|||
|
const [key, sign = 'EQ'] = a.split(':')
|
|||
|
// 将sign全部转换为大写
|
|||
|
const signs = sign.toLocaleUpperCase()
|
|||
|
if (signs === 'RANGE') {
|
|||
|
const [first, second] = value
|
|||
|
setParams('GET', key, first)
|
|||
|
setParams('LET', key, second)
|
|||
|
continue
|
|||
|
}
|
|||
|
setParams(signs, key, value)
|
|||
|
}
|
|||
|
const result = []
|
|||
|
for (const a in objParams) {
|
|||
|
result.push({ param: objParams[a], sign: a })
|
|||
|
}
|
|||
|
return JSON.stringify(result)
|
|||
|
}
|
|||
|
/**
|
|||
|
* 判断字符类型
|
|||
|
* @param {*} word 字符
|
|||
|
* @returns 0:中文, 1: 英文, 2:数字, 3: 其他类型
|
|||
|
*/
|
|||
|
export const getWordType = (word) => {
|
|||
|
// 验证是否是中文
|
|||
|
const pattern0 = new RegExp('[\u4E00-\u9FA5]+');
|
|||
|
// 验证是否是英文
|
|||
|
const pattern1 = new RegExp('[A-Za-z]+');
|
|||
|
// 验证是否是数字
|
|||
|
const pattern2 = new RegExp('[0-9]+');
|
|||
|
|
|||
|
if (pattern0.test(word)) {
|
|||
|
return 0
|
|||
|
} else if (pattern1.test(word)) {
|
|||
|
return 1
|
|||
|
} else if (pattern2.test(word)) {
|
|||
|
return 2
|
|||
|
} else {
|
|||
|
return 3
|
|||
|
}
|
|||
|
}
|