From e4efbe20cfef829169e8e9fb68b9155b43f0fed2 Mon Sep 17 00:00:00 2001 From: mehaotian <490272692@qq.com> Date: Mon, 11 Nov 2024 17:34:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(stat):=20=E7=BB=9F=E8=AE=A1=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=96=87=E6=A1=A3=EF=BC=8C=E6=96=B0=E5=A2=9E=20page-s?= =?UTF-8?q?how=20page-hide=20=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- uni_modules/uni-stat/readme.md | 12 ++++++---- .../uni-stat/utssdk/common/core/stat.uts | 23 +++++++++++++------ 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/uni_modules/uni-stat/readme.md b/uni_modules/uni-stat/readme.md index ac37575f..2b395f83 100644 --- a/uni_modules/uni-stat/readme.md +++ b/uni_modules/uni-stat/readme.md @@ -1,5 +1,7 @@ -# uni-app x 专用的 uni 统计插件 +# uni 统计 for uni-app x > 注意:当前版本 uni 统计仅支持 uni-app x ,与 uni统计1.0和uni统计2.0 数据不兼容。 +> uni统计for uni-app x需要单独下载使用,无需在 manifest.json 中配置开关,只需在前端代码中配置即可。 +> 依赖 `Hbuilder X Alpha版 4.32+` ## 配置 uni统计后台 与uni统计2.0后台配置一样,只是数据不互通,详情参考 [创建 admin 项目](https://uniapp.dcloud.net.cn/uni-stat-v2.html#%E5%90%8E%E5%8F%B0%E6%8A%A5%E8%A1%A8%E9%85%8D%E7%BD%AE) @@ -51,10 +53,10 @@ const statOptions = { export function createApp() { const app = createSSRApp(App) - + // 载入uni统计插件 ,use 第二个参数不能为空,如需使用默认配置,请传入 {} app.use(uniStat, statOptions) - + return { app } @@ -125,8 +127,8 @@ export function createApp() { ### 影响范围 `uni-app-launch` 是整个统计的入口,会采集应用启动的相关数据会影响的统计数据为: - 日活 -- 新增 -- 总设备数 +- 新增 +- 总设备数 `uni-app-show` 是应用从后台进入前台调用,会影响: - 日活 diff --git a/uni_modules/uni-stat/utssdk/common/core/stat.uts b/uni_modules/uni-stat/utssdk/common/core/stat.uts index af935dac..69ed4197 100644 --- a/uni_modules/uni-stat/utssdk/common/core/stat.uts +++ b/uni_modules/uni-stat/utssdk/common/core/stat.uts @@ -66,7 +66,7 @@ export class Stat { * 初始化插件参数 * @param {Object} options */ - init(options : UTSJSONObject) { + init(options : UTSJSONObject) { // 插件挂载玩成,可以进行后续操作 Stat.is_register = true @@ -98,7 +98,7 @@ export class Stat { * 显示页面或应用进入前台 * @param {ComponentPublicInstance} appInstance 应用实例 */ - onShow(appInstance : Page) { + onShow(appInstance : Page) { this.isHide = false // @ts-ignore const mptype = is_page(appInstance) @@ -223,7 +223,7 @@ export class Stat { } // 自定义参数上报 // fn : ErrorCallback - appEvent(name : string, options : any | null = null, fn : ErrorCallback) { + appEvent(name : string, options : any | null = null, fn : ErrorCallback) { if (!Stat.is_register) { fn(false, '统计服务尚未初始化,请在main.uts中引入统计插件。') return @@ -246,20 +246,29 @@ export class Stat { return } if (name == 'uni-app-show') { - this.registerEvent(StatType.LifeCycleAppShow, null, null) return } if (name == 'uni-app-hide') { - this.registerEvent(StatType.LifeCycleAppHide, null, null) return - } + } + + if (name == 'uni-page-show') { + this.report.pageShow(options as Page) + return + } + + if (name == 'uni-page-hide') { + this.report.pageHide(options as Page) + return + } + if (name == 'uni-app-error') { this.registerEvent(StatType.LifeCycleError, null, null, options) return - } + } // 校验 type 参数 const is_calibration = calibration(name, options) -- GitLab