位置: 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)

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

  • 2017独一无二的微信名英文(2017独一无二的微信名)(独一无二aga)

    2017独一无二的微信名英文(2017独一无二的微信名)(独一无二aga)

  • vivox70怎么打开开发者模式(vivox70怎么打开nfc功能)

    vivox70怎么打开开发者模式(vivox70怎么打开nfc功能)

  • 美团买菜在哪里找(美团买菜在哪里发货)

    美团买菜在哪里找(美团买菜在哪里发货)

  • 海星模拟器怎么连接手柄(海星模拟器怎么用)

    海星模拟器怎么连接手柄(海星模拟器怎么用)

  • x和xs屏幕是一样吗(xs和x的屏幕一样吗)

    x和xs屏幕是一样吗(xs和x的屏幕一样吗)

  • 删除页码为什么是灰色(删除页码为什么没有了)

    删除页码为什么是灰色(删除页码为什么没有了)

  • 千牛显示未开店怎么办(千牛显示未开店怎么办,在哪里激活)

    千牛显示未开店怎么办(千牛显示未开店怎么办,在哪里激活)

  • ie8浏览器有手机版么(ie8浏览器有手机模式吗)

    ie8浏览器有手机版么(ie8浏览器有手机模式吗)

  • 常用图像编码方式(常见的图像编码方式)

    常用图像编码方式(常见的图像编码方式)

  • ipad怎么改繁体字(苹果ipad繁体字怎么设置中文字幕)

    ipad怎么改繁体字(苹果ipad繁体字怎么设置中文字幕)

  • 单反怎么拍水滴(单反拍水滴参数设置)

    单反怎么拍水滴(单反拍水滴参数设置)

  • 小米9pro手机root权限怎么开启(小米9Pro手机丢失刷机后还能不能定位)

    小米9pro手机root权限怎么开启(小米9Pro手机丢失刷机后还能不能定位)

  • 京东怎么撤评价(京东上怎么撤回评价)

    京东怎么撤评价(京东上怎么撤回评价)

  • iphone11怎么关后台

    iphone11怎么关后台

  • 铃声多多下载的在哪里(铃声多多下载的歌曲在哪个文件夹)

    铃声多多下载的在哪里(铃声多多下载的歌曲在哪个文件夹)

  • 荣耀手环2可以关机吗(荣耀手环可以连华为运动健康)

    荣耀手环2可以关机吗(荣耀手环可以连华为运动健康)

  • vivo手机手电筒不亮的原因(vivo手机手电筒快捷键在哪里设置)

    vivo手机手电筒不亮的原因(vivo手机手电筒快捷键在哪里设置)

  • vivo官网买手机几天到(vivo官网买手机从哪里发货)

    vivo官网买手机几天到(vivo官网买手机从哪里发货)

  • 个性电量显示怎么设置(个性状态栏电量图标)

    个性电量显示怎么设置(个性状态栏电量图标)

  • cad提取坐标生成表格(cad提取坐标生成表格快捷键)

    cad提取坐标生成表格(cad提取坐标生成表格快捷键)

  • 手机关机运动还计步吗(手机关机了还走步数吗)

    手机关机运动还计步吗(手机关机了还走步数吗)

  • 小米手机微信字体怎么改(小米手机微信字体大小怎么设置)

    小米手机微信字体怎么改(小米手机微信字体大小怎么设置)

  • wlan流量怎么用(手机流量wlan流量怎么用?)

    wlan流量怎么用(手机流量wlan流量怎么用?)

  • 准备搞个大动作!(准备动作怎么做)

    准备搞个大动作!(准备动作怎么做)

  • 小微企业所得税减免政策
  • 支付宝企业账户的钱怎么取出来
  • 集资款利息走什么科目
  • 税务注销后还能稽查吗
  • 已交增值税如何做账
  • 营改增对建筑业的影响
  • 进口一批原材料,海关核定的关税完税价格
  • 营改增后房地产企业增值税税率
  • 出租无形资产的收入
  • 固定资产报废做账
  • 计提坏账准备,坏账准备是增加还是减少
  • 小规模纳税人收入超过500万怎么办
  • 增值税普通发票怎么开
  • 企业购买救生棒合法吗
  • 月饼税收分类属于哪一类食品
  • 免征增值税的进项税额如何处理
  • 其他应收款在资产负债表中是负数
  • 金税盘年费怎么做账
  • 增值税进项抵扣完了还上附加税吗
  • 小微企业贷款利息补贴
  • 长租押金多少合适
  • 税款所属期是什么意思举例子
  • 资产账实不符说明
  • 房地产企业土地出让金抵减销项税额
  • 如何解决win10系统复制文件速度
  • 不动产租赁如何缴纳增值税
  • linux怎么查找
  • mac本host文件
  • 详解php语言最牛的语言
  • uefi和legacy的区别对显卡兼容
  • 入库前仓储费用应计入
  • 资产收购的账务处理
  • 内部审计范围有哪些
  • mode exe
  • php 上传
  • 会计分录的基本构成要素
  • 2020年外贸企业年终总结
  • 应收票据到期收款
  • 商铺转让权是什么意思
  • yii2框架中文手册
  • 北极光的征兆
  • php生成guid
  • 将时间序列转化为图像
  • 你让他心动他让你心安
  • thinkphp import
  • 公司租赁个人车辆怎么开发票
  • 小规模纳税人广告税率是多少
  • uniapp组件使用
  • 新政府会计制度下的基建会计
  • ibm.data.db2
  • 个人所得税修改密码怎么改
  • 长期股权投资投资损益的确认
  • 一般纳税人商贸企业的税负是多少
  • 企业哪些行为是违法的
  • 公积金个人缴纳和公司缴纳比例
  • 营业利润净利润利润总额的区别
  • 构建固定资产的借款利息资本化文件依据
  • 质量问题举例
  • 服务类企业主要经营范围
  • 出差包干费包括什么
  • 破产清算的程序特点
  • 结余资金结转申请怎么写
  • 人力资源公司的进项票有哪些
  • Mysql version can not be less than 4.1 出错解决办法
  • mysql绿色版安装配置教程
  • WINDOWS操作系统属于单用户任务操作系统
  • vim如何操作
  • Win10预览版怎么变回正式版
  • 虚拟机里面如何设置网络
  • wind微博
  • win10安装win7主题
  • Python自然语言处理PDF
  • 对js关键字命名的优点
  • [android] intent实例
  • jupyter 安装python包
  • python dask
  • 工匠称号有什么待遇?
  • 停车场收费需要什么手续
  • 北京税务网点
  • 纳税申报逾期怎样补报?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设