统计上报报错 TypeError stat.error is not a function
统计上报报错 TypeError stat.error is not a function
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Mac | 14.5 (23F79) | HBuilderX |
操作步骤:
- 创建 uni-starter 项目,开启 统计功能,打开日志,可以复现
预期结果:
- 可以正常上报
实际结果:
- 上报报错,数据未正常上报
bug描述:
- 小程序开启统计日志,不停的报错
13:51:47.126 TypeError: stat.error is not a function
13:51:47.126 at Proxy.onError (http://127.0.0.1:51180/appservice/common/vendor.js:181:2792)
13:51:47.126 at callWithErrorHandling (http://127.0.0.1:51180/appservice/common/vendor.js:24:3478)
13:51:47.126 at callWithAsyncErrorHandling (http://127.0.0.1:51180/appservice/common/vendor.js:24:3654)
13:51:47.126 at Array.hook.weh.hook.weh (http://127.0.0.1:51180/appservice/common/vendor.js:41:3045)
13:51:47.127 at invokeArrayFns (http://127.0.0.1:51180/appservice/common/vendor.js:8:12221)
13:51:47.127 at Proxy.callHook (http://127.0.0.1:51180/appservice/common/vendor.js:94:7938)
13:51:47.127 at errorHandler (http://127.0.0.1:51180/appservice/common/vendor.js:85:3635)
13:51:47.127 at callWithErrorHandling (http://127.0.0.1:51180/appservice/common/vendor.js:24:3478)
13:51:47.127 at handleError (http://127.0.0.1:51180/appservice/common/vendor.js:24:4486)
13:51:47.127 TypeError: stat.error is not a function
2 回复
先使用最新版的 HBuilderX alpha 开发,正式版 HBuilderX 最近会更新修复。
这个错误表明在调用统计上报时,stat.error
方法不存在。常见原因和解决方案:
- 统计模块未正确初始化:
检查是否在
main.js
中正确配置了uni统计:
import uniStatistics from '@/uni_modules/uni-stat/uni-stat.js'
uniStatistics.init()
- 版本兼容性问题:
- 确保使用的是最新版uni-starter和uni统计模块
- 检查
package.json
中"@dcloudio/uni-stat"
的版本
- 小程序平台差异: 在小程序端,统计API的调用方式可能与H5不同,建议:
// 替代直接调用stat.error
uni.report('error', {
error: '错误信息'
})
- 检查manifest.json配置: 确认已启用统计功能:
"uniStatistics": {
"enable": true
}