import { customAlphabet } from 'nanoid'; import { createId } from '@paralleldrive/cuid2'; export const letter = 'abcdefghijklmnopqrstuvwxyz'; export const number = '0123456789'; const alphanumeric = `${letter}${number}`; export const alphanumericWithDash = `${alphanumeric}-`; export const cuid2 = createId; /** * 创建一个随机的字母字符串 */ export const uuid = customAlphabet(letter); /** * 创建一个随机的 id,包含字母和数字 */ export const nanoid = customAlphabet(alphanumeric, 16); /** * 创建一个随机的 id,包含字母、数字和短横线 */ export const nanoidWithDash = customAlphabet(alphanumericWithDash, 16); /** * 创建一个随机的 id,以字母开头的字符串 * @param number * @returns */ export const randomId = (number: number) => { const _letter = uuid(1); return `${_letter}${nanoid(number)}`; }; /** * 创建一个随机的字母字符串 * @param number * @param opts * @returns */ export const randomLetter = (number: number = 8, opts?: { before?: string; after?: string }) => { const { before = '', after = '' } = opts || {}; return `${before}${uuid(number)}${after}`; };