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

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

  • 液晶显示器是输出设备吗(液晶显示器输入高清提示无信号怎么回事)

    液晶显示器是输出设备吗(液晶显示器输入高清提示无信号怎么回事)

  • 华为荣耀20用的什么屏幕(华为荣耀20用的什么系统)

    华为荣耀20用的什么屏幕(华为荣耀20用的什么系统)

  • 剪辑师暂停录制的快捷键是什么(剪辑师显示录制失败让关闭音频是怎么回事)

    剪辑师暂停录制的快捷键是什么(剪辑师显示录制失败让关闭音频是怎么回事)

  • 怎么把三个文件放在一个文件夹里(怎么把三个文件打包成一个文件)

    怎么把三个文件放在一个文件夹里(怎么把三个文件打包成一个文件)

  • 微信只对一个人可见他知道吗(微信只对一个人来电设置静音)

    微信只对一个人可见他知道吗(微信只对一个人来电设置静音)

  • qq群文件可以保存多久(qq群文件保存到微云文件会过期吗)

    qq群文件可以保存多久(qq群文件保存到微云文件会过期吗)

  • 淘宝违规行为多久才能成为健康宝宝(淘宝一般违规行为包括哪些?这些行为每次扣多少分?)

    淘宝违规行为多久才能成为健康宝宝(淘宝一般违规行为包括哪些?这些行为每次扣多少分?)

  • 华为手机设备离线是什么意思(华为手机设备离线)

    华为手机设备离线是什么意思(华为手机设备离线)

  • 美版卡贴机无服务解决办法(美版卡贴机无服务)

    美版卡贴机无服务解决办法(美版卡贴机无服务)

  • 淘宝自动确认收货后还能退货吗(淘宝自动确认收货后运费险还有效吗)

    淘宝自动确认收货后还能退货吗(淘宝自动确认收货后运费险还有效吗)

  • p40pro有超级微距吗(p40pro+有没有超级微距)

    p40pro有超级微距吗(p40pro+有没有超级微距)

  • 优酷会员下载的视频过期后能看吗(优酷会员下载的视频在哪个文件夹)

    优酷会员下载的视频过期后能看吗(优酷会员下载的视频在哪个文件夹)

  • 荣耀手机备忘录设置(荣耀手机备忘录在哪)

    荣耀手机备忘录设置(荣耀手机备忘录在哪)

  • 如何在淘宝上卖自己的产品(如何在淘宝上卖号)

    如何在淘宝上卖自己的产品(如何在淘宝上卖号)

  • 苹果手机需要清理内存吗(苹果手机需要清理软件缓存吗)

    苹果手机需要清理内存吗(苹果手机需要清理软件缓存吗)

  • 华为插耳机的地方在哪(华为插耳机在哪里)

    华为插耳机的地方在哪(华为插耳机在哪里)

  • 苹果11怎么充电(苹果11怎么充电到80就不充了)

    苹果11怎么充电(苹果11怎么充电到80就不充了)

  • 手机没话费如何查询号码(手机没话费如何使用流量)

    手机没话费如何查询号码(手机没话费如何使用流量)

  • 怎么分辨苹果手机屏幕是否是原装屏(怎么分辨苹果手机是不是翻新机?)

    怎么分辨苹果手机屏幕是否是原装屏(怎么分辨苹果手机是不是翻新机?)

  • win10商店怎么换区(windows商店如何切换地区)

    win10商店怎么换区(windows商店如何切换地区)

  • Nginx跨域解决方案(nginx跨域配置详解)

    Nginx跨域解决方案(nginx跨域配置详解)

  • 攻防世界WEB练习区(backup、cookie、disabled_button)(攻防世界web高手题答案)

    攻防世界WEB练习区(backup、cookie、disabled_button)(攻防世界web高手题答案)

  • 劳务费个人所得税税率表2023最新
  • 生产企业出口自产的小汽车
  • 建筑业挂靠企业所得税如何收取
  • 无法支付的应付款怎么处理
  • 包装成本为产品的百分比
  • 营业外收入需要计提销项税吗
  • 利息算增值税吗
  • 样机销售是什么意思
  • 产品成本的归集和分配是什么意思
  • 工作服清洗费要交个税那
  • 股权变更印花税双方都要交吗
  • 会计累计折旧属于什么科目
  • 企业所得税汇算清缴账务处理
  • 年终奖跟13薪有什么区别
  • 企业的经济成本由什么构成
  • 劳务公司客户问题分析
  • 租房合同开发票的金额要和合同一致吗
  • 如何调整账务
  • 银行承兑汇票如何承兑分录
  • mac上如何切换apple id
  • 自来水公司的水压力是多少
  • 小程序嵌入h5页面可以不写安全地址吗为什么
  • mac电脑修改dns
  • php获取ftp文件目录
  • 受托代销商品会计科目
  • linux必不可少的分区
  • lsass.exe在哪个文件夹
  • 房屋权属转移是什么意思
  • 最快的XQD存储卡是什么
  • 如何修改php网页内容
  • php css教程下载
  • c++评测
  • 企业退税要用税吗
  • 银行存款利息应记什么科目
  • 现金盘盈盘亏怎么处理
  • 建设项目财务费用包括
  • 出纳报销时应注意什么
  • 存货资产减值损失借贷方向
  • 缴纳以前年度房产税分录
  • 公对公退款必须退至原账户的规定
  • 建筑企业营改增之前计税方法
  • sql server如何删除
  • 利润分配未分配利润期末有余额吗
  • 没有以前年度损益科目应该加在什么地方
  • 采购原材料未入库
  • 营改增的不利影响
  • 个人对企业的例子
  • 企业收入总额是营业额吗
  • 房地产企业成本结转
  • 长期股权投资与其他权益工具投资的区别
  • 过次页是本页合计吗
  • 过路费发票可以抵扣进项税吗
  • 固定资产相关业务
  • 应收账款管理制度
  • 买商品赠送赠品怎么做账
  • 新成立的教育机构值得去吗
  • 公益性捐赠全额扣除,企业所得税
  • 事业单位收个人所得税吗
  • 在计划管理中根据事实思考这一步的内容是
  • 医疗器械行业进货未取得发票怎么做会计分录的
  • 卖掉公司旧办公用品怎么入账
  • 企业的财务战略
  • win8系统升级win8.1
  • U盘安装centos 7出现unknown chipset
  • centos 7.6安装教程
  • win7系统出现蓝屏怎么进去桌面
  • ntfs权限设置步骤
  • 怎样彻底关闭win11安全中心
  • windows7可以打开多个窗口
  • win7系统如何隐藏盘符
  • javascript标题
  • android 退出app
  • 安全模式安卓
  • shell脚本ll
  • json数据格式的理解
  • python 字符串
  • 安卓应用 开发
  • 期初未缴税额是什么意思
  • 个人所得税超过12万能退税吗
  • 锦江区税务局搬迁新地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设