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

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

  • 小红书怎么拉黑别人(小红书怎么拉黑对方)

    小红书怎么拉黑别人(小红书怎么拉黑对方)

  • 苹果13怎么还原网络(苹果13怎么还原网络设置)

    苹果13怎么还原网络(苹果13怎么还原网络设置)

  • 抖音怎么查看活跃状态(抖音怎么查看活跃度和权重)

    抖音怎么查看活跃状态(抖音怎么查看活跃度和权重)

  • 苹果定位找不到对方位置(苹果定位找不到设备)

    苹果定位找不到对方位置(苹果定位找不到设备)

  • 通过手机通讯录添加的好友怎么知道是谁(通过手机通讯录添加微信好友,对方能查到我的手机号吗)

    通过手机通讯录添加的好友怎么知道是谁(通过手机通讯录添加微信好友,对方能查到我的手机号吗)

  • 滴滴凌晨3点有车吗(滴滴凌晨三点有车吗)

    滴滴凌晨3点有车吗(滴滴凌晨三点有车吗)

  • 苹果7可以更新13.5吗(苹果7可以更新15.7.1吗系统)

    苹果7可以更新13.5吗(苹果7可以更新15.7.1吗系统)

  • 手机银行app可以改手机号码吗(手机银行app可以贷款吗)

    手机银行app可以改手机号码吗(手机银行app可以贷款吗)

  • 探探发消息前面有个箭头(探探发信息有个箭头啥意思)

    探探发消息前面有个箭头(探探发信息有个箭头啥意思)

  • b站正式会员永久的吗(b站会员永久)

    b站正式会员永久的吗(b站会员永久)

  • 电子扫描件是什么格式(电子扫描件什么样)

    电子扫描件是什么格式(电子扫描件什么样)

  • x怎么强制关机(苹果xsmax怎么强制关机)

    x怎么强制关机(苹果xsmax怎么强制关机)

  • 抖音只能用手机号可以注册吗(抖音只能用手机号注册账号吗)

    抖音只能用手机号可以注册吗(抖音只能用手机号注册账号吗)

  • 荣耀手机老是自动重启(荣耀手机老是自动旋转屏怎么办啊)

    荣耀手机老是自动重启(荣耀手机老是自动旋转屏怎么办啊)

  • 苹果手机怎么连接小米手表(苹果手机怎么连接华为手表)

    苹果手机怎么连接小米手表(苹果手机怎么连接华为手表)

  • 洗衣机能效等级是什么意思(洗衣机能效等级划分标准)

    洗衣机能效等级是什么意思(洗衣机能效等级划分标准)

  • 联想r5和i5的区别(联想i5和r5的区别)

    联想r5和i5的区别(联想i5和r5的区别)

  • word默认字体(怎么修改word默认字体)

    word默认字体(怎么修改word默认字体)

  • 微信过期文件恢复方法(微信过期文件恢复工具30天)

    微信过期文件恢复方法(微信过期文件恢复工具30天)

  • 华为p30proOTG在哪里打开

    华为p30proOTG在哪里打开

  • qq标签为什么自己变了(qq标签总是出其他的标签)

    qq标签为什么自己变了(qq标签总是出其他的标签)

  • 12316怎么添加新乘客(12316怎么下载)

    12316怎么添加新乘客(12316怎么下载)

  • 生日倒计时怎么设置(生日倒计时怎么画)

    生日倒计时怎么设置(生日倒计时怎么画)

  • 若依框架详细使用(若依框架使用)

    若依框架详细使用(若依框架使用)

  • 注意力机制详解系列(四):混合注意力机制(注意力机制 q k v)

    注意力机制详解系列(四):混合注意力机制(注意力机制 q k v)

  • 个税手续费返还交增值税,但是6%的那行是灰色的
  • 没有签订劳动合同可以直接离职吗
  • 债券投资的风险主要有
  • 账务核对有账表核对吗
  • 汇算清缴后发放的工资
  • 发工资时计提个人所得税
  • 雇主责任险能否证明劳动关系
  • 营改增后企业所得税
  • 2018年高新技术企业所得税
  • 饭店取得的烟酒是什么
  • 购进农产品怎么做账
  • 固定资产采用历史成本计价
  • 学php的书
  • 台湾中原大学相当于大陆几本
  • PHP:stream_socket_pair()的用法_Stream函数
  • 退回的企业所得税怎么做账
  • 招待费报账怎么查
  • 冲回以前年度计提的坏账准备
  • PQIMountSvc.exe是什么进程 PQIMountSvc进程查询
  • 图卷积神经网络原理
  • php有面向对象吗
  • 企业所得税的特殊优惠
  • jquery箭头函数
  • 营业执照贴印花税票吗
  • 综合所得内容有哪些
  • phpcms数据库文件
  • phpcms插件
  • js中typeof用法
  • sqlcoalesce
  • sql server 2008 R2安装
  • mysql密码忘记了咋办
  • 帝国cms首页调用其他网站数据
  • 如何利用税收经济效应实现税收的宏观调控目标
  • 如何查询发票领购日期
  • 新政府会计制度下的基建会计
  • 农产品来源用途是什么
  • 小规模差额征税的账务处理
  • 新会计准则应付账款
  • sql service 2008 数据库还原
  • 可抵扣进项税的普通发票
  • 简易征收预缴税率怎么算
  • 子公司注销母公司收回现金流
  • 研发支出是什么意思
  • 购货方收到销售方提供的发票怎么做分录
  • 收到运输服务发票会计分录
  • 增值税增量留抵退税进项构成比例
  • 疫情期间减免的六大行业
  • 哪些发票可以提供发票
  • 工程施工人工费,材料费,机械费占多少比例
  • 新手必看教程
  • 实收资本怎么确认入账
  • 房地产开发企业土地增值税怎么计算
  • 税法规定固定资产最低折旧年限
  • sql判断字符串是否为日期
  • mysql 5.7.33安装
  • windows xp无法更改密码
  • Linux Kernel 4.10第5个候选版本RTM版发布 2月12日发布正式版
  • centos7安装中文包
  • 屏幕画面颠倒
  • linux在服务器领域的应用状况
  • 在Linux命令行中快速删除光标前的快捷键是什么?
  • Linux通过netstat命令查看80端口连接数的方法
  • shell source不起作用
  • unity对象池优缺点
  • Cocos2dx3.2 Crazy Tetris 基本设置及主菜单页面(菜单、按钮)
  • 查找最近文件操作记录
  • linux查看内存型号与数量
  • excel的最后一列
  • unity网络模块
  • js每天的定时任务
  • javascript教程 csdn
  • jquery使用什么方法隐藏元素
  • python设计gui
  • android如何使用
  • jquery技巧
  • androidobb
  • 技术转让条件
  • 什么叫关联单位
  • 天津税务陈岩
  • 个人所得税必须企业代扣代缴吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设