From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/utils/Logger.ts | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 100 insertions(+), 0 deletions(-)
diff --git a/src/utils/Logger.ts b/src/utils/Logger.ts
new file mode 100644
index 0000000..ca58df2
--- /dev/null
+++ b/src/utils/Logger.ts
@@ -0,0 +1,100 @@
+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
--
Gitblit v1.8.0