123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- const isArray = function (obj: any): boolean {
- return Object.prototype.toString.call(obj) === '[object Array]'
- }
- const Logger = () => {}
- Logger.typeColor = function (type: string) {
- let color = ''
- switch (type) {
- case 'primary':
- color = '#2d8cf0'
- break
- case 'success':
- color = '#19be6b'
- break
- case 'info':
- color = '#909399'
- break
- case 'warn':
- color = '#ff9900'
- break
- case 'error':
- color = '#f03f14'
- break
- default:
- color = '#35495E'
- break
- }
- return color
- }
- Logger.print = function (type = 'default', text: any, back = false) {
- if (typeof text === 'object') {
- // 如果是對象則調用打印對象方式
- isArray(text) ? console.table(text) : console.dir(text)
- return
- }
- if (back) {
- // 如果是打印帶背景圖的
- console.log(
- `%c ${text} `,
- `background:${Logger.typeColor(type)}; padding: 2px; border-radius: 4px; color: #fff;`
- )
- } else {
- console.log(
- `%c ${text} `,
- `border: 1px solid ${Logger.typeColor(type)};
- padding: 2px; border-radius: 4px;
- color: ${Logger.typeColor(type)};`
- )
- }
- }
- Logger.printBack = function (type = 'primary', text) {
- this.print(type, text, true)
- }
- Logger.pretty = function (type = 'primary', title, text) {
- if (typeof text === 'object') {
- console.group('Console Group', title)
- console.log(
- `%c ${title}`,
- `background:${Logger.typeColor(type)};border:1px solid ${Logger.typeColor(type)};
- padding: 1px; border-radius: 4px; color: #fff;`
- )
- isArray(text) ? console.table(text) : console.dir(text)
- console.groupEnd()
- return
- }
- console.log(
- `%c ${title} %c ${text} %c`,
- `background:${Logger.typeColor(type)};border:1px solid ${Logger.typeColor(type)};
- padding: 1px; border-radius: 4px 0 0 4px; color: #fff;`,
- `border:1px solid ${Logger.typeColor(type)};
- padding: 1px; border-radius: 0 4px 4px 0; color: ${Logger.typeColor(type)};`,
- 'background:transparent'
- )
- }
- Logger.prettyPrimary = function (title, ...text) {
- text.forEach((t) => this.pretty('primary', title, t))
- }
- Logger.prettySuccess = function (title, ...text) {
- text.forEach((t) => this.pretty('success', title, t))
- }
- Logger.prettyWarn = function (title, ...text) {
- text.forEach((t) => this.pretty('warn', title, t))
- }
- Logger.prettyError = function (title, ...text) {
- text.forEach((t) => this.pretty('error', title, t))
- }
- Logger.prettyInfo = function (title, ...text) {
- text.forEach((t) => this.pretty('info', title, t))
- }
- export default Logger
|