UNPKG

wangbd-myui

Version:

MY前端基础框架核心组件库

109 lines (94 loc) 2.07 kB
/** * 日志打印模块 * @module $ui/utils/log * @author chenhuachun */ import globalConfig from '../config' // 提示颜色配置 const colors = { default: '#35495E', primary: '#3488ff', success: '#43B883', warn: '#e6a23c', error: '#f56c6c' } /** * 内部调用 console 对象的方法 * @private * @param {string} name 方法名称 * @param {Array} args 参数数组 */ function applyMethod(name, args) { const debug = globalConfig.debug if (!debug) return; if (!window) return; if (!window.console) return; const method = window.console[name] try { method.apply(window.console, args) } catch (e) { } } /** * 打印信息日志 */ export function log() { applyMethod('log', arguments) } /** * 打印警告日志 * @param {...string} 日志内容 */ export function warn() { applyMethod('warn', arguments) } /** * 打印错误日志 * @param {...string} 日志内容 */ export function error() { applyMethod('error', arguments) } /** * 打印信息 */ export function info() { applyMethod('info', arguments) } /** * 枚举对象属性 * @param {...string} 对象 */ export function dir() { applyMethod('dir', arguments) } /** * 输出提示信息 * @param {string} title 标题 * @param {string} info 内容 * @param {string} [type=primary] 颜色类型,支持:primary/success/warn/error */ export function tip(title, info, type = 'primary') { log( `%c ${title} %c ${info} %c`, 'background:#35495E; padding: 1px; border-radius: 3px 0 0 3px; color: #fff;', `background:${colors[type]}; padding: 1px; border-radius: 0 3px 3px 0; color: #fff;`, 'background:transparent' ) } /** * 创建log日志实例,返回一个包含全部输入日志方法集合的对象 * @return {log} */ export function create() { const methods = { warn, error, tip, dir, info } const _log = log Object.assign(_log, methods) return _log }