feat: 3.5版本规划

This commit is contained in:
R524809
2026-09-24 17:14:38 +08:00
parent f82ac4d89d
commit 08d9a2792a
19 changed files with 769 additions and 45 deletions
+88 -17
View File
@@ -115,18 +115,96 @@ class Tracker {
};
}
/**
* 统一业务埋点入口。pageName 使用页面 route,内容使用稳定的 worksheet_id。
*/
report(
eventName: string,
pageName: string,
extraParams?: Record<string, any>,
): void {
try {
this.sendEvent(
eventName,
this.getCommonEventParams(eventName, pageName, extraParams),
);
} catch (error) {
console.error(`上报 ${eventName} 事件失败:`, error);
}
}
reportPageView(pageName: string): void {
this.report('page_view', pageName);
}
reportWorksheetClick(
pageName: string,
extraParams: Record<string, any>,
): void {
this.report('worksheet_click', pageName, extraParams);
}
reportPreviewView(
pageName: string,
extraParams: Record<string, any>,
): void {
this.report('preview_view', pageName, extraParams);
}
reportGenerateStart(
pageName: string,
extraParams: Record<string, any>,
): void {
this.report('generate_start', pageName, extraParams);
}
reportGenerateResult(
pageName: string,
success: boolean,
extraParams: Record<string, any>,
): void {
this.report(
success ? 'generate_success' : 'generate_fail',
pageName,
extraParams,
);
}
reportExportClick(
pageName: string,
extraParams: Record<string, any>,
): void {
this.report('export_click', pageName, extraParams);
}
reportExportResult(
pageName: string,
success: boolean,
extraParams: Record<string, any>,
): void {
this.report(
success ? 'export_success' : 'export_fail',
pageName,
extraParams,
);
}
reportFavorite(
pageName: string,
worksheetId: string,
favorited: boolean,
): void {
this.report(favorited ? 'favorite_add' : 'favorite_remove', pageName, {
worksheet_id: worksheetId,
});
}
/**
* 上报分享点击事件
* @param pageName 页面名称
*/
reportShare(pageName: string): void {
try {
const params = this.getCommonEventParams('share_click', pageName);
this.sendEvent('share_click', params);
} catch (error) {
console.error('上报分享事件失败:', error);
}
reportShare(pageName: string, extraParams?: Record<string, any>): void {
this.report('share_click', pageName, extraParams);
}
/**
@@ -135,15 +213,8 @@ class Tracker {
* @param mode 模式(可选)
*/
reportDownload(pageName: string, mode?: string): void {
try {
const params = this.getCommonEventParams('download', pageName, {
...(mode && { mode }),
});
this.sendEvent('download', params);
} catch (error) {
console.error('上报下载事件失败:', error);
}
// 兼容旧调用;新代码请使用 reportExportClick / reportExportResult。
this.reportExportClick(pageName, { ...(mode && { mode }) });
}
/**