const formatTime = time => { var date = new Date(time); const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() const hour = date.getHours() const minute = date.getMinutes() const second = date.getSeconds() return [year, month, day].map(formatNumber).join('-') // + ' ' + [hour, minute, second].map(formatNumber).join(':') } const formatNumber = n => { n = n.toString() return n[1] ? n : '0' + n } const decimal2Hex = (d) => { try { let i = d if(typeof i === 'string') { const regex = /^[0-9]+$/ if(regex.test(i)) { i = parseInt(i) return i.toString(16).toUpperCase() } } else if(typeof i === 'number') { return i.toString(16).toUpperCase() } } catch (error) { console.error(error) } return d } const encodeQueryParam = (params) => { console.log(params) if (!params) return {}; const queryParam = {}; // 格式化查询参数 const { terms } = params; const { sorts } = params; Object.keys(params).forEach((key) => { if (key === 'terms') { let index = 0; if (!terms) return; Object.keys(terms).forEach((k) => { if ( !(terms[k] === '' || terms[k] === undefined || terms[k].length === 0 || terms[k] === {}) ) { if (k.indexOf('$LIKE') > -1 && terms[k].toString().indexOf('%') === -1) { terms[k] = `%${terms[k]}%`; } if (k.indexOf('$IN') > -1) { terms[k] = terms[k].toString(); } else if (k.indexOf('$START') > -1) { terms[k] = `%${terms[k]}`; } else if (k.indexOf('$END') > -1) { terms[k] = `${terms[k]}%`; } if (k.indexOf('@') > -1) { const temp = k.split('@'); queryParam[`terms[${index}].column`] = temp[0]; queryParam[`terms[${index}].type`] = temp[1]; } else if (k.indexOf('#') > -1) { const temp = k.split('#'); queryParam[`terms[${index}].column`] = temp[0]; queryParam[`terms[${index}].termType`] = temp[1]; } else { queryParam[`terms[${index}].column`] = k; } queryParam[`terms[${index}].value`] = terms[k]; index += 1; } }); } else if (key === 'sorts') { if (!sorts) return; if (Object.keys(sorts).length > 0) { queryParam[`sorts[0].name`] = sorts.field; queryParam[`sorts[0].order`] = (sorts.order || '').replace('end', ''); } } else { queryParam[key] = params[key]; } }); console.log(queryParam) return queryParam; } module.exports = { formatTime: formatTime, encodeQueryParam: encodeQueryParam, decimal2Hex: decimal2Hex }