统计上报报错 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方法不存在。常见原因和解决方案:

  1. 统计模块未正确初始化: 检查是否在main.js中正确配置了uni统计:
import uniStatistics from '@/uni_modules/uni-stat/uni-stat.js'
uniStatistics.init()
  1. 版本兼容性问题:
  • 确保使用的是最新版uni-starter和uni统计模块
  • 检查package.json"@dcloudio/uni-stat"的版本
  1. 小程序平台差异: 在小程序端,统计API的调用方式可能与H5不同,建议:
// 替代直接调用stat.error
uni.report('error', {
  error: '错误信息'
})
  1. 检查manifest.json配置: 确认已启用统计功能:
"uniStatistics": {
  "enable": true
}
回到顶部