| 1 | /* |
| 2 | * @Author: nevin |
| 3 | * @Date: 2024-07-04 15:15:28 |
| 4 | * @LastEditTime: 2024-11-26 18:39:44 |
| 5 | * @LastEditors: nevin |
| 6 | * @Description: 工具 |
| 7 | */ |
| 8 | |
| 9 | export * from './file.util' |
| 10 | export * from './ip.util' |
| 11 | export * from './time.util' |
| 12 | |
| 13 | /** |
| 14 | * 封装一个非阻塞的sleep函数,返回一个Promise对象。 |
| 15 | * @param {number} milliseconds - 指定延迟的毫秒数。 |
| 16 | * @returns {Promise<void>} - 一个Promise,将在指定延迟后resolve。 |
| 17 | */ |
| 18 | export function sleep(milliseconds: number): Promise<void> { |
| 19 | return new Promise((resolve) => { |
| 20 | setTimeout(resolve, milliseconds) |
| 21 | }) |
| 22 | } |
| 23 | |
| 24 | // 封装一个获取随机的任意个数字或字母的字符串的函数 |
| 25 | export function getRandomString(length: number, onlyNum = false): string { |
| 26 | const chars = onlyNum |
| 27 | ? '1234567890' |
| 28 | : 'abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789' |
| 29 | let result = '' |
| 30 | for (let i = 0; i < length; i++) { |
| 31 | result += chars.charAt(Math.floor(Math.random() * chars.length)) |
| 32 | } |
| 33 | return result |
| 34 | } |
| 35 | |
| 36 | /** |
| 37 | * 获取某一天 UTC 的起止时间 |
| 38 | * @param date 格式为 "2025-07-25" |
| 39 | * @returns { start: Date, end: Date } |
| 40 | */ |
| 41 | export function getDayRangeUTC(date: string): { start: Date, end: Date } { |
| 42 | const start = new Date(`${date} T00:00:00.000Z`) |
| 43 | const end = new Date(`${date} T23:59:59.999Z`) |
| 44 | return { start, end } |
| 45 | } |
| 46 |