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

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

  • 移动铂金会员连续包月怎么取消(移动铂金会员连续包月不能取消)

    移动铂金会员连续包月怎么取消(移动铂金会员连续包月不能取消)

  • 微信深夜模式有什么用(设置深夜模式微信)

    微信深夜模式有什么用(设置深夜模式微信)

  • 抖音视频没声音了怎么回事(蓝牙抖音视频没声音)

    抖音视频没声音了怎么回事(蓝牙抖音视频没声音)

  • appleid灰色无法退出(appleid显示灰色)

    appleid灰色无法退出(appleid显示灰色)

  • qq如何取消头像挂件(qq换不了头像怎么办?)

    qq如何取消头像挂件(qq换不了头像怎么办?)

  • 手机怎么取消耳机模式(手机怎么取消耳机播放)

    手机怎么取消耳机模式(手机怎么取消耳机播放)

  • 录音发微信怎么发的(录音发微信怎么发给别人)

    录音发微信怎么发的(录音发微信怎么发给别人)

  • 华为aqm-al10是华为什么型号(华为aqm_al10的手机价格)

    华为aqm-al10是华为什么型号(华为aqm_al10的手机价格)

  • 快手小店魔筷有赞淘宝区别(快手魔筷小店开通大概要多少钱)

    快手小店魔筷有赞淘宝区别(快手魔筷小店开通大概要多少钱)

  • mate30pro和mate30的区别(mate30pro和mate30哪个好)

    mate30pro和mate30的区别(mate30pro和mate30哪个好)

  • 笔记本网卡在哪个位置(联想笔记本网卡在哪)

    笔记本网卡在哪个位置(联想笔记本网卡在哪)

  • 怎么知道群里匿名的人是谁(怎么知道群里匿名的是谁)

    怎么知道群里匿名的人是谁(怎么知道群里匿名的是谁)

  • 怎样用手机扫二维码付款(怎样用手机扫二维码拉人进群)

    怎样用手机扫二维码付款(怎样用手机扫二维码拉人进群)

  • 小米9pro怎么清理内存(小米9怎么清理)

    小米9pro怎么清理内存(小米9怎么清理)

  • vivo手机安全检测怎么解除(vivo手机安全检查怎么关)

    vivo手机安全检测怎么解除(vivo手机安全检查怎么关)

  • 苹果x有抬头灯吗(iphonex抬头灯)

    苹果x有抬头灯吗(iphonex抬头灯)

  • ps智能对象怎么取消(ps智能对象怎么取消关联)

    ps智能对象怎么取消(ps智能对象怎么取消关联)

  • 为什么很多人喜欢《蝙蝠侠:黑暗骑士》里的小丑?(为什么很多人喜欢打麻将)

    为什么很多人喜欢《蝙蝠侠:黑暗骑士》里的小丑?(为什么很多人喜欢打麻将)

  • 小度在家可以k歌吗(小度在家可以看监控回放吗)

    小度在家可以k歌吗(小度在家可以看监控回放吗)

  • 抖音为什么不能转发(抖音为什么不能微信支付钱了呢)

    抖音为什么不能转发(抖音为什么不能微信支付钱了呢)

  • 为什么陌陌发不出信息(为什么陌陌发不出去照片)

    为什么陌陌发不出信息(为什么陌陌发不出去照片)

  • 不列颠哥伦比亚省的一块南瓜田,加拿大 (© James Chen/Shutterstock)(不列颠哥伦比亚大学排名)

    不列颠哥伦比亚省的一块南瓜田,加拿大 (© James Chen/Shutterstock)(不列颠哥伦比亚大学排名)

  • mysql主从同步的优点

    mysql主从同步的优点

  • 一般纳税人转为小规模的条件
  • 工会经费的应税项是什么
  • 商业保险进项税额转出影响成本吗
  • 注册资本 投资比例
  • 公司注销,账务怎么处理
  • u8已记账怎么修改年初余额
  • 车辆补贴的钱最快多久到账
  • 备用金可以不要发票吗
  • 给个体工商户付款可以到个人账户
  • 开发票商品类别与商品明细的区别
  • 库存商品赠送给客户要开票吗
  • 企业收到委托开发软件的货款如何记账?
  • 纳税营业额包含免税营业额吗?
  • 社保基金的管理模式
  • 科目余额表期初借贷一定要相等吗
  • 普通发票打歪了可以用吗
  • 融资租赁的租金包括
  • 公司成本票不够交税多少
  • 分支机构能否随总机构认定为一般纳税人
  • 原材料采购的会计核算风险
  • 如何在电脑上玩三国杀移动版
  • 车船税收费标准2023年多少钱
  • realjbox.exe - realjbox是什么进程 作用是什么
  • php写json
  • 期末损益类科目结转
  • 混合销售账务处理办法
  • 应收罚款收入
  • 手相算命图解大全女
  • 开出转账支票补付款项
  • 小企业成本管理方法
  • 材料报废 开什么发票
  • 独立核算的基金是会计主体吗
  • 商业汇票转让后,能否追索前手
  • php 无限级分类
  • 劳务公司给包工头打款备注写什么
  • 会计处理的正确顺序
  • PHP面向对象程序设计
  • 值得深思的短句
  • 磁盘命令符
  • 公司租赁个人车辆账务处理
  • 给股东分配股利
  • 借调人员怎么入账
  • 公司认缴的钱可以动吗
  • mysql的文件格式有哪些
  • python中变量类型有几种
  • 发票跨月还可以作废吗
  • 厂区道路折旧年限最新规定
  • SQL Server中的XML数据进行insert、update、delete操作实现代码
  • 本年利润的会计分录怎么做
  • 实收资本的会计编码
  • 企业所得税汇算清缴操作流程
  • 现金存入银行凭证怎么写
  • 转回小规模
  • 应收票据和应付票据的区别
  • 年度计提资产减值准备 好还是坏
  • mysql 加锁处理分析
  • sql的常用函数
  • Windows 8.1下MySQL5.7 忘记root 密码的解决方法
  • windowsxp关机没反应
  • uzqkst.exe - uzqkst是什么进程
  • 苹果MAC电脑怎么玩圣安地列斯
  • 如何安装windowsxp
  • unity 加载文件 卡顿
  • 在全盘搜索以win
  • 怎么监控键盘输入
  • 设计模式的原则
  • Dojo Javascript 编程规范 规范自己的JavaScript书写
  • js和jquery可以混用吗
  • 资源税包括哪些
  • 出口退税是哪个环节交的
  • 综合所得申报表在哪里
  • 朝阳区第六税务所
  • 国税局巡察整改方案
  • 金蝶EAS固定资产变更
  • 税务征管科与纳税人有接触吗
  • 从国外寄电吉他要多少钱
  • 对外销售产品
  • 增值税网上申报步骤可以在手机上申报吗
  • 公司财税知识
  • 单位固定资产转到个人名下要交税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设