日渐肥胖的左
日渐肥胖的左
  • 发布:2023-10-27 16:32
  • 更新:2023-10-27 16:49
  • 阅读:140

【报Bug】uni统计2.0自定义事件统计到的数据与实际数据不符

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 13.0.1 (22A400)

HBuilderX类型: 正式

HBuilderX版本号: 3.6.5

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: iphone14

页面类型: vue

vue版本: vue2

打包方式: 离线

项目创建方式: HBuilderX

示例代码:
async createOrder() {  
                let params = {}  

                const orderForm = this.orderForm || {}  
                const addressInfo = this.addressInfo  
                const recycelCate = uni.getStorageSync('recycelCate')  
                const recycelCateModel = uni.getStorageSync('recycelCateFour')  

                params = Object.assign({}, params, {  
                    name: addressInfo.name,  
                    prov_id: addressInfo.provinceId,  
                    city_id: addressInfo.cityId,  
                    area_id: addressInfo.areaId,  
                    address: addressInfo.address,  
                    mobile: addressInfo.mobile,  
                    price: this.price,  
                    remark: `期望上门时间:${orderForm.date};${orderForm.remark}`,  
                    config: this.cateInfo.config  
                })  
                this.addReport('提交成功', params) // 这里提交的统计  
                this.subscribe();  
                const orderres = await createOrder(params) // 这里创建的订单,也就是说只要创建订单肯定会执行自定义事件统计方法  
                uni.hideLoading()  
            },

操作步骤:

预期结果:

自定义事件统计数据与实际订单数据对的上要

实际结果:

数据差距巨大,自定义事件统计漏统计了很多

bug描述:

uni统计2.0自定义事件统计到的数据与实际数据不符,订单后台获取到一共提交了26个订单,但是uni-amdin后台只统计到了三条数据,应该和订单数相等

2023-10-27 16:32 负责人:无 分享
已邀请:
DCloud_云服务_JRP

DCloud_云服务_JRP

应该是 await this.addReport 吧
不加await 上报操作很可能没完成吧

  • 日渐肥胖的左 (作者)

    这应该没关联吧,不加await那肯定也执行了this.addReport后才调用的创建的订单,这只是同步异步的问题,就算是异步按理说也不应该缺少数据

    2023-10-30 14:41

  • 日渐肥胖的左 (作者)

    addReport(type, params) {

    const userInfo = uni.getStorageSync('common')

    if (userInfo.weibo) {

    const weiboObj = JSON.parse(userInfo.weibo)

    if (weiboObj.id) {

    params.weiboUId = weiboObj.id

    }

    }

    uni.report('回收订单提交结果', {

    'result': type,

    'cate': ${params.item_cates},

    'brand': ${params.item_brand},

    'model': ${params.item_model},

    'cate_price': ${this.cateInfo.price},

    'price': ${params.price},

    'params': JSON.stringify(params)

    })

    },

    2023-10-30 14:41

  • 日渐肥胖的左 (作者)

    hbuilder编译的是不是有问题,win打包的感觉就比较正常,mac打包的就有问题

    2023-10-30 14:46

  • DCloud_云服务_JRP

    回复 日渐肥胖的左: 不加await 也会调用,但不能确保其能执行完,你可以把 createOrder 前面的await 去掉试试,很大概率订单还没生成,整个异步函数就执行完了

    2023-10-30 15:06

  • DCloud_云服务_JRP

    回复 日渐肥胖的左: hbuilderx的问题,可以在社区提交下bug,让ide相关的同事看下

    2023-10-30 15:07

  • 日渐肥胖的左 (作者)

    回复 DCloud_云服务_JRP: 这个自定义事件记录的是用户填写的数据,提交和不提交订单都会记录,用此优化产品,不需要等订单创建接口执行完。

    2023-10-30 15:08

  • 日渐肥胖的左 (作者)

    回复 DCloud_云服务_JRP: 我不确定是不是hbuilder的问题,只是猜测

    2023-10-30 15:09

  • DCloud_云服务_JRP

    回复 日渐肥胖的左: 看一下你的上报周期设置的是多长时间,这种需要实时上报的数据,上报周期不能设置的太长,最好3秒内,否则会丢失数据,然后手动调用n次uni.report测试一下是否能完整上报

    2023-10-30 15:46

要回复问题请先登录注册