Browse Source

Merge branch 'milestone-20260107-用户画像记录' into dev

zhaowenkang/feature-20260206140254-后台AI复盘二期
songjie 3 weeks ago
parent
commit
e6fc85059f
  1. 2
      src/router/index.js
  2. 19
      src/views/PlatformData/UserActivityStats.vue
  3. 8
      src/views/PlatformData/UserLoginStats.vue
  4. 19
      src/views/PlatformData/UserOverview.vue

2
src/router/index.js

@ -91,7 +91,7 @@ const routes = [
path: 'loginStats',
name: 'loginStats',
component: () => import('../views/PlatformData/UserLoginStats.vue'),
meta: { title: '用户登录统计', showSidebar: true }
meta: { title: '用户登录统计', showSidebar: true }
},
{
path: 'activityStats',

19
src/views/PlatformData/UserActivityStats.vue

@ -23,7 +23,7 @@
<div class="filter-right">
<el-button-group>
<el-button :type="chartMode === 'day' ? 'danger' : 'default'" @click="handleModeChange('day')">每日</el-button>
<el-button :type="chartMode === 'week' ? 'danger' : 'default'" @click="handleModeChange('week')">近七日</el-button>
<!-- <el-button :type="chartMode === 'week' ? 'danger' : 'default'" @click="handleModeChange('week')">近七日</el-button> -->
<el-button :type="chartMode === 'month' ? 'danger' : 'default'" @click="handleModeChange('month')">近三十日</el-button>
</el-button-group>
</div>
@ -73,8 +73,8 @@
<el-table-column prop="name" label="姓名" min-width="120" />
<el-table-column prop="region" label="地区" width="100" />
<el-table-column prop="loginCount" label="登录次数" width="100" align="center" />
<el-table-column prop="totalDuration" label="总停留时长" min-width="150" align="center" />
<el-table-column prop="avgDuration" label="平均停留时长" min-width="150" align="center" />
<!-- <el-table-column prop="totalDuration" label="总停留时长" min-width="150" align="center" />
<el-table-column prop="avgDuration" label="平均停留时长" min-width="150" align="center" /> -->
<el-table-column prop="deepMate" label="DeepMate" min-width="100" align="center" />
<el-table-column prop="deepExplore" label="深度探索" min-width="100" align="center" />
<el-table-column prop="marketInfo" label="行情" min-width="100" align="center" />
@ -282,25 +282,15 @@ const updateChart = (data) => {
boundaryGap: false,
data: dates
},
yAxis: [
{
yAxis: {
type: 'value',
min: 0,
position: 'left',
axisLabel: { formatter: '{value}' }
},
{
type: 'value',
min: 0,
position: 'right',
axisLabel: { formatter: '{value}' }
}
],
series: [
{
name: 'DeepChart活跃人数',
type: 'line',
yAxisIndex: 0,
data: activeUsers,
itemStyle: { color: '#e74c3c' },
symbol: 'circle',
@ -310,7 +300,6 @@ const updateChart = (data) => {
{
name: 'DeepChart使用次数',
type: 'line',
yAxisIndex: 1,
data: useCounts,
itemStyle: { color: '#2ecc71' },
symbol: 'circle',

8
src/views/PlatformData/UserLoginStats.vue

@ -8,13 +8,13 @@
>
登录数据
</div>
<div
<!-- <div
class="tab-item"
:class="{ active: activeTab === 'regionalData' }"
@click="activeTab = 'regionalData'"
>
各地区登录数据
</div>
</div> -->
</div>
<!-- 登录数据 Tab -->
@ -404,6 +404,10 @@ const fetchTrendData = async () => {
chartTrendTitle.value = '近7天登录趋势';
}
if (selectedRegion.value && selectedRegion.value !== 'all') {
params.region = selectedRegion.value;
}
try {
const res = await getUserLoginTrend(params);
console.log("获取用户登录趋势响应:", res);

19
src/views/PlatformData/UserOverview.vue

@ -15,6 +15,9 @@
>
数据明细
</div>
<div class="tab-note">
<span class="red-asterisk">*</span> 默认展示截止到今日的数据
</div>
</div>
<!-- 数据概览 -->
@ -48,7 +51,7 @@
<div class="small-card-content">
<div class="left-part">
<div class="card-title">
<el-icon><Trophy /></el-icon>
<el-icon><Trophy /></el-icon>
</div>
</div>
<div class="right-part">
@ -628,6 +631,20 @@ onMounted(() => {
color: #fff;
}
.tab-note {
margin-left: auto;
display: flex;
align-items: center;
font-size: 14px;
color: #666;
}
.red-asterisk {
color: #ff4d4f;
font-weight: bold;
margin-right: 5px;
}
/* Overview Tab */
.stats-row {
display: flex;

Loading…
Cancel
Save