位置: IT常识 - 正文

Uniapp-微信小程序实现全局事件监听并进行数据埋点(uniapp微信小程序头像获取与服务器对接)

编辑:rootadmin
Uniapp-微信小程序实现全局事件监听并进行数据埋点 Uniapp-微信小程序实现全局事件监听并进行数据埋点零、前言

推荐整理分享Uniapp-微信小程序实现全局事件监听并进行数据埋点(uniapp微信小程序头像获取与服务器对接),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uniapp微信小程序开发知识点,uniapp微信小程序一键登录,uniapp微信小程序获取手机号,uniapp微信小程序表单验证,uniapp微信小程序支付流程,uniapp微信小程序获取手机号,uniapp微信小程序兼容,uniapp微信小程序获取手机号,内容如对您有帮助,希望把文章链接给更多的朋友!

最近接到需求,领导希望使用微信开放平台上免费的We分析进行数据埋点,但又不希望在现有uniapp开发的微信小程序代码上做侵入式修改,笔者奉命进行了技术调研,考虑通过劫持事件的方式来实现捕获特定事件并上传分析平台的功能。

需要特别注意的是,微信小程序是不能得到document对象的,$el上挂载的也是undefined,自然也就不能通过全局addEventListener的方式来监听特定事件。在调研中想到可以通过劫持小程序的自定义组件构造器Component()来实现事件的监听。

为了便于理解,部分数据结构通过TypeScript接口形式进行描述。

一、软件环境HbuilderX 3.4.7.20220422微信开发者工具 Stable 1.05.2203070小程序基础库版本 2.24.4 [749]二、相关分析及实现uniapp编译微信小程序时对于事件的处理分析Uniapp-微信小程序实现全局事件监听并进行数据埋点(uniapp微信小程序头像获取与服务器对接)

部分知识via掘金:https://juejin.cn/post/6968438754180595742#heading-20

uniapp使用了uni-app runtime这个运行时将小程序发行代码进行打包,实现了Vue与小程序之间的数据及事件同步。

源Vue模板及编译产物wxml对照

uniapp的模板编译器代码在/Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-template-complier下。

首先以一个简单的Vue模板为例,观察uniapp是如何将Vue template编译为wxml的:

<template> <div @click="add();subtract(2)" @touchstart="mixin($event)">{{ num }}</div></template>

编译结果为:

<view data-event-opts="{{ [ ['tap', [['add'],['subtract',[2]]] ], ['touchstart', [['mixin',['$event']]] ] ] }}" bindtap="__e" bindtouchstart="__e" class="_div"> {{num}}</view>

可以看到,uniapp将tap和touchstart事件绑定到__e函数上,然后将事件对应的动作放到了名为eventOpts的dataset中。

data-event-opts

data-event-opts非常重要。data-event-opts是一个二维数组,每个子数组代表一个事件类型。事件类型有两个值,第一个表示事件类型名称,第二个表示触发事件函数的个数。事件函数又是一个数组,第一个值表述事件函数名称,第二个是参数表。下面用TypeScript的类型

本文链接地址:https://www.jiuchutong.com/zhishi/283644.html 转载请保留说明!

上一篇:Win11 Dev 预览版22509.1011更新补丁KB5008918发布(附更细内容汇总)(win11预览版dev改beta)

下一篇:绿萝的养殖方法和注意事项——办公室养殖版(图文)(大型绿萝的养殖方法)

  • 微信5000好友如何一次性群发(微信五千多好友)

    微信5000好友如何一次性群发(微信五千多好友)

  • 如何在淘宝上买加油票(如何在淘宝上买王者荣耀皮肤)

    如何在淘宝上买加油票(如何在淘宝上买王者荣耀皮肤)

  • 华为手机微信置顶语怎么设置(华为手机微信置顶怎么取消)

    华为手机微信置顶语怎么设置(华为手机微信置顶怎么取消)

  • 手机太久没有充电开不了机怎么办(手机太久没有充电开机黑屏)

    手机太久没有充电开不了机怎么办(手机太久没有充电开机黑屏)

  • 小米5G手机有哪几款(小米5g手机有哪些型号及价格)

    小米5G手机有哪几款(小米5g手机有哪些型号及价格)

  • 华为mate30pro铃声怎么下载(华为mate30pro铃声设置无效)

    华为mate30pro铃声怎么下载(华为mate30pro铃声设置无效)

  • 苹果手机有话费但是网络用不了什么原因(苹果手机有话费打不了电话怎么回事)

    苹果手机有话费但是网络用不了什么原因(苹果手机有话费打不了电话怎么回事)

  • m1908c3je是什么手机(m1901f7e是什么手机)

    m1908c3je是什么手机(m1901f7e是什么手机)

  • 电脑有电流声(音响接电脑有电流声)

    电脑有电流声(音响接电脑有电流声)

  • 手机开了数据连接不能上网(手机开了数据连接不能上网是什么原因?)

    手机开了数据连接不能上网(手机开了数据连接不能上网是什么原因?)

  • 主机电源400w和500w的区别(电源功率400w电脑主机)

    主机电源400w和500w的区别(电源功率400w电脑主机)

  • 移动2g卡怎么升级4g(移动2g卡怎么升级)

    移动2g卡怎么升级4g(移动2g卡怎么升级)

  • 手机上的lr是什么意思(手机ll什么意思)

    手机上的lr是什么意思(手机ll什么意思)

  • vivo相机怎么调九宫格(vivo相机怎么调比例)

    vivo相机怎么调九宫格(vivo相机怎么调比例)

  • 手机qq怎么开启评论审核(手机QQ怎么开启手机号登录)

    手机qq怎么开启评论审核(手机QQ怎么开启手机号登录)

  • 组成局域网的硬件有那些(组成局域网的硬件有网络服务器)

    组成局域网的硬件有那些(组成局域网的硬件有网络服务器)

  • 货拉拉预约取消扣费吗(货拉拉预约取消怎么取消)

    货拉拉预约取消扣费吗(货拉拉预约取消怎么取消)

  • 怎么查自己手机的购买日期(怎么查自己手机被定位和监控)

    怎么查自己手机的购买日期(怎么查自己手机被定位和监控)

  • word设置分栏加分割线(word分栏加分割线怎么弄)

    word设置分栏加分割线(word分栏加分割线怎么弄)

  • Win11如何禁用后台应用?Windows11禁用后台应用程序方法(windows11禁止自动更新)

    Win11如何禁用后台应用?Windows11禁用后台应用程序方法(windows11禁止自动更新)

  • mnsvc.exe是什么进程 有什么作用 mnsvc进程查询(mscorsvw.exe是什么进程)

    mnsvc.exe是什么进程 有什么作用 mnsvc进程查询(mscorsvw.exe是什么进程)

  • Vue中@change、@input和@blur的区别以及什么是@keyup

    Vue中@change、@input和@blur的区别以及什么是@keyup

  • 补提以前年度的盈余公积可以在本年任意月份提取吗
  • 小规模免增值税是普票还是专票
  • 公司办理税务注销的相关规定
  • 税务师考试2023年考试时间
  • 固定资产累计折旧会计科目
  • 处置资产开啥发票
  • 预缴税款可以抵税吗
  • 材料采购暂估入账
  • 小微企业开票多少算小规模纳税人
  • 软件公司主营业务类别
  • 微商怎么交易流程
  • 2020年建筑企业税收优惠政策
  • 工资3700扣多少社保钱
  • 银行结汇汇兑损益的会计分录怎么写?
  • 车船税没有发票吗?
  • 专用发票扣税
  • 勾选认证和扫描认证哪个好
  • 内部退养个税计算方式
  • 以前年度多做了收入怎样调账
  • 纳税人指什么意思
  • 政府高薪补贴
  • 怎么利用腾讯手机号找人
  • 使用u盘安装windows11步骤
  • 查看修改
  • 全月应纳税所得额什么意思
  • 劳务分包费用组成比例
  • php怎么启动
  • 红冲以前年度暂估成本如何做账
  • 营改增后劳务发票税率
  • php socket_write
  • ui.exe啥意思
  • 债券利息计算方法
  • Vite + Vue3 +Vant4构建项目时,按需引入使用Toast组件,引用 showToast 时出现编译报错的解决方案
  • 塔卡夫斯基镜子
  • 年中建账年初余额怎么录入
  • 工作服列支什么科目
  • PHP编写1+到100
  • 可供出售债权投资
  • 小型微利企业享所得税优惠
  • 卖方付给买方的正常回扣
  • 购进原材料用于生产免税产品
  • 现金折扣什么时候冲减收入
  • 融资交易的会计处理
  • 生产型企业可以买进就卖出吗
  • mongodb配置远程访问
  • 应交税费账户的用途和结构是怎样的
  • sql 语句插入结果为select和值混合示例
  • mysql数据库简单介绍
  • 建筑安装服务的进项税有哪些
  • 对公账户取钱该怎么取钱
  • 2、开办费用计入哪个账户?
  • 暂估入账的固定资产
  • 收到退回多付的材料退款
  • 收付转三种凭证的限制类型不同所以限制科目也不同
  • 房地产开发企业销售自行开发的房地产项目
  • 无形资产的摊销方法
  • 固定成本包括哪些项目
  • 新建公司需要什么
  • sql server的相关技术知识
  • mysql5.6下载
  • mysql存文章的字段设置为多大?
  • 有备而来有备而去
  • winxp网络设置在哪
  • centos删除vg
  • win8操作系统安装
  • 无需u盘安装系统
  • linux压缩文件tar命令
  • 博通网卡驱动win7
  • win8.1删除所有内容并重新安装
  • Android中的数据存储方式有五种,分别是
  • python调用ansible执行playbook
  • jquery树形菜单
  • jquery-easyui-1.3.3
  • js页面滚动到指定位置
  • 广州出租车发票号码在哪里
  • 税务工会费缴费标准
  • 税务逾期未申报是什么意思
  • 公司如何制定制度
  • 税务稽查机构
  • 国税申报时间2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设