错误上报sdk

This commit is contained in:
xiangheng
2024-10-31 01:12:07 +08:00
parent ff9e39f964
commit daeea359bc
18 changed files with 786 additions and 247 deletions

View File

@@ -0,0 +1,62 @@
<script setup lang="ts">
import XLog from '../../../../x_error_sdk/x-log'
import x_log_browser from '../../../../x_error_sdk/x-log-browser'
const xlog = new XLog(
{
Dns: 'http://localhost:5174/api',
Pid: 'e19e3be20de94f49b68fafb4c30668bc',
Uid: '10'
},
x_log_browser
)
defineProps<{ msg: string }>()
function error() {
throw new Error('主动抛error')
}
function promiseError() {
Promise.reject('主动抛promise1')
Promise.reject(new Error('主动抛promiseError2'))
}
function yufaError() {
// try {
setTimeout(() => {
a = 1
// a = 2;
}, 100)
// } catch (error) {
// console.log(error);
// }
}
function loadError() {
const img = new Image()
console.log(img)
img.src = 'http://a.cn'
document.body.appendChild(img)
}
</script>
<template>
<h1>{{ msg }}</h1>
<div class="card">
<button class="a b" type="button" aa="11" @click="error">主动抛error</button>
<button class="a b" type="button" aa="11" @click="yufaError">语法错误</button>
<button class="a b c" id="abv" type="button" @click="promiseError">promiseerror</button>
<button type="button" @click="loadError">资源加载错误</button>
<!-- <img src="http://a.cn/a/b" alt="" srcset="" />
<link rel="stylesheet" href="http://a.cn/c/c/c" /> -->
</div>
</template>
<style scoped>
button {
color: #fff;
background-color: rgb(150, 149, 149);
border: 0;
padding: 6px 10px;
margin: 6px;
font-size: 14px;
line-height: 18px;
}
</style>

View File

@@ -20,9 +20,9 @@
/>
</el-select>
</el-form-item>
<el-form-item label="客户端id" prop="ClientId" class="w-[280px]">
<!-- <el-form-item label="客户端id" prop="ClientId" class="w-[280px]">
<el-input v-model="queryParams.ClientId" />
</el-form-item>
</el-form-item> -->
<el-form-item label="用户id" prop="UserId" class="w-[280px]">
<el-input v-model="queryParams.UserId" />
</el-form-item>
@@ -47,10 +47,10 @@
<el-form-item label="ip" prop="Ip" class="w-[280px]">
<el-input v-model="queryParams.Ip" />
</el-form-item>
<el-form-item label="ua记录" prop="Ua" class="w-[280px]">
<!-- <el-form-item label="ua记录" prop="Ua" class="w-[280px]">
<el-input v-model="queryParams.Ua" />
</el-form-item>
<el-form-item label="创建时间" prop="CreateTime" class="w-[280px]">
</el-form-item> -->
<el-form-item label="创建时间" prop="CreateTime" class="w-[425px]">
<daterange-picker
v-model:startTime="queryParams.CreateTimeStart"
v-model:endTime="queryParams.CreateTimeEnd"
@@ -128,21 +128,56 @@
/>
</template>
</el-table-column>
<el-table-column label="客户端id" prop="ClientId" min-width="130" />
<el-table-column label="用户id" prop="UserId" min-width="130" />
<el-table-column label="系统" prop="Os" min-width="130" />
<el-table-column label="浏览器" prop="Browser" min-width="130" />
<el-table-column label="国家" prop="Country" min-width="130" />
<el-table-column label="省份" prop="Province" min-width="130" />
<el-table-column label="城市" prop="City" min-width="130" />
<el-table-column label="电信运营商" prop="Operator" min-width="130" />
<el-table-column label="ip" prop="Ip" min-width="130" />
<el-table-column label="屏幕" prop="Width" min-width="130">
<!-- <el-table-column label="客户端id" prop="ClientId" min-width="130" /> -->
<el-table-column label="用户id" prop="UserId">
<template #default="{ row }">
<el-popover
placement="top-start"
:width="500"
trigger="hover"
:content="row.ClientId"
>
<template #reference>
<el-link type="primary">{{ row.UserId }}</el-link>
</template>
<div> ID {{ row.UserId }}</div>
<div>客户端ID{{ row.ClientId }}</div>
</el-popover>
</template>
</el-table-column>
<el-table-column label="浏览器" prop="Browser" min-width="150">
<template #default="{ row }">
<el-popover
placement="top-start"
title="浏览器ua"
:width="500"
trigger="hover"
:content="row.Ua"
>
<template #reference>
<el-link type="primary">{{ row.Os }} / {{ row.Browser }}</el-link>
</template>
</el-popover>
</template>
</el-table-column>
<el-table-column label="IP" prop="Ip" />
<el-table-column label="区域">
<template #default="{ row }">
{{ row.Country }}{{ row.Province }}{{ row.City }}
</template>
</el-table-column>
<!-- <el-table-column label="省份" prop="Province" />
<el-table-column label="城市" prop="City" /> -->
<el-table-column label="运营商" prop="Operator" />
<el-table-column label="屏幕" prop="Width">
<template #default="{ row }"> {{ row.Width }} * {{ row.Height }} </template>
</el-table-column>
<!-- <el-table-column label="屏幕高度" prop="Height" min-width="130" /> -->
<el-table-column label="ua记录" prop="Ua" min-width="380" />
<el-table-column label="创建时间" prop="CreateTime" min-width="130" />
<!-- <el-table-column label="ua记录" prop="Ua" min-width="380" /> -->
<el-table-column label="创建时间" prop="CreateTime" min-width="140" />
<el-table-column label="操作" width="80" fixed="right">
<template #default="{ row }">

View File

@@ -105,7 +105,7 @@
<el-table-column label="事件类型" prop="EventType" min-width="130" />
<el-table-column label="URL地址" prop="Path" min-width="130" />
<el-table-column label="错误消息" prop="Message" min-width="130" />
<el-table-column label="错误堆栈" prop="Stack" min-width="130" />
<!-- <el-table-column label="错误堆栈" prop="Stack" min-width="130" /> -->
<el-table-column label="md5" prop="Md5" min-width="130" />
<el-table-column label="创建时间" prop="CreateTime" min-width="130" />

View File

@@ -37,13 +37,13 @@
/>
</el-select>
</el-form-item>
<el-form-item label="创建时间" prop="CreateTime" class="w-[280px]">
<el-form-item label="创建时间" prop="CreateTime" class="w-[430px]">
<daterange-picker
v-model:startTime="queryParams.CreateTimeStart"
v-model:endTime="queryParams.CreateTimeEnd"
/>
</el-form-item>
<el-form-item label="更新时间" prop="UpdateTime" class="w-[280px]">
<el-form-item label="更新时间" prop="UpdateTime" class="w-[420px]">
<daterange-picker
v-model:startTime="queryParams.UpdateTimeStart"
v-model:endTime="queryParams.UpdateTimeEnd"