饼状图不再统计空名
This commit is contained in:
@@ -125,7 +125,7 @@
|
|||||||
<span>
|
<span>
|
||||||
<Icon icon="mdi-light:email" width="20" height="20"/>
|
<Icon icon="mdi-light:email" width="20" height="20"/>
|
||||||
</span>
|
</span>
|
||||||
<span>{{ item.accountEmail }}</span>
|
<span>{{ item.status === 7 ? formateReceive(item.recipient) : item.accountEmail }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="del-status" v-if="item.isDel">
|
<div class="del-status" v-if="item.isDel">
|
||||||
<el-tag type="info" size="small">已删除</el-tag>
|
<el-tag type="info" size="small">已删除</el-tag>
|
||||||
@@ -271,6 +271,12 @@ const accountShow = computed(() => {
|
|||||||
return uiStore.accountShow && settingStore.settings.manyEmail === 0
|
return uiStore.accountShow && settingStore.settings.manyEmail === 0
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
function formateReceive(recipient) {
|
||||||
|
recipient = JSON.parse(recipient)
|
||||||
|
return recipient.map(item => item.address).join(', ')
|
||||||
|
}
|
||||||
|
|
||||||
function handleScroll(e) {
|
function handleScroll(e) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
186
mail-worker/dist/assets/index-BYWjgX4H.js
vendored
Normal file
186
mail-worker/dist/assets/index-BYWjgX4H.js
vendored
Normal file
File diff suppressed because one or more lines are too long
186
mail-worker/dist/assets/index-BgK8IB2e.js
vendored
186
mail-worker/dist/assets/index-BgK8IB2e.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4
mail-worker/dist/index.html
vendored
4
mail-worker/dist/index.html
vendored
@@ -6,8 +6,8 @@
|
|||||||
<title></title>
|
<title></title>
|
||||||
<link rel="icon" href="/assets/favicon-C5dAZutX.svg" type="image/svg+xml">
|
<link rel="icon" href="/assets/favicon-C5dAZutX.svg" type="image/svg+xml">
|
||||||
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
|
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
|
||||||
<script type="module" crossorigin src="/assets/index-BgK8IB2e.js"></script>
|
<script type="module" crossorigin src="/assets/index-BYWjgX4H.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-BJW3-Q2l.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-DIddMqZG.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="loading-first">
|
<div id="loading-first">
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import analysisDao from '../dao/analysis-dao';
|
import analysisDao from '../dao/analysis-dao';
|
||||||
import orm from '../entity/orm';
|
import orm from '../entity/orm';
|
||||||
import email from '../entity/email';
|
import email from '../entity/email';
|
||||||
import { desc, count, eq } from 'drizzle-orm';
|
import { desc, count, eq, and, ne, isNotNull } from 'drizzle-orm';
|
||||||
import { emailConst } from '../const/entity-const';
|
import { emailConst } from '../const/entity-const';
|
||||||
import kvConst from '../const/kv-const';
|
import kvConst from '../const/kv-const';
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
@@ -17,7 +17,6 @@ const analysisService = {
|
|||||||
const [
|
const [
|
||||||
numberCount,
|
numberCount,
|
||||||
nameRatio,
|
nameRatio,
|
||||||
sendEmailRatio,
|
|
||||||
userDayCountRaw,
|
userDayCountRaw,
|
||||||
receiveDayCountRaw,
|
receiveDayCountRaw,
|
||||||
sendDayCountRaw,
|
sendDayCountRaw,
|
||||||
@@ -28,18 +27,11 @@ const analysisService = {
|
|||||||
orm(c)
|
orm(c)
|
||||||
.select({ name: email.name, total: count() })
|
.select({ name: email.name, total: count() })
|
||||||
.from(email)
|
.from(email)
|
||||||
.where(eq(email.type, emailConst.type.RECEIVE))
|
.where(and(eq(email.type, emailConst.type.RECEIVE), isNotNull(email.name), ne(email.name,'')))
|
||||||
.groupBy(email.name)
|
.groupBy(email.name)
|
||||||
.orderBy(desc(count()))
|
.orderBy(desc(count()))
|
||||||
.limit(6),
|
.limit(6),
|
||||||
|
|
||||||
orm(c)
|
|
||||||
.select({ email: email.sendEmail, total: count() })
|
|
||||||
.from(email)
|
|
||||||
.where(eq(email.type, emailConst.type.RECEIVE))
|
|
||||||
.groupBy(email.sendEmail)
|
|
||||||
.orderBy(desc(count()))
|
|
||||||
.limit(6),
|
|
||||||
|
|
||||||
analysisDao.userDayCount(c),
|
analysisDao.userDayCount(c),
|
||||||
analysisDao.receiveDayCount(c),
|
analysisDao.receiveDayCount(c),
|
||||||
@@ -59,8 +51,7 @@ const analysisService = {
|
|||||||
numberCount,
|
numberCount,
|
||||||
userDayCount,
|
userDayCount,
|
||||||
receiveRatio: {
|
receiveRatio: {
|
||||||
nameRatio,
|
nameRatio
|
||||||
sendEmailRatio
|
|
||||||
},
|
},
|
||||||
emailDayCount: {
|
emailDayCount: {
|
||||||
receiveDayCount,
|
receiveDayCount,
|
||||||
|
|||||||
Reference in New Issue
Block a user