create-iking-admin
Version:
金合技术中台脚手架
56 lines (50 loc) • 1.35 kB
text/typescript
/*
* @Author: wfl
* @LastEditors: wfl
* @description:
* @updateInfo:
* @Date: 2022-07-29 11:45:14
* @LastEditTime: 2022-10-08 11:28:05
*/
import { paramType } from 'iking-utils';
const DATE_TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss';
export function joinTimestamp<T extends boolean>(
join: boolean,
restful: T,
): T extends true ? string : object;
export function joinTimestamp(join: boolean, restful = false): string | object {
if (!join) {
return restful ? '' : {};
}
const now = new Date().getTime();
if (restful) {
return `?_t=${now}`;
}
return { _t: now };
}
/**
* @description: Format request parameter time
*/
export function formatRequestDate(params: Recordable) {
if (Object.prototype.toString.call(params) !== '[object Object]') {
return;
}
for (const key in params) {
if (params[key] && params[key]._isAMomentObject) {
params[key] = params[key].format(DATE_TIME_FORMAT);
}
if (paramType.isString(key)) {
const value = params[key];
if (value) {
try {
params[key] = paramType.isString(value) ? value.trim() : value;
} catch (error: any) {
throw new Error(error);
}
}
}
if (paramType.isObject(params[key])) {
formatRequestDate(params[key]);
}
}
}