UNPKG

user-behavior-analysis

Version:

一个用于追踪和记录用户在网页上各种交互行为的 TypeScript 库

1,023 lines (810 loc) 26.8 kB
# User Behavior Analysis - 详细文档 一个用于追踪和记录用户在网页上各种交互行为的 TypeScript 库的完整使用指南。 ## 📋 目录 - [功能特性](#功能特性) - [快速开始](#快速开始) - [安装](#安装) - [基础使用](#基础使用) - [配置选项](#配置选项) - [API 参考](#api-参考) - [NextJS 后端集成](#nextjs-后端集成) - [演示文件说明](#演示文件说明) - [使用示例](#使用示例) - [数据分析](#数据分析) - [隐私保护](#隐私保护) - [浏览器支持](#浏览器支持) - [测试和调试](#测试和调试) - [开发](#开发) - [贡献指南](#贡献指南) - [许可证](#许可证) ## 🚀 快速开始 ### 一键启动演示环境 ```bash # 安装依赖 npm install # 一键启动完整演示环境 npm start ``` 启动后会自动打开: - 🌐 **演示页面**: http://localhost:8080/demo/demo.html - 📡 **测试服务器**: http://localhost:5005 - 🚀 **NextJS 后端**: http://localhost:3000 ### 使用步骤 1. **启动服务** ```bash npm start ``` 2. **开始测试** - 浏览器会自动打开演示页面 - 点击"开始追踪"按钮 - 在页面上进行各种交互操作 - 观察实时统计和日志输出 3. **查看数据** - 点击"显示结果"查看完整数据 - 观察测试服务器接收到的数据 - 查看 NextJS 后端控制台输出 4. **停止服务** -`Ctrl+C` 停止所有服务 ### 其他启动方式 ```bash # 直接打开演示页面 npm run demo # 启动本地服务器 npm run demo:server # 访问: http://localhost:8080/demo/demo.html # 启动测试服务器 npm run test:server # 测试服务器: http://localhost:5005 # 启动 NextJS 后端 cd nextjs && npm run dev # NextJS 后端: http://localhost:3000 # 运行自动化测试 npm run test:run # 检查服务状态 npm run test:status ``` ## ✨ 功能特性 - 🖱️ **鼠标行为追踪** - 移动轨迹、点击位置、滚动行为 - ⌨️ **键盘活动监控** - 按键记录、输入行为分析 - 📱 **触摸事件支持** - 移动设备触摸交互 - 📝 **表单交互追踪** - 表单提交、输入行为 - 🎵 **媒体交互监控** - 音视频播放行为 - 🔄 **页面状态监控** - 窗口大小、页面可见性、导航历史 -**实时数据处理** - 可配置的数据处理间隔 - 🌐 **自动数据发送** - 支持后台服务器数据推送 - 🛡️ **隐私保护** - 可配置的数据收集范围 - 📊 **类型安全** - 完整的 TypeScript 类型定义 ## 📦 安装 ### NPM 安装 ```bash npm install user-behavior-analysis ``` ### 直接引入 ```html <script src="dist/userBehaviour.js"></script> ``` ## 🔧 基础使用 ### 1. 简单配置 ```typescript // 使用默认配置 userBehaviour.start(); // 5秒后停止并查看结果 setTimeout(() => { userBehaviour.stop(); console.log(userBehaviour.showResult()); }, 5000); ``` ### 2. 自定义配置 ```typescript const config = { clicks: true, mouseMovement: true, mouseMovementInterval: 0.5, // 鼠标移动记录间隔(秒) processTime: 10, // 每10秒处理一次数据 clearAfterProcess: false, // 处理后不清除数据 processData: (results) => { // 发送数据到服务器 fetch('/api/analytics', { method: 'POST', body: JSON.stringify(results) }); } }; userBehaviour.config(config); userBehaviour.start(); ``` ### 3. 自动数据发送 ```typescript const config = { autoSendEvents: true, sendUrl: 'http://your-api.com/events', processData: (results) => { console.log('数据已自动发送到服务器'); } }; userBehaviour.config(config); userBehaviour.start(); ``` ## ⚙️ 配置选项 | 选项 | 类型 | 默认值 | 说明 | |------|------|--------|------| | `userInfo` | boolean | true | 是否收集用户信息(浏览器、操作系统等) | | `clicks` | boolean | true | 是否追踪点击事件 | | `mouseMovement` | boolean | true | 是否追踪鼠标移动 | | `mouseMovementInterval` | number | 1 | 鼠标移动记录间隔(秒) | | `mouseScroll` | boolean | true | 是否追踪滚动事件 | | `keyboardActivity` | boolean | true | 是否追踪键盘活动(包括按键和输入框内容变化) | | `timeCount` | boolean | true | 是否启用时间计数 | | `processTime` | number | 15 | 数据处理间隔时间(秒) | | `clearAfterProcess` | boolean | true | 处理后是否清除数据 | | `windowResize` | boolean | true | 是否追踪窗口大小变化 | | `visibilitychange` | boolean | true | 是否追踪页面可见性变化 | | `pageNavigation` | boolean | true | 是否追踪页面导航 | | `formInteractions` | boolean | true | 是否追踪表单交互 | | `touchEvents` | boolean | true | 是否追踪触摸事件 | | `audioVideoInteraction` | boolean | true | 是否追踪音视频交互 | | `autoSendEvents` | boolean | false | 是否自动发送事件 | | `sendUrl` | string | '' | 事件接收后台URL | | `processData` | function | console.log | 数据处理回调函数 | ## 📚 API 参考 ### 核心方法 #### `config(options)` 配置追踪选项 ```typescript userBehaviour.config({ clicks: true, mouseMovement: true, processData: (results) => { console.log(results); } }); ``` #### `start()` 开始用户行为追踪 ```typescript userBehaviour.start(); ``` #### `stop()` 停止用户行为追踪 ```typescript userBehaviour.stop(); ``` #### `showResult()` 获取当前追踪结果 ```typescript const results = userBehaviour.showResult(); ``` #### `processResults()` 手动处理当前结果 ```typescript userBehaviour.processResults(); ``` #### `showConfig()` 显示当前配置 ```typescript const config = userBehaviour.showConfig(); ``` #### `registerCustomEvent(eventName, callback)` 注册自定义事件监听器 ```typescript userBehaviour.registerCustomEvent('customAction', (event) => { console.log('自定义事件:', event); }); ``` ### 数据结构 #### TrackingResults 接口 ```typescript interface TrackingResults { userInfo: UserInfo; // 用户信息 time: TimeInfo; // 时间信息 clicks: ClickInfo; // 点击信息 mouseMovements: MousePosition[]; // 鼠标移动轨迹 mouseScroll: ScrollData[]; // 滚动记录 keyboardActivities: KeyboardActivity[]; // 键盘活动 navigationHistory: NavigationHistory[]; // 导航历史 formInteractions: FormInteraction[]; // 表单交互 touchEvents: TouchEventData[]; // 触摸事件 mediaInteractions: MediaInteraction[]; // 媒体交互 windowSizes: WindowSize[]; // 窗口尺寸变化 visibilitychanges: VisibilityChange[]; // 页面可见性变化 } ``` ## 🎯 演示文件说明 ### demo.html - 交互式演示页面 `demo.html` 是一个完整的交互式演示页面,展示了库的所有功能。 #### 主要功能区域: 1. **控制面板** - 🚀 开始追踪 - ⏹️ 停止追踪 - 📊 显示结果 - 🗑️ 清除日志 2. **实时统计** - 追踪状态 - 点击次数 - 鼠标移动次数 - 滚动次数 - 键盘活动次数 3. **功能测试区域** - 🖱️ 鼠标交互测试 - ⌨️ 键盘交互测试 - 📝 表单交互测试 - 📱 触摸事件测试 - 🎵 媒体交互测试 - 🔄 页面导航测试 - 📏 窗口调整测试 - 👁️ 页面可见性测试 - 🎯 自定义事件测试 #### 使用方法: 1. 在浏览器中打开 `demo.html` 2. 点击"开始追踪"按钮 3. 在页面上进行各种交互操作 4. 观察实时统计和日志输出 5. 点击"显示结果"查看完整数据 #### 特色功能: - **实时数据展示** - 动态更新统计信息 - **详细日志记录** - 记录所有追踪事件 - **可视化界面** - 直观的操作界面 - **完整功能测试** - 覆盖所有追踪功能 ### example.ts - 代码示例文件 `example.ts` 包含了丰富的代码示例,展示了库的各种使用方式。 #### 包含的示例: 1. **基础使用示例** (`basicExample`) ```typescript function basicExample(): void { userBehaviour.start(); setTimeout(() => { userBehaviour.stop(); console.log('基础追踪已停止'); }, 5000); } ``` 2. **自定义配置示例** (`customConfigExample`) ```typescript function customConfigExample(): void { const config = { mouseMovementInterval: 0.5, processTime: 10, clearAfterProcess: false, autoSendEvents: true, sendUrl: 'http://127.0.0.1:3000/get', processData: (results) => { console.log('📊 用户行为数据:', results); } }; userBehaviour.config(config); userBehaviour.start(); } ``` 3. **数据分析示例** (`dataAnalysisExample`) ```typescript function dataAnalysisExample(): void { const config = { processTime: 5, clearAfterProcess: false, processData: (results) => { analyzeUserBehaviour(results); } }; userBehaviour.config(config); userBehaviour.start(); } ``` 4. **实时监控示例** (`realTimeMonitoringExample`) ```typescript function realTimeMonitoringExample(): void { const config = { processTime: 2, clearAfterProcess: true, processData: (results) => { console.log(`⏰ ${new Date().toLocaleTimeString()} - 用户行为摘要:`); console.log(` 点击次数: ${results.clicks?.clickCount || 0}`); console.log(` 鼠标移动: ${results.mouseMovements?.length || 0} 次`); } }; userBehaviour.config(config); userBehaviour.start(); } ``` 5. **自定义事件示例** (`customEventExample`) ```typescript function customEventExample(): void { userBehaviour.registerCustomEvent('userAction', (event) => { console.log('检测到自定义用户行为:', event.detail); }); userBehaviour.start(); } ``` #### 使用方法: 1. 在 TypeScript 项目中引入 `example.ts` 2. 选择需要的示例函数 3. 调用相应的示例函数 4. 观察控制台输出 #### 数据分析函数: `example.ts` 还包含了多个数据分析函数: - `analyzeUserBehaviour()` - 综合分析用户行为 - `calculateClicksPerMinute()` - 计算每分钟点击次数 - `calculateMouseDistance()` - 计算鼠标移动总距离 - `analyzeScrollBehaviour()` - 分析滚动行为 - `analyzeKeyboardActivity()` - 分析键盘活动 - `calculateActivityLevel()` - 计算用户活跃度评分 ## 💡 使用示例 ### 基础使用示例 #### 1. 简单配置 ```html <!DOCTYPE html> <html> <head> <title>用户行为追踪示例</title> </head> <body> <h1>用户行为追踪测试</h1> <button onclick="startTracking()">开始追踪</button> <button onclick="stopTracking()">停止追踪</button> <button onclick="showResults()">显示结果</button> <script src="dist/userBehaviour.js"></script> <script> function startTracking() { userBehaviour.start(); console.log('开始追踪用户行为'); } function stopTracking() { userBehaviour.stop(); console.log('停止追踪'); } function showResults() { const results = userBehaviour.showResult(); console.log('用户行为数据:', results); } </script> </body> </html> ``` #### 2. 自定义配置 ```javascript const config = { clicks: true, mouseMovement: true, mouseMovementInterval: 0.5, keyboardActivity: true, processTime: 10, clearAfterProcess: false, processData: (results) => { console.log('📊 用户行为数据:', results); } }; userBehaviour.config(config); userBehaviour.start(); ``` #### 3. 数据发送到服务器 ```javascript const config = { autoSendEvents: true, sendUrl: 'http://localhost:5005/get', processTime: 5, processData: (results) => { console.log('数据已发送到服务器'); } }; userBehaviour.config(config); userBehaviour.start(); ``` #### 4. 键盘输入追踪 ```javascript const config = { keyboardActivity: true, // 启用键盘活动追踪 processTime: 2, processData: (results) => { // 键盘活动数据包含: // - keydown 事件:按键信息 // - input 事件:输入框内容变化 console.log('键盘活动:', results.keyboardActivities); } }; userBehaviour.config(config); userBehaviour.start(); ``` **键盘追踪说明:** - 追踪 `keydown` 事件:记录按键信息(如 "a", "Enter", "Backspace" 等) - 追踪 `input` 事件:记录输入框的实际内容变化 - 支持所有输入元素:`<input>`, `<textarea>`, `<select>`- 包含元素信息:标签名、ID、类名、当前值等 ### 高级使用示例 #### 1. 自定义事件追踪 ```typescript // 注册自定义事件 userBehaviour.registerCustomEvent('productView', (event) => { console.log('产品浏览事件:', event.detail); }); // 触发自定义事件 const customEvent = new CustomEvent('productView', { detail: { productId: '123', price: 99.99 } }); window.dispatchEvent(customEvent); ``` #### 2. 数据持久化 ```typescript const config = { processData: (results) => { // 保存到本地存储 localStorage.setItem('userBehaviour', JSON.stringify(results)); // 发送到服务器 fetch('/api/analytics', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(results) }); } }; ``` #### 3. 条件追踪 ```typescript const config = { processData: (results) => { // 只在特定条件下发送数据 if (results.clicks.clickCount > 10) { sendToAnalytics(results); } } }; ``` ## 📊 数据分析 ### 基础分析 ```typescript function analyzeUserBehaviour(results) { // 点击分析 console.log(`总点击次数: ${results.clicks.clickCount}`); console.log(`平均每分钟点击: ${calculateClicksPerMinute(results)}`); // 鼠标移动分析 const totalDistance = calculateMouseDistance(results.mouseMovements); console.log(`鼠标移动总距离: ${totalDistance.toFixed(2)}px`); // 滚动分析 const scrollStats = analyzeScrollBehaviour(results.mouseScroll); console.log('滚动行为:', scrollStats); // 活跃度评分 const activityLevel = calculateActivityLevel(results); console.log(`用户活跃度: ${activityLevel}/10`); } ``` ### 高级分析 ```typescript function advancedAnalysis(results) { // 用户路径分析 const userPath = results.clicks.clickDetails.map(click => click[2].tagName); console.log('用户操作路径:', userPath); // 热点区域分析 const hotspots = analyzeClickHotspots(results.clicks.clickDetails); console.log('点击热点区域:', hotspots); // 行为模式识别 const patterns = identifyBehaviorPatterns(results); console.log('行为模式:', patterns); } ``` ## 🔒 隐私保护 ### 配置隐私选项 ```typescript const privacyConfig = { userInfo: false, // 不收集用户信息 keyboardActivity: false, // 不追踪键盘活动 processData: (results) => { // 匿名化处理 const anonymousData = anonymizeData(results); sendToAnalytics(anonymousData); } }; ``` ### 数据匿名化 ```typescript function anonymizeData(results) { return { ...results, userInfo: { // 只保留基本信息,不包含个人标识 platform: results.userInfo.platform, // 移除 userAgent 等可能包含个人信息的数据 } }; } ``` ## 🌐 浏览器支持 - Chrome 60+ - Firefox 55+ - Safari 12+ - Edge 79+ - 移动端浏览器 ## 🧪 测试和调试 ### 测试功能说明 #### 1. HTML演示页面 (`demo/demo.html`) - **功能**: 完整的交互式演示界面 - **访问方式**: - 直接打开: `npm run demo` - 本地服务器: `npm run demo:server` 然后访问 `http://localhost:8080/demo/demo.html` - **测试内容**: - 🖱️ 鼠标移动和点击追踪 - ⌨️ 键盘输入监控 - 📝 表单交互测试 - 📱 触摸事件模拟 - 🎵 媒体交互测试 - 🔄 页面状态监控 - 🎯 自定义事件测试 #### 2. 测试服务器 (`demo/test-server.js`) - **功能**: 接收和显示用户行为数据 - **启动**: `npm run test:server` - **端口**: 5005 - **API端点**: `http://localhost:5005/get` - **用途**: 测试自动数据发送功能 #### 3. 配置测试数据发送 在演示页面中配置以下选项来测试数据发送功能: ```javascript { autoSendEvents: true, sendUrl: "http://localhost:5005/get", processTime: 5 // 每5秒发送一次数据 } ``` #### 4. 自动化测试 (`demo/test-runner.js`) - **功能**: 自动检查测试环境状态 - **运行**: `npm run test:run` - **检查内容**: - 测试服务器连接状态 - 演示服务器连接状态 - 端口占用情况 - 服务可用性验证 #### 5. 状态检查 (`demo/check-status.js`) - **功能**: 快速检查服务运行状态 - **运行**: `npm run test:status` - **检查内容**: - 服务连接状态 - 端口占用情况 - 服务可用性 ### 调试技巧 #### 1. 浏览器开发者工具 - 打开 `F12` 或右键选择"检查" - 查看 `Console` 标签页的日志输出 -`Network` 标签页监控数据发送请求 #### 2. 实时数据监控 - 在演示页面中启用"实时统计"功能 - 观察页面上的实时数据更新 - 使用"显示结果"按钮查看完整数据 #### 3. 服务器日志 - 启动测试服务器后,在终端观察接收到的数据 - 数据格式为JSON,包含所有用户行为信息 ### 故障排除 #### 1. 端口占用问题 启动脚本现在会自动检测并释放被占用的端口,无需手动处理。 如果仍然遇到问题,可以手动处理: ```bash # 检查端口占用 lsof -i :5005 lsof -i :8080 # 停止占用端口的进程 kill -9 <PID> # 重新启动服务 npm start ``` #### 2. 数据发送失败 1. 确认测试服务器正在运行 2. 检查浏览器控制台是否有CORS错误 3. 验证sendUrl配置是否正确 4. 检查网络连接状态 #### 3. 功能不工作 1. 确认已点击"开始追踪"按钮 2. 检查配置选项是否正确设置 3. 查看浏览器控制台是否有错误信息 4. 确认浏览器支持相关API ## 🛠️ 开发 ### 构建项目 ```bash # 安装依赖 npm install # 构建项目 npm run build # 开发模式 npm run dev # 代码检查 npm run lint # 代码格式化 npm run format ``` ### 项目结构 ``` User-Behaviour-Analysis/ ├── userBehaviour.ts # 主库文件 ├── example.ts # 使用示例 ├── demo/ # 演示和测试文件 │ ├── demo.html # 演示页面 │ ├── test-server.js # 测试服务器 │ ├── test-runner.js # 自动化测试 │ └── start-demo.js # 一键启动脚本 ├── dist/ # 构建输出目录 ├── package.json # 项目配置 ├── tsconfig.json # TypeScript 配置 └── README.md # 项目文档 ``` ## 🤝 贡献指南 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开 Pull Request ## 📄 许可证 本项目基于 MIT 许可证开源 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 🙏 致谢 感谢原作者 [Taha Al-Jody](https://github.com/TA3) 创建了这个优秀的用户行为追踪库。 ## 📞 支持 如有任何问题或建议,请: - 📧 发送邮件至:taha@ta3.dev - 🐛 [提交 Issue](https://github.com/TA3/web-user-behaviour/issues) - 💬 [参与讨论](https://github.com/TA3/web-user-behaviour/discussions) --- **开始使用 Web User Behaviour 库,深入了解您的用户行为!** 🚀 ## 🚀 NextJS 后端集成 本项目包含了一个完整的 NextJS 后端示例,用于接收和处理用户行为数据。 ### 后端功能 - 📡 **数据接收**: 支持 GET 和 POST 请求接收用户行为数据 - 🎨 **美化输出**: 彩色控制台输出,便于调试 - 🔍 **详细日志**: 记录请求信息、数据内容和处理状态 - 🛡️ **错误处理**: 完善的错误处理和异常捕获 - 🌐 **CORS 支持**: 支持跨域请求 ### 启动 NextJS 后端 ```bash # 进入 NextJS 目录 cd nextjs # 安装依赖 npm install # 启动开发服务器 npm run dev ``` 后端将在 http://localhost:3000 启动。 ### API 端点 #### 数据收集端点 - **URL**: `http://localhost:3000/api/collect` - **方法**: GET, POST - **功能**: 接收用户行为数据 #### 使用示例 ```typescript // 配置自动发送到 NextJS 后端 const config = { autoSendEvents: true, sendUrl: 'http://localhost:3000/api/collect', processTime: 5, // 每5秒发送一次数据 processData: (results) => { console.log('数据已发送到 NextJS 后端'); } }; userBehaviour.config(config); userBehaviour.start(); ``` ### 后端控制台输出 NextJS 后端会提供详细的彩色控制台输出: ``` 🌐 请求信息 ================================================== 方法: POST URL: http://localhost:3000/api/collect 时间: 2024/1/15 14:30:25 User-Agent: Mozilla/5.0... 📊 收到用户行为数据 (POST) ================================================== { "userInfo": { ... }, "clicks": { ... }, "mouseMovements": [ ... ], ... } ================================================== ✅ POST请求处理完成 ``` ### 集成到现有项目 1. **复制 API 路由** ```bash # 复制 collect 路由到你的 NextJS 项目 cp nextjs/src/app/api/collect/route.ts your-project/src/app/api/collect/route.ts ``` 2. **配置 CORS** (如果需要) ```typescript // 在 route.ts 中添加 CORS 头 export async function POST(request: NextRequest) { const response = NextResponse.json({ ... }); response.headers.set('Access-Control-Allow-Origin', '*'); return response; } ``` 3. **自定义数据处理** ```typescript export async function POST(request: NextRequest) { const data = await request.json(); // 自定义数据处理逻辑 await saveToDatabase(data); await sendToAnalytics(data); return NextResponse.json({ status: 'success' }); } ``` ### 生产环境部署 ```bash # 构建生产版本 cd nextjs npm run build # 启动生产服务器 npm start ``` --- **开始使用 User Behavior Analysis 库,深入了解您的用户行为!** 🚀 ## 📋 文档与代码对应关系检查报告 ### ✅ 已修复的问题 1. **包名一致性** - ✅ 修复了 README.md 中的包名,从 `web-user-behaviour` 改为 `user-behavior-analysis` - ✅ 修复了所有文档中的包名引用 - ✅ 确保与 package.json 中的包名一致 2. **GitHub 链接修复** - ✅ 更新了所有文档中的 GitHub 链接,指向正确的仓库 `MixLabPro/User-Behavior-Analysis` - ✅ 修复了 Issues 和 Discussions 链接 3. **NextJS 后端文档补充** - ✅ 在 DOCUMENTATION.md 中添加了完整的 NextJS 后端集成说明 - ✅ 添加了 API 端点说明和使用示例 - ✅ 添加了后端控制台输出示例 - ✅ 添加了集成到现有项目的指导 4. **演示环境增强** - ✅ 在 demo.html 中添加了 NextJS 集成测试功能 - ✅ 在 example.ts 中添加了 NextJS 集成示例代码 - ✅ 更新了 start-demo.js 以支持 NextJS 后端启动 - ✅ 在 package.json 中添加了 NextJS 相关脚本 5. **代码示例完善** - ✅ 修复了 example.ts 中的引用路径 - ✅ 添加了 NextJS 集成示例函数 - ✅ 完善了示例函数的导出和调用方式 ### 📊 当前项目结构 ``` User-Behavior-Analysis/ ├── userBehaviour.ts # 主库文件 ├── example.ts # 使用示例 ├── demo/ # 演示和测试文件 │ ├── demo.html # 演示页面 (包含 NextJS 集成测试) │ ├── test-server.js # 测试服务器 │ ├── start-demo.js # 一键启动脚本 (支持 NextJS) │ ├── check-status.js # 状态检查 │ └── example.ts # 示例代码 (包含 NextJS 示例) ├── nextjs/ # NextJS 后端 │ ├── src/app/api/collect/ # API 路由 │ └── package.json # NextJS 配置 ├── package.json # 主项目配置 ├── README.md # 项目说明 (已修复) └── DOCUMENTATION.md # 详细文档 (已完善) ``` ### 🎯 功能对应关系 | 功能 | 文档位置 | 代码实现 | 状态 | |------|----------|----------|------| | 基础追踪 | README.md, DOCUMENTATION.md | userBehaviour.ts | ✅ | | 配置选项 | DOCUMENTATION.md | userBehaviour.ts | ✅ | | API 接口 | DOCUMENTATION.md | userBehaviour.ts | ✅ | | 演示页面 | DOCUMENTATION.md | demo/demo.html | ✅ | | 示例代码 | DOCUMENTATION.md | demo/example.ts | ✅ | | 测试服务器 | DOCUMENTATION.md | demo/test-server.js | ✅ | | NextJS 后端 | DOCUMENTATION.md | nextjs/src/app/api/collect/ | ✅ | | 一键启动 | DOCUMENTATION.md | demo/start-demo.js | ✅ | ### 🚀 使用流程 1. **安装依赖** ```bash npm install ``` 2. **启动演示环境** ```bash npm start ``` 3. **访问服务** - 演示页面: http://localhost:8080/demo/demo.html - 测试服务器: http://localhost:5005 - NextJS 后端: http://localhost:3000 4. **测试功能** - 在演示页面中点击"开始追踪" - 进行各种交互操作 - 观察数据收集和发送 ### 📝 注意事项 1. **包名**: 使用 `user-behavior-analysis` 而不是 `web-user-behaviour` 2. **NextJS 后端**: 需要先安装依赖 `cd nextjs && npm install` 3. **端口占用**: 启动脚本会自动处理端口冲突 4. **浏览器支持**: 确保使用现代浏览器以获得最佳体验 ### 🔄 持续维护 - 定期检查文档与代码的一致性 - 及时更新 API 文档 - 保持示例代码的最新性 - 确保所有链接的有效性