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

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

  • 华为怎么显示电量百分之几(华为怎么显示电池健康)

    华为怎么显示电量百分之几(华为怎么显示电池健康)

  • oppoa93电池容量多大(oppoa93电池容量哪里看)

    oppoa93电池容量多大(oppoa93电池容量哪里看)

  • 拿身份证可以查微信聊天记录吗(拿身份证可以查副卡通话记录吗)

    拿身份证可以查微信聊天记录吗(拿身份证可以查副卡通话记录吗)

  • win10桌面图标不见了怎么办(win10桌面图标不能随意拖拽)

    win10桌面图标不见了怎么办(win10桌面图标不能随意拖拽)

  • 荣耀的旗舰机有哪些(荣耀手机的旗舰机)

    荣耀的旗舰机有哪些(荣耀手机的旗舰机)

  • 小米手机怎么控制小米电视(小米手机怎么控制另一台手机)

    小米手机怎么控制小米电视(小米手机怎么控制另一台手机)

  • 荣耀30耳机插孔在哪里(荣耀手机的耳机插孔在哪里)

    荣耀30耳机插孔在哪里(荣耀手机的耳机插孔在哪里)

  • 苹果11pro是几g运行(苹果11pro是多大的运行内存)

    苹果11pro是几g运行(苹果11pro是多大的运行内存)

  • 电子秤上的oz是什么意思(电子秤oz是什么意思是什么)

    电子秤上的oz是什么意思(电子秤oz是什么意思是什么)

  • 呼叫失败是对方挂了吗(呼叫失败是对方的问题还是我的问题)

    呼叫失败是对方挂了吗(呼叫失败是对方的问题还是我的问题)

  • ppt录制幻灯片演示保存在什么地方(ppt 录制幻灯片)

    ppt录制幻灯片演示保存在什么地方(ppt 录制幻灯片)

  • iphone手机静音闹钟会响吗(iphone手机静音闹钟会震动吗)

    iphone手机静音闹钟会响吗(iphone手机静音闹钟会震动吗)

  • 抖音的作品突然没有了(抖音的作品突然没有了还能找回来啦)

    抖音的作品突然没有了(抖音的作品突然没有了还能找回来啦)

  • 三星显示器黑屏(三星显示器黑屏解决办法)

    三星显示器黑屏(三星显示器黑屏解决办法)

  • 第一代iphone发布时间(第一代iphone发布后,微软的反应)

    第一代iphone发布时间(第一代iphone发布后,微软的反应)

  • 荣耀v30pro和华为nova6区别(荣耀v30pro和华为mate30哪个好)

    荣耀v30pro和华为nova6区别(荣耀v30pro和华为mate30哪个好)

  • 苹果6改密码在哪里修改(苹果6更改密码)

    苹果6改密码在哪里修改(苹果6更改密码)

  • 苹果8plus多少寸(苹果8plus多少寸在手机哪里看)

    苹果8plus多少寸(苹果8plus多少寸在手机哪里看)

  • 快手删了怎么找回快手(快手删了怎么找回以前的号)

    快手删了怎么找回快手(快手删了怎么找回以前的号)

  • 苹果8能更新ios13吗(苹果8能更新iOS15卡吗)

    苹果8能更新ios13吗(苹果8能更新iOS15卡吗)

  • 苹果11有广角吗(苹果手机11有广角吗)

    苹果11有广角吗(苹果手机11有广角吗)

  • 结构化程序设计的基本原则(结构化程序设计的基本思想)

    结构化程序设计的基本原则(结构化程序设计的基本思想)

  • pxe oprom是什么意思(pxe rom什么意思)

    pxe oprom是什么意思(pxe rom什么意思)

  • 怎么看耳机充电盒还有多少电(怎么看耳机充电盒还有多少电OPPO)

    怎么看耳机充电盒还有多少电(怎么看耳机充电盒还有多少电OPPO)

  • qq邮箱人工电话是多少(qq邮箱的人工客服电话)

    qq邮箱人工电话是多少(qq邮箱的人工客服电话)

  • 小米手环3睡眠监测原理(小米手环3睡眠监测需要设置时间吗)

    小米手环3睡眠监测原理(小米手环3睡眠监测需要设置时间吗)

  • avgupsvc.exe是什么进程 有什么作用 avgupsvc进程信息查询(电脑avg是什么软件)

    avgupsvc.exe是什么进程 有什么作用 avgupsvc进程信息查询(电脑avg是什么软件)

  • 鸟瞰皮纳图博火山湖和山脉,菲律宾波拉克 (© Amazing Aerial Agency/Offset by Shutterstock)(bestars皮纳)

    鸟瞰皮纳图博火山湖和山脉,菲律宾波拉克 (© Amazing Aerial Agency/Offset by Shutterstock)(bestars皮纳)

  • 差额征税小规模免征增值税
  • 高铁票丢失了可以二次打印吗
  • 劳务报酬收入是否含税
  • 采购商品的会计分录料未到票到
  • 购买方已抵扣怎么作废
  • 不动产用于集体福利能否抵扣
  • 减免税属于政府转移支付吗
  • 房地产预收账款如何缴纳印花税
  • 个人转让商铺个人所得税核定征收
  • 人力资源代缴社保合法吗
  • 一般纳税人资格证明在哪里打印
  • 未确认融资租赁费用是什么类型科目
  • 社保扣款不成功会短信提醒吗
  • 单位聘请的临时工请假旅游
  • 工资手续费可以在发放里扣除吗
  • 2020年税收分类编码定义查询
  • 应交增值税进项税额借贷方向
  • 什么是往来科目
  • 资源费用怎么算
  • 收据和发票有什么区别图片
  • 减征资源税中是否包含水资源税?
  • 其他应收款需要本月合计吗
  • 跨年度的暂估入库账务处理
  • 预付卡发给员工如何入账
  • 留抵税额如何抵扣
  • 会计基础工作是会计工作的基本环节
  • PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
  • linux取消静态ip
  • 那些收入不用缴税
  • KbdTray.exe - KbdTray是什么进程 有什么作用
  • 董事会会费应计什么科目
  • yarn install报错
  • 以前年度损益调整在利润表中怎么填
  • 社保缴费工资和实发工资不一样
  • h5支付功能
  • ChatGPT的火爆出圈,你对它有几分了解?
  • 季度盈利弥补亏损利润表
  • 2022年最新公务接待用餐标准
  • 固定资产损失用什么科目
  • 小规模纳税人没达到起征点怎么申报
  • 网上银行回单可以做账吗
  • arraylist源码分析1.8
  • python requests检测响应状态码
  • 织梦模板首页logo修改
  • 一般纳税人年收入500万交多少税
  • 一般纳税人认定管理办法
  • 母公司吸收合并全资子公司
  • 福利费超过多少交税
  • 在业和存续的区别
  • 开发票该怎么操作?
  • 贷方账户日累计金额超限什么意思
  • 我国流转税税制结构的现状及改进意见
  • 起初数据录入
  • 事业单位的股东是谁
  • 管理费用和营业费用的比例
  • 网络竞价须知
  • 租赁费计提印花税税率
  • 工会经费计提比例是2%还是0.8%
  • 企业职工医院收入怎么样
  • 开票金额和税款的关系
  • 食品加工企业成本核算方法和流程
  • 纳税人可以委托税务人员办理纳税申报吗
  • 无票收入怎么报增值税
  • 企业净资产怎么填
  • 建账时应考虑的问题包括下列哪三项
  • 获取sql表达式时错误
  • rhel-server
  • cad90度角
  • javascript 表格
  • Node.js中的construct构造函数
  • android监听应用打开
  • ssh执行远程命令 参数
  • jquery实现输入框自限制
  • 基于python语言
  • Javascript & DHTML 实例编程(教程)(四)初级实例篇2—动画
  • python深入浅出
  • 小微企业不交所得税
  • 增值税借方有余额怎么调整
  • 郑州地方税务局网站官网
  • 怎样查工商局备案
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设