Skip to content

Commit 66d412c

Browse files
committed
Vue3 重构:REVIEW 公众号标签统计
1 parent c4e5419 commit 66d412c

File tree

2 files changed

+36
-49
lines changed

2 files changed

+36
-49
lines changed

src/views/mp/account/index.vue

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -121,13 +121,13 @@ const queryFormRef = ref() // 搜索的表单
121121
/** 查询列表 */
122122
const getList = async () => {
123123
loading.value = true
124-
// 处理查询参数
125-
let params = { ...queryParams }
126-
// 执行查询
127-
const data = await AccountApi.getAccountPage(params)
128-
list.value = data.list
129-
total.value = data.total
130-
loading.value = false
124+
try {
125+
const data = await AccountApi.getAccountPage(queryParams)
126+
list.value = data.list
127+
total.value = data.total
128+
} finally {
129+
loading.value = false
130+
}
131131
}
132132
133133
/** 搜索按钮操作 */

src/views/mp/statistics/index.vue

Lines changed: 29 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<el-form-item label="公众号" prop="accountId">
66
<el-select v-model="accountId" @change="getSummary">
77
<el-option
8-
v-for="item in accounts"
8+
v-for="item in accountList"
99
:key="parseInt(item.id)"
1010
:label="item.name"
1111
:value="parseInt(item.id)"
@@ -83,17 +83,16 @@
8383
</template>
8484

8585
<script setup lang="ts" name="MpStatistics">
86-
// 引入基本模板
8786
import * as echarts from 'echarts'
8887
import {
8988
getInterfaceSummary,
9089
getUpstreamMessage,
9190
getUserCumulate,
9291
getUserSummary
93-
} from '@/api/mp/statistics'
94-
import { addTime, beginOfDay, betweenDay, endOfDay, formatDate } from '@/utils/dateUtils'
95-
import { getSimpleAccountList } from '@/api/mp/account'
96-
92+
} from '@/api/mp/statistics' // TODO 改成 StatisticsApi 整体引入
93+
import { addTime, beginOfDay, betweenDay, endOfDay } from '@/utils/dateUtils' // TODO 可以改到 formatTime 里
94+
import { formatDate } from '@/utils/formatTime'
95+
import * as MpAccountApi from '@/api/mp/account'
9796
const message = useMessage() // 消息弹窗
9897
9998
const defaultTime = ref<[Date, Date]>([
@@ -105,18 +104,13 @@ const dateRange = ref([
105104
endOfDay(new Date(new Date().getTime() - 3600 * 1000 * 24))
106105
]) // -1 天
107106
const accountId = ref()
108-
const accounts = ref([
109-
{
110-
id: '0',
111-
name: ''
112-
}
113-
])
107+
const accountList = ref<MpAccountApi.AccountVO[]>([]) // 公众号账号列表
114108
115109
const userSummaryChartRef = ref()
116110
const userCumulateChartRef = ref()
117111
const upstreamMessageChartRef = ref()
118112
const interfaceSummaryChartRef = ref()
119-
113+
// TODO 看看能不能用 https://kailong110120130.gitee.io/vue-element-plus-admin-doc/components/echart.html 组件
120114
const xAxisDate = ref([] as any[]) // X 轴的日期范围
121115
const userSummaryOption = reactive({
122116
// 用户增减数据
@@ -257,20 +251,16 @@ const interfaceSummaryOption = reactive({
257251
]
258252
})
259253
260-
onMounted(async () => {
261-
// 获取公众号下拉列表
262-
await getAccountList()
263-
// 加载数据
264-
getSummary()
265-
})
254+
/** 加载公众号账号的列表 */
266255
const getAccountList = async () => {
267-
const data = await getSimpleAccountList()
268-
accounts.value = data
256+
accountList.value = await MpAccountApi.getSimpleAccountList()
269257
// 默认选中第一个
270-
if (accounts.value.length > 0) {
271-
accountId.value = accounts.value[0].id
258+
if (accountList.value.length > 0) {
259+
accountId.value = accountList.value[0].id
272260
}
273261
}
262+
263+
// TODO 一些方法的注释补全下
274264
const getSummary = () => {
275265
// 如果没有选中公众号账号,则进行提示。
276266
if (!accountId) {
@@ -286,7 +276,7 @@ const getSummary = () => {
286276
const days = betweenDay(dateRange.value[0], dateRange.value[1]) // 相差天数
287277
for (let i = 0; i <= days; i++) {
288278
xAxisDate.value.push(
289-
formatDate(addTime(dateRange.value[0], 3600 * 1000 * 24 * i), 'yyyy-MM-dd')
279+
formatDate(addTime(dateRange.value[0], 3600 * 1000 * 24 * i), 'YYYY-MM-DD')
290280
)
291281
}
292282
@@ -296,25 +286,22 @@ const getSummary = () => {
296286
initUpstreamMessageChart()
297287
interfaceSummaryChart()
298288
}
289+
299290
const initUserSummaryChart = async () => {
300291
userSummaryOption.xAxis.data = []
301292
userSummaryOption.series[0].data = []
302293
userSummaryOption.series[1].data = []
303294
try {
304295
const data = await getUserSummary({
305296
accountId: accountId.value,
306-
date: [
307-
formatDate(dateRange.value[0], 'yyyy-MM-dd HH:mm:ss'),
308-
formatDate(dateRange.value[1], 'yyyy-MM-dd HH:mm:ss')
309-
]
297+
date: [formatDate(dateRange.value[0]), formatDate(dateRange.value[1])]
310298
})
311-
312299
userSummaryOption.xAxis.data = xAxisDate.value
313300
// 处理数据
314301
xAxisDate.value.forEach((date, index) => {
315302
data.forEach((item) => {
316303
// 匹配日期
317-
const refDate = formatDate(new Date(item.refDate), 'yyyy-MM-dd')
304+
const refDate = formatDate(new Date(item.refDate), 'YYYY-MM-DD')
318305
if (refDate.indexOf(date) === -1) {
319306
return
320307
}
@@ -328,17 +315,15 @@ const initUserSummaryChart = async () => {
328315
userSummaryChart.setOption(userSummaryOption)
329316
} catch {}
330317
}
318+
331319
const initUserCumulateChart = async () => {
332320
userCumulateOption.xAxis.data = []
333321
userCumulateOption.series[0].data = []
334322
// 发起请求
335323
try {
336324
const data = await getUserCumulate({
337325
accountId: accountId.value,
338-
date: [
339-
formatDate(dateRange.value[0], 'yyyy-MM-dd HH:mm:ss'),
340-
formatDate(dateRange.value[1], 'yyyy-MM-dd HH:mm:ss')
341-
]
326+
date: [formatDate(dateRange.value[0]), formatDate(dateRange.value[1])]
342327
})
343328
userCumulateOption.xAxis.data = xAxisDate.value
344329
// 处理数据
@@ -358,10 +343,7 @@ const initUpstreamMessageChart = async () => {
358343
try {
359344
const data = await getUpstreamMessage({
360345
accountId: accountId.value,
361-
date: [
362-
formatDate(dateRange.value[0], 'yyyy-MM-dd HH:mm:ss'),
363-
formatDate(dateRange.value[1], 'yyyy-MM-dd HH:mm:ss')
364-
]
346+
date: [formatDate(dateRange.value[0]), formatDate(dateRange.value[1])]
365347
})
366348
upstreamMessageOption.xAxis.data = xAxisDate.value
367349
// 处理数据
@@ -384,10 +366,7 @@ const interfaceSummaryChart = async () => {
384366
try {
385367
const data = await getInterfaceSummary({
386368
accountId: accountId.value,
387-
date: [
388-
formatDate(dateRange.value[0], 'yyyy-MM-dd HH:mm:ss'),
389-
formatDate(dateRange.value[1], 'yyyy-MM-dd HH:mm:ss')
390-
]
369+
date: [formatDate(dateRange.value[0]), formatDate(dateRange.value[1])]
391370
})
392371
interfaceSummaryOption.xAxis.data = xAxisDate.value
393372
// 处理数据
@@ -402,4 +381,12 @@ const interfaceSummaryChart = async () => {
402381
interfaceSummaryChart.setOption(interfaceSummaryOption)
403382
} catch {}
404383
}
384+
385+
/** 初始化 */
386+
onMounted(async () => {
387+
// 获取公众号下拉列表
388+
await getAccountList()
389+
// 加载数据
390+
getSummary()
391+
})
405392
</script>

0 commit comments

Comments
 (0)