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

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

  • faceu控雨怎么玩(控雨特效在哪里找的)

    faceu控雨怎么玩(控雨特效在哪里找的)

  • 手机键盘背景图怎么设置

    手机键盘背景图怎么设置

  • 支付宝注册时间在哪里看(查看支付宝注册时间)

    支付宝注册时间在哪里看(查看支付宝注册时间)

  • word怎么打竖排字(word怎么打竖排文字居中)

    word怎么打竖排字(word怎么打竖排文字居中)

  • wps复制过来的文字间距不一样,如何改(wps复制过来的文字间隔大但又不是空格)

    wps复制过来的文字间距不一样,如何改(wps复制过来的文字间隔大但又不是空格)

  • 苹果停留控制怎么用(iphone停留控制是干嘛的)

    苹果停留控制怎么用(iphone停留控制是干嘛的)

  • QQ怎么取消密保手机(qq怎么取消密保手机号码绑定)

    QQ怎么取消密保手机(qq怎么取消密保手机号码绑定)

  • 钉钉开悬浮窗记不记录看课时间(钉钉开悬浮窗记录时长吗)

    钉钉开悬浮窗记不记录看课时间(钉钉开悬浮窗记录时长吗)

  • ps显示程序错误是什么原因(ps显示程序错误关不了)

    ps显示程序错误是什么原因(ps显示程序错误关不了)

  • vnp的定义?什么是vnp(vnp全称)

    vnp的定义?什么是vnp(vnp全称)

  • 公主连接h3怎么刷(公主连接vh)

    公主连接h3怎么刷(公主连接vh)

  • qq小帆船什么意思(qq上的小帆船是什么意思)

    qq小帆船什么意思(qq上的小帆船是什么意思)

  • 苹果云端数据如何下载到本地(苹果手机云端数据)

    苹果云端数据如何下载到本地(苹果手机云端数据)

  • 红米真无线耳机左边不响(红米真无线耳机怎么连双耳)

    红米真无线耳机左边不响(红米真无线耳机怎么连双耳)

  • 视频后缀名都有哪些(视频后缀名是什么意思)

    视频后缀名都有哪些(视频后缀名是什么意思)

  • 乐视电视连不上网络怎么办(乐视电视连不上无线网络身份验证出现问题)

    乐视电视连不上网络怎么办(乐视电视连不上无线网络身份验证出现问题)

  • vivo内存不足怎么清理(vivo内存不足怎么清理手机)

    vivo内存不足怎么清理(vivo内存不足怎么清理手机)

  • 华为nova4什么屏幕(华为nova4e什么屏幕)

    华为nova4什么屏幕(华为nova4e什么屏幕)

  • 三星手机怎么录屏幕视频(三星手机怎么录音)

    三星手机怎么录屏幕视频(三星手机怎么录音)

  • 淘宝账号被保护怎么解(淘宝账号被保护怎么自助开通)

    淘宝账号被保护怎么解(淘宝账号被保护怎么自助开通)

  • 微信小视频怎样删除(微信小视频怎样配音乐)

    微信小视频怎样删除(微信小视频怎样配音乐)

  • p30几倍变焦(p30多少倍变焦 p30p多少倍)

    p30几倍变焦(p30多少倍变焦 p30p多少倍)

  • 天猫超市是当天送达吗(天猫超市是当天送货上门吗)

    天猫超市是当天送达吗(天猫超市是当天送货上门吗)

  • McWCE.exe是什么进程 McWCE进程查询(mce文件是什么软件)

    McWCE.exe是什么进程 McWCE进程查询(mce文件是什么软件)

  • sci期刊投稿指南 计算机科学 人工智能方向 145本sci期刊目录 从一区到四区(2022年 最新影响因子更新了)(sci期刊投稿步骤)

    sci期刊投稿指南 计算机科学 人工智能方向 145本sci期刊目录 从一区到四区(2022年 最新影响因子更新了)(sci期刊投稿步骤)

  • clockdiff命令  检测两台linux主机的时间差(clock set命令)

    clockdiff命令 检测两台linux主机的时间差(clock set命令)

  • 推荐一个跨平台内存分配器  feixuwu  C++博客(跨平台 gui)

    推荐一个跨平台内存分配器 feixuwu C++博客(跨平台 gui)

  • 以房抵债的房子交房产税吗
  • 小规模30万免税包括30万吗
  • 小规模纳税人的条件
  • 小规模纳税人宾馆房屋租赁税率
  • 厂家返点是什么意思
  • 小规模公司企业所得税交多少
  • 发票没用完可以申请超限量吗
  • 个人所得税可以退几年前的?
  • 直接转让土地使用权税费
  • 房租有进项发票能抵扣吗
  • 税收分类编码如何添加
  • 个体户国税异常怎么办
  • 异地工程预缴个税
  • 营改增后小规模ktv怎么纳税
  • 进口设备不需要交关税吗
  • 研发费用加计扣除政策指引2.0
  • 结汇汇兑损益账务处理
  • 个体工商户怎么办对公账户
  • 递延所得税年初数和期末数
  • 开票需要对方提供营业执照吗
  • 暂估成本后第二年收到发票怎么做账
  • PHP:oci_num_rows()的用法_Oracle函数
  • window10为什么没有本地用户和组
  • 异地使用支票的提示付款期限
  • 金融资产减值损失计入什么科目
  • 财务人员如何审核合同
  • 发生债务重组收益的分录
  • 简易计税办法和一般计税办法
  • 税务机关义务包括
  • 腾达路由器桥接的方法
  • 固态硬盘最新接口
  • 累计应缴预缴所得税怎么算
  • 傅里叶变换的过程
  • 应交税费应交增值税销项税额
  • django中httpresponse
  • 异地预缴的附加税在申报税时会抵消掉么
  • python {:s}
  • 企业收取的罚款需要交企业所得税吗
  • 房地产拆迁补偿协议
  • 差旅费跨年报销违反什么规定
  • 企业所得税应按季预缴,年末汇算清缴
  • mysql workbench简介
  • 税控盘的进项税在哪里申报
  • 先征后退增值税是否征收企业所得税
  • 销项税多做了怎么冲
  • 建筑预缴税款什么意思
  • 购进材料入库,其价税款通过银行支付
  • 17增值税发票怎么抵扣
  • 收到税务局退增值税怎么入账
  • 劳务公司拿什么挣钱
  • 财务月末暂估成本是什么
  • 私对公可以转账怎么转
  • mysql数据库增量备份命令
  • sql server如何使用
  • 配置是什么意思
  • win10预览版21301bug
  • 将哪一linux文件系统引入
  • 为什么开机会提示无信号
  • firefox干啥的
  • win7修改系统版本
  • 如何延长手机电池使用寿命
  • windows10推送
  • win7旗舰版安装教程u盘
  • 如何教新手
  • 为什么window10容易发热
  • win7右下角无线网络连接图标不见了
  • 弹窗windows10安装失败
  • opengl update
  • nodejs代码规范
  • dos打开usb端口
  • javascript ie
  • JavaScript中字符串模板
  • 如何用python连接数据库
  • Android Studio:adb not responding
  • High Level Networking Concepts
  • 用javascript
  • 日历 caldav
  • 政府补贴 收入
  • 推进落实类似的词语
  • 查国税发票验证码怎么查
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设