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

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

  • 周转材料低值易耗品的会计处理
  • 长期待摊费用对方科目
  • 收到天使投资如何做账
  • 缴纳的增值税在资产负债表中怎么体现
  • 咨询服务费发票属于哪个大类
  • 工程收入开票
  • 个税手机号码没有了怎么办
  • 小规模公司缴税以后公转私
  • 在建投资性物业管理办法
  • 提取法定盈余公积金会计分录
  • 建安企业增值税税负是多少
  • 以非现金资产清偿债务的会计处理
  • 记账时显示期初未建账
  • 违约金 罚款
  • 广告公司可以开维修费吗
  • 小规模纳税人还是一般纳税人
  • efi系统分区能删除吗win10
  • windows10如何移动文件
  • 煤矿安全费用会议
  • u盘无法格式化为NTFS
  • 和linux
  • 购置资产是什么财务活动
  • 苹果mac双系统按住哪个键
  • 未分配利润转增股本 母公司会计分录
  • k210中文手册
  • conda不是内部或外部命令
  • mgaqdesk.exe进程有什么作用 mgaqdesk进程查询
  • 增值税减免税的征管规定有哪些
  • 如何开启framework 3.5
  • 结转损益类收入科目
  • react_router
  • web 前端
  • php经典面试题及答案
  • 新建厂房的费用由谁承担
  • 苹果2021年在中国不能用了吗
  • 公允价值变动收益借方是增加还是减少
  • 其他综合收益在报表中的位置
  • 土增税预征计征依据
  • 新公司财务需要哪些东西
  • 固定资产升级账务处理
  • 应税销售行为有哪些
  • sqlserver2005数据库导出数据成.sql
  • 幼儿园园服已发给孩子怎么通知家长
  • 企业购买理财产品收益要交税吗
  • 业务招待费如何调整
  • 小规模纳税人购买原材料会计分录
  • 股东分红申报个税怎么填
  • 库存现金账实不符怎么处理
  • 员工预支钱要写什么单据
  • 联营单位投入的款项
  • 领用工程物资属于什么科目
  • 固定资产无票怎样入账
  • 工程造价咨询公司招聘
  • 普通发票做帐有什么用
  • 数量金额式明细账余额怎么填
  • 建筑公司租赁费会计分录
  • centos rpm安装方法
  • 怎么用winxp的系统光盘启动
  • windows 2003 iis+php5+mysql+phpmyadmin 详细安装配置
  • 苹果电脑如何提高网速
  • linux mds
  • centos6可用yum源
  • Win8/8.1下通过dism命令解压install.wim文件步骤
  • cocos2dx3.3 便条提示语功能简单实现
  • javascript基于
  • 模拟新浪微博用户注册程序设计
  • unity3d知乎
  • js获取当前点击事件的节点
  • javascript基础书
  • jquery隐藏和显示div
  • 车票进项税怎么认证
  • 2021税收分类编码大全
  • 代理记账公司自查自纠情况报告范文
  • 怎么查询购置税交了没有
  • 航信开的电子发票怎么导出来
  • 增值税专票红冲退税
  • 国有固定资产出租出借安全管理办法
  • 地方税务局发票管理所
  • 为什么要进行进气歧管真空度检测
  • 怎么查询小米手机位置
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设