From 089bf5d2378b3c4a61d795b2a92bede2c193b771 Mon Sep 17 00:00:00 2001
From: admin <344137771@qq.com>
Date: Tue, 06 Jan 2026 11:22:58 +0800
Subject: [PATCH] 1

---
 src/components/chat/messaege/LoginMessage.vue |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 108 insertions(+), 0 deletions(-)

diff --git a/src/components/chat/messaege/LoginMessage.vue b/src/components/chat/messaege/LoginMessage.vue
new file mode 100644
index 0000000..0003cc6
--- /dev/null
+++ b/src/components/chat/messaege/LoginMessage.vue
@@ -0,0 +1,108 @@
+<template>
+  <!-- 登录消息 -->
+  <div class="login-message">
+    <h4>登录操作通知</h4>
+    <p>登录时间:{{ datetime }} (CST)</p>
+    <p>IP地址:{{ ip }}</p>
+    <p>登录地点:{{ address }}</p>
+    <p>登录设备:{{ platform }}</p>
+    <p>异常原因:{{ reason }}</p>
+  </div>
+</template>
+
+<script>
+import { parseTime } from '@/utils/functions'
+
+export default {
+  name: 'LoginMessage',
+  props: {
+    detail: {
+      type: Object,
+      required: true,
+    },
+  },
+  data() {
+    return {
+      datetime: '',
+      ip: '',
+      address: '',
+      platform: '',
+      reason: '常用设备登录',
+    }
+  },
+  created() {
+    
+
+    if(this.detail == undefined){
+      return
+    }
+
+
+    this.ip = this.detail.ip || ''
+    this.datetime = parseTime(
+      this.detail.created_at,
+      '{y}年{m}月{d}日 {h}:{i}:{s}'
+    )
+    this.address = this.detail.address
+    this.reason = this.detail.reason
+
+    this.platform =
+      this.getExploreName(this.detail.agent) +
+      ' / ' +
+      this.getExploreOs(this.detail.agent)
+  },
+  methods: {
+    getExploreName(userAgent = '') {
+      if (userAgent.indexOf('Opera') > -1 || userAgent.indexOf('OPR') > -1) {
+        return 'Opera'
+      } else if (
+        userAgent.indexOf('compatible') > -1 &&
+        userAgent.indexOf('MSIE') > -1
+      ) {
+        return 'IE'
+      } else if (userAgent.indexOf('Edge') > -1) {
+        return 'Edge'
+      } else if (userAgent.indexOf('Firefox') > -1) {
+        return 'Firefox'
+      } else if (
+        userAgent.indexOf('Safari') > -1 &&
+        userAgent.indexOf('Chrome') == -1
+      ) {
+        return 'Safari'
+      } else if (
+        userAgent.indexOf('Chrome') > -1 &&
+        userAgent.indexOf('Safari') > -1
+      ) {
+        return 'Chrome'
+      } else {
+        return 'Unkonwn'
+      }
+    },
+
+    getExploreOs(userAgent = '') {
+      if (userAgent.indexOf('Mac OS') > -1) {
+        return 'Mac OS'
+      } else {
+        return 'Windows'
+      }
+    },
+  },
+}
+</script>
+<style lang="less" scoped>
+.login-message {
+  width: 300px;
+  min-height: 50px;
+  background: #f7f7f7;
+  border-radius: 5px;
+  padding: 15px;
+
+  p {
+    font-size: 13px;
+    margin: 10px 0;
+    &:last-child {
+      margin-bottom: 0;
+    }
+  }
+}
+</style>

--
Gitblit v1.9.3