feat(页面交互行为跟踪): 新增pageLoaded事件 (#6299)

This commit is contained in:
刘丹 2023-03-03 17:52:11 +08:00 committed by GitHub
parent ab3cbd7d1a
commit 0fd5179a8f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 1 deletions

View File

@ -483,3 +483,8 @@ tab 切换事件,示例
当用户又切换回当前页面的时间,可以当做是用户重新访问的开始时间。
由于 amis 可能被嵌入到页面中,所以 amis 无法知晓页面首次打开的时间,需要自行处理。
### pageLoaded
当Page组件加载完成时触发可用于收集页面首次打开的时间需确保当前页面有Page组件。
备注: 2.8.0以上版本支持。

View File

@ -436,6 +436,7 @@ export interface EventTrack {
| 'reset-and-submit'
| 'formItemChange'
| 'tabChange'
| 'pageLoaded'
| 'pageHidden'
| 'pageVisible';

View File

@ -385,7 +385,8 @@ export default class Page extends React.Component<PageProps> {
messages,
asideSticky,
data,
dispatchEvent
dispatchEvent,
env
} = this.props;
this.mounted = true;
@ -399,6 +400,11 @@ export default class Page extends React.Component<PageProps> {
const rendererEvent = await dispatchEvent('init', data, this);
// Page加载完成时触发 pageLoaded 事件
if (env?.tracker) {
env.tracker({eventType: 'pageLoaded'});
}
if (rendererEvent?.prevented) {
return;
}