Explorar el Código

Add channel name (tooltip / detail) to logs

Lilo hace 1 año
padre
commit
94fa2810cc
Se han modificado 2 ficheros con 25 adiciones y 9 borrados
  1. 9 0
      model/log.go
  2. 16 9
      web/src/components/LogsTable.js

+ 9 - 0
model/log.go

@@ -27,6 +27,7 @@ type Log struct {
 	UseTime          int    `json:"use_time" gorm:"default:0"`
 	IsStream         bool   `json:"is_stream" gorm:"default:false"`
 	ChannelId        int    `json:"channel" gorm:"index"`
+	ChannelName      string `json:"channel_name" gorm:"->"`
 	TokenId          int    `json:"token_id" gorm:"default:0;index"`
 	Group            string `json:"group" gorm:"index"`
 	Other            string `json:"other"`
@@ -130,6 +131,10 @@ func GetAllLogs(logType int, startTimestamp int64, endTimestamp int64, modelName
 	} else {
 		tx = LOG_DB.Where("type = ?", logType)
 	}
+
+	tx = tx.Joins("LEFT JOIN channels ON logs.channel_id = channels.id")
+	tx = tx.Select("logs.*, channels.name as channel_name")
+
 	if modelName != "" {
 		tx = tx.Where("model_name like ?", modelName)
 	}
@@ -169,6 +174,10 @@ func GetUserLogs(userId int, logType int, startTimestamp int64, endTimestamp int
 	} else {
 		tx = LOG_DB.Where("user_id = ? and type = ?", userId, logType)
 	}
+
+	tx = tx.Joins("LEFT JOIN channels ON logs.channel_id = channels.id")
+	tx = tx.Select("logs.*, channels.name as channel_name")
+
 	if modelName != "" {
 		tx = tx.Where("model_name like ?", modelName)
 	}

+ 16 - 9
web/src/components/LogsTable.js

@@ -157,13 +157,15 @@ const LogsTable = () => {
           record.type === 0 || record.type === 2 ? (
             <div>
               {
-                <Tag
-                  color={colors[parseInt(text) % colors.length]}
-                  size='large'
-                >
-                  {' '}
-                  {text}{' '}
-                </Tag>
+                <Tooltip content={record.channel_name || '[未知]'}>
+                  <Tag
+                    color={colors[parseInt(text) % colors.length]}
+                    size='large'
+                  >
+                    {' '}
+                    {text}{' '}
+                  </Tag>
+                </Tooltip>
               }
             </div>
           ) : (
@@ -543,6 +545,12 @@ const LogsTable = () => {
         //   key: '渠道重试',
         //   value: content,
         // })
+      }      
+      if (isAdminUser && (logs[i].type === 0 || logs[i].type === 2)) {
+        expandDataLocal.push({
+          key: t('渠道信息'),
+          value: `${logs[i].channel} - ${logs[i].channel_name || '[未知]'}`
+        });
       }
       if (other?.ws || other?.audio) {
         expandDataLocal.push({
@@ -595,13 +603,12 @@ const LogsTable = () => {
           key: t('计费过程'),
           value: content,
         });
-      }
 
+      }
       expandDatesLocal[logs[i].key] = expandDataLocal;
     }
 
     setExpandData(expandDatesLocal);
-
     setLogs(logs);
   };