# Quick Start: 声明式埋点上报系统
**Feature**: 005-declarative-tracking
**Audience**: 开发者
**Time**: 5-10 分钟
## Overview
本指南帮助您快速上手使用声明式埋点系统,从基础的手动埋点到高级的自动埋点功能。
---
## Prerequisites
- Node.js 18+
- 项目已集成 Umami Analytics
- 了解基本的 React 和 TypeScript
---
## Installation
### 1. 确认 Umami 已配置
检查 `apps/web/index.html` 或应用入口是否有 Umami 脚本:
```html
```
### 2. 安装依赖
```bash
# 项目依赖已包含,无需额外安装
npm install
```
---
## Basic Usage (基础埋点)
### Step 1: 在 Drawnix 中启用埋点插件
修改 `packages/drawnix/src/drawnix.tsx`:
```typescript
import { withTracking } from './plugins/tracking';
// 在其他插件后添加 withTracking
const editor = withMind(
withDraw(
withFreehand(
withTracking(
// 其他插件...
)
)
)
);
```
### Step 2: 添加手动埋点属性
在任意 React 组件中使用 `track` 属性:
```tsx
// 示例: UnifiedToolbar.tsx
export const UnifiedToolbar = () => {
return (
{/* 基础埋点 */}
{/* 带参数的埋点 */}
{/* 不埋点 */}
);
};
```
### Step 3: 验证埋点
1. 启动开发服务器: `npm start`
2. 打开浏览器控制台(F12)
3. 点击添加了 `track` 属性的按钮
4. 查看控制台日志(开发模式下会输出):
```
[Tracking] Event tracked: toolbar_click_pen
[Tracking] Batching event (1/10)
```
5. 等待 5 秒或点击 10 个事件后,检查网络请求:
```
POST https://your-umami-domain/api/send
Payload: { name: "toolbar_click_pen", data: { version: "1.2.3", url: "..." } }
```
---
## Advanced Usage (高级功能)
### 1. 自动埋点模式
启用自动埋点,无需手动添加 `track` 属性:
```typescript
// packages/drawnix/src/drawnix.tsx
const editor = withTracking(
// ... other plugins
{
autoTrack: true // 启用自动埋点
}
);
```
**效果**:
- 所有 `