import _ from 'lodash'; /** * 生成随机字符串 * @param {number} length 长度 * @returns {string} */ export const randomString = length => { let randomStr = ''; for (let i = 0; i < length; i++) { randomStr += _.sample('abcdefghijklmnopqrstuvwxyz0123456789'); } return randomStr; }; /** * 生成随机种子 * @param {number} length 长度 * @returns {string} */ export const generateSeed = (length = 16) => { const characters = '0123456789abcdef'; let result = ''; for (let i = 0; i < length; i++) { result += characters[Math.floor(Math.random() * characters.length)]; } return result; }; /** * 将 Markdown 日志行转换为 HTML * @param {*} line * @returns */ export const mdLogLineToHTML = function (line) { // 去除行首空格和换行符 line = line.replace(/(^\s*\*|\r)/g, ''); // 替换行内代码块 line = line.replace(/\s*`([^`]+`)/g, '$1'); line = line.replace(/`\s*/g, ''); // 替换行内加粗 line = line.replace(/\s*\*\*([^\*]+\*\*)/g, '$1'); line = line.replace(/\*\*\s*/g, ''); // 替换行内表示更新内容 line = line.replace(/ⁿᵉʷ/g, ''); // 返回转换后的行内容(HTML) return line.trim(); };