补齐后台埋点导出和任务事件选择

后台埋点查询支持日期筛选和导出全部模式

新增后台真实 event key 列表接口

任务配置页改用真实 user 埋点 key 候选

更新后台埋点查询文档和定向测试
This commit is contained in:
2026-06-26 16:49:33 +08:00
parent 607042a250
commit a8c3f8cf0f
10 changed files with 613 additions and 88 deletions
@@ -1,16 +1,20 @@
import {describe, expect, test} from 'vitest';
import { describe, expect, test } from 'vitest';
import {
adminProfileTaskTrackingEventDefinitions,
adminTrackingEventDefinitions,
buildAdminTrackingEventKeyOptions,
filterAdminProfileTaskTrackingEventDefinitions,
filterAdminTrackingEventKeyOptions,
filterAdminTrackingEventDefinitions,
findAdminTrackingEventDefinition,
} from './trackingEventDefinitions';
describe('admin tracking event definitions', () => {
test('后台埋点筛选候选包含后端通用埋点清单', () => {
const keys = adminTrackingEventDefinitions.map((definition) => definition.key);
const keys = adminTrackingEventDefinitions.map(
(definition) => definition.key,
);
expect(keys.length).toBeGreaterThan(40);
expect(keys).toContain('daily_login');
@@ -22,21 +26,48 @@ describe('admin tracking event definitions', () => {
});
test('任务配置候选只开放适合个人任务的事件', () => {
expect(adminProfileTaskTrackingEventDefinitions.map(({key}) => key)).toEqual([
'daily_login',
]);
expect(filterAdminProfileTaskTrackingEventDefinitions('').map(({key}) => key)).toEqual([
'daily_login',
expect(
adminProfileTaskTrackingEventDefinitions.map(({ key }) => key),
).toEqual(['daily_login']);
expect(
filterAdminProfileTaskTrackingEventDefinitions('').map(({ key }) => key),
).toEqual(['daily_login']);
});
test('后台埋点 key 候选从真实库响应合并静态标题', () => {
const options = buildAdminTrackingEventKeyOptions([
{
eventKey: 'work_play_start',
eventTitle: 'work_play_start',
scopeKinds: ['work', 'user'],
},
{
eventKey: 'unknown_event',
eventTitle: '未知事件',
scopeKinds: ['user'],
},
]);
expect(options.find(({ key }) => key === 'work_play_start')?.title).toBe(
'作品开始游玩',
);
expect(options.find(({ key }) => key === 'unknown_event')?.title).toBe(
'未知事件',
);
expect(
filterAdminTrackingEventKeyOptions(options, '作品').map(({ key }) => key),
).toEqual(['work_play_start']);
});
test('后台埋点筛选支持按中文名称和 key 搜索', () => {
expect(filterAdminTrackingEventDefinitions('上传票据').map(({key}) => key)).toEqual([
'asset_upload_ticket_create',
]);
expect(filterAdminTrackingEventDefinitions('work_play').map(({key}) => key)).toEqual([
'work_play_start',
]);
expect(findAdminTrackingEventDefinition(' daily_login ')?.title).toBe('每日登录');
expect(
filterAdminTrackingEventDefinitions('上传票据').map(({ key }) => key),
).toEqual(['asset_upload_ticket_create']);
expect(
filterAdminTrackingEventDefinitions('work_play').map(({ key }) => key),
).toEqual(['work_play_start']);
expect(findAdminTrackingEventDefinition(' daily_login ')?.title).toBe(
'每日登录',
);
});
});