CN114356290A - 一种数据处理方法、装置及计算机可读存储介质 - Google Patents
一种数据处理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114356290A CN114356290A CN202210031496.3A CN202210031496A CN114356290A CN 114356290 A CN114356290 A CN 114356290A CN 202210031496 A CN202210031496 A CN 202210031496A CN 114356290 A CN114356290 A CN 114356290A
- Authority
- CN
- China
- Prior art keywords
- component
- processed
- configuration file
- data processing
- current project
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本申请实施例涉及数据分析技术领域,提供一种数据处理方法、装置及计算机可读存储介质,包括:获取当前项目的根目录中的配置信息,其中,所述配置文件包括地址信息;根据所述配置文件中的地址信息确定所述当前项目中的至少一个待处理组件;生成第一组件,并根据所述第一组件和所述至少一个待处理组件确定所述当前项目的不同页面的埋点。本申请实施例,可以提高项目代码的可读性,提高开发效率。
Description
技术领域
本申请实施例涉及数据分析技术领域,尤其涉及一种数据处理方法、装置及计算机可读存储介质。
背景技术
目前前端业内,可以通过埋点在前端页面上进行收集用户的行为数据。由于埋点的上报也属于业务代码的一部分,需要用户在编写完业务代码的情况下,根据实际需求,还需要在指定的代码触发位置进行埋点上报代码的编写。埋点代码与业务逻辑代码共存,由于埋点的实施非常注重时效性,当埋点代码过多的时候,会一定程度影响业务代码的阅读和维护,造成项目代码可读性变差,间接影响开发效率。因此,如何提高项目代码的可读性,提高项目的开发效率是亟待解决的问题。
发明内容
本申请实施例提供了一种数据处理方法、装置及计算机可读存储介质,可以提高项目代码的可读性,提高开发效率。
第一方面,本申请实施例提供了一种数据处理方法,可以包括:获取当前项目的根目录中的配置文件,其中,所述配置文件包括地址信息;根据所述配置文件中的地址信息确定所述当前项目中的至少一个待处理组件;生成第一组件,并根据所述第一组件和所述至少一个待处理组件确定所述当前项目的不同页面的埋点。
在本申请提供的方案中,终端设备可以生成一个通用的第一组件,根据该通用的第一组件对当前项目的不同页面添加埋点。不同于现有技术,由于埋点的上报也是属于业务代码的一部分,需要在开发人员在编写完业务代码的情况下,根据用户的实际需求,在指定的代码触发位置进行埋点上报代码的编写。埋点的实施非常注重时效性,如果当前需要埋点的项目需要紧急开发上线,往往会缺少人力去开发,项目的开发效率较低。本申请实施例,通过一个通用的第一组件,不需要通过开发人员自己编写埋点代码,可以实现覆盖页面中90%以上场景的埋点记录,对于一些新的大型项目,着急开发上线的场景下,开发人员可以专注于业务代码的开发,不需要再额外根据用户的需求编写埋点代码,从而可以提高项目的开发效率。
在一种可能的实现方式中,所述根据所述第一组件和所述至少一个待处理组件确定所述当前项目的不同页面的埋点,包括:将所述第一组件引入所述至少一个待处理组件中的每一个待处理组件,得到每一个组件;基于生命周期函数和所述每一个组件在所述当前项目的不同页面添加埋点,所述埋点记录的内容包括埋点触发的时间点。
在本申请提供的方案中,基于生命周期函数的埋点,是通过公共组件(第一组件)的方式进行设置的,每一个待处理组件只需要引入第一组件就可以获得埋点代码。同时,由于埋点代码与业务代码是共存的关系,不同于现有技术,当埋点代码过多的时候,会一定程度影响业务代码的阅读和维护,造成项目代码的可读性较差,间接影响开发效率和加重定位问题的成本。本申请实施例,基于生命周期函数的特点,使得埋点代码与业务代码完全分隔,不会影响业务代码的执行和可读性,进而可以提高项目的开发效率。
在一种可能的实现方式中,所述埋点的标识符(identification,ID)由所述不同页面的名称和所述生命周期函数的中文定义确定。
在本申请提供的方案中,定义了一套固定的埋点ID编写方式,即自定义中文名称定义埋点ID,不同于现有技术,由于埋点是在代码层面,当代码触发的时候,会连同将预设的埋点代码触发,一般开发者埋点所记录的数据内容,仅仅为一个预设的唯一ID值,这个ID值一般情况下是语义化的,但是对于页面复杂的场景,由于埋点的数量多,场景多,语义化的定义ID的名称会很复杂,可读性较差。本申请实施例,定义了一套固定的埋点ID编写方式,极大的减轻了埋点ID编写带来的脑力投入。同时,对于自定义方法的埋点,支持开发人员自定义中文名称,使得埋点ID的可读性更好。
在一种可能的实现方式中,所述基于生命周期函数和所述每一个组件在所述当前项目的不同页面添加埋点,包括:基于所述生命周期函数和所述每一个组件,在所述不同页面的内容显示部分和所述不同页面的内容隐藏部分分别添加埋点。
在本申请提供的方案中,在当前项目的不同页面的内容显示部分和内容隐藏部分分别添加埋点,可以实现无痕埋点。由于埋点代码与业务代码是共存的关系,不同于现有技术,当埋点代码过多的时候,会一定程度影响业务代码的阅读和维护,造成项目代码的可读性较差,间接影响开发效率和加重定位问题的成本。本申请实施例,开发人员在开发代码阶段,不会看到埋点代码,做到了埋点代码对于开发人员来说是无痕的,不会影响到实际业务逻辑的编写和查阅,不影响可阅读性和可维护性,进而可以提高项目的开发效率。
在一种可能的实现方式中,所述配置文件中的地址信息为数组,所述根据所述配置文件中的地址信息确定所述当前项目中至少一个待处理组件,包括:遍历所述数组得到至少一个待处理组件。
在一种可能的实现方式中,所述第一组件为应用程序接口API组件。
在一种可能的实现方式中,所述方法还包括:判断所述当前项目的版本,在所述当前项目的版本对应的值小于阈值的情况下,显示提示信息,所述提示信息用于提示用户升级所述当前项目的版本。
在本申请提供的方案中,该数据处理方法可以是针对当前最新的vue3框架语法进行实现的,并且使用了vue3框架的语法。在数据处理方法应用于vue3框架的场景下,终端设备可以先对当前项目的框架进行版本判断,具体的,当当前项目是非vue框架,或当前项目的vue框架为1或2版本的情况下,可以显示提示信息,提示开发人员将当前项目升级到3以上的版本。
第二方面,本申请实施例提供了一种数据处理装置,可以包括:
获取单元,用于获取当前项目的根目录中的配置文件,其中,所述配置文件包括地址信息;
确定单元,用于根据所述配置文件中的地址信息确定所述当前项目中的至少一个待处理组件;
处理单元,用于生成第一组件,并根据所述第一组件和所述至少一个待处理组件确定所述当前项目的不同页面的埋点。
在一种可能的实现方式中,所述处理单元根据所述第一组件和所述至少一个待处理组件确定所述当前项目的不同页面的埋点,具体用于:
将所述第一组件引入所述至少一个待处理组件中的每一个待处理组件,得到每一个组件;
基于生命周期函数和所述每一个组件在所述当前项目的不同页面添加埋点,所述埋点记录的内容包括埋点触发的时间点。
在一种可能的实现方式中,所述埋点的标识符ID由所述不同页面的名称和所述生命周期函数的中文定义确定。
在一种可能的实现方式中,所述处理单元基于生命周期函数和所述每一个组件在所述当前项目的不同页面添加埋点,具体用于:
基于所述生命周期函数和所述每一个组件,在所述不同页面的内容显示部分和所述不同页面的内容隐藏部分分别添加埋点。
在一种可能的实现方式中,所述配置文件中的地址信息为数组,所述确定单元根据所述配置文件中的地址信息确定所述当前项目中至少一个待处理组件,具体用于:
遍历所述数组得到至少一个待处理组件。
在一种可能的实现方式中,所述第一组件为应用程序接口API组件。
在一种可能的实现方式中,所述数据处理装置还包括:
判断单元,用于判断所述当前项目的版本,在所述当前项目的版本对应的值小于阈值的情况下,显示提示信息,所述提示信息用于提示用户升级所述当前项目的版本。
第三方面提供一种数据处理装置,该数据处理装置包括处理器和存储器,所述处理器和存储器耦合,其中,所述存储器用于存储计算机指令,所述处理器通过执行所述存储器存储的计算机指令,使得该数据处理装置执行第一方面或第一方面的任一种实施例所提供的数据处理方法。
第四方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序或计算机指令,当该计算机程序或该计算机指令被计算机设备运行时,使得该计算机设备实现如第一方面或第一方面的任一种实施例所提供的数据处理方法。
第五方面提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面或第一方面的任一可能实现方式所提供的数据处理方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据处理的系统架构示意图;
图2是本申请实施例提供的一种数据处理方法的流程示意图;
图3是本申请实施例提供的另一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种数据处理装置的结构示意图;
图5是本申请实施例提供的另一种数据处理装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
为了便于理解本申请,首先在此介绍本申请实施例涉及的相关技术知识。
1、埋点
埋点又称为事件追踪(event tracking),指的是针对特定用户行为或事件进行捕获,处理和发送的相关技术及其实施过程。埋点用于收集用户行为数据,例如,开发人员想要了解一个用户在用户端里面点击了哪些按钮,看了哪些页面,做了哪些事情等,就可以通过埋点来实现。埋点是通过植入一段代码到某个页面或某个按钮,从而监听用户行为并进行收集上报。
2、生命周期函数
vue实例从创建到销毁的一系列过程在每个周期中被自动调用的函数叫做生命周期函数,也叫钩子函数。在实例被创建到被回收的整个过程中,会在不同的时期有不同的钩子函数,我们可以使用不同时期的钩子函数完成不同的操作。例如,vue中的生命周期分3个阶段:初始阶段,更新阶段和销毁阶段。其中,初始阶段包括的生命周期函数有beforeCreate、created、beforeMount和mounted;更新阶段包括的生命周期函数有beforeUpdate和updated;销毁阶段包括的生命周期函数有beforeDestroy和destroyed。
在本申请实施例中,生命周期函数可以包括onBeforeMount(组件挂载前)、onMounted(组件挂载完成)、onBeforeUpdate(组件更新前)、onUpdated(组件更新后)、onBeforeUnmount(组件卸载前)和onUnmounted(组件卸载后)。
目前前端业内,可以通过埋点在前端页面上进行收集用户的行为数据。由于埋点的上报也属于业务代码的一部分,需要用户在编写完业务代码的情况下,根据实际需求,还需要在指定的代码触发位置进行埋点上报代码的编写。埋点代码与业务逻辑代码共存,由于埋点的实施非常注重时效性,当埋点代码过多的时候,会一定程度影响业务代码的阅读和维护,造成项目代码可读性变差,间接影响开发效率。因此,如何提高项目代码的可读性,提高项目的开发效率是亟待解决的问题。
本申请实施例提供了一种数据处理方法、装置及计算机可读存储介质,通过获取当前项目的根目录中的配置文件,其中,所述配置文件包括地址信息;根据所述配置文件中的地址信息确定所述当前项目中的至少一个待处理组件;生成第一组件,并根据所述第一组件和所述至少一个待处理组件确定所述当前项目的不同页面的。本申请实施例,生成一个通用的第一组件,根据该通用的第一组件添加埋点。对于每一个待处理组件来说,不需要用户分别编写埋点代码,只需要引入第一组件就可以获得埋点代码,从而可以提高开发效率。
为了更好地理解本申请实施例提供的一种数据处理方法,下面先对本申请实施例的其中一种系统架构进行描述。请参阅图1,图1是本申请实施例提供的一种数据处理的系统架构示意图。如图1所示,本申请中的数据处理的系统架构可以包括一个或多个终端设备101,以及一个或多个服务器102(多个服务器可以构成一个服务器集群),其中,终端设备101与服务器102之间可以通过网络进行通信,通信可以基于任何有线和无线网络,包括但不限于因特网、广域网、城域网、局域网、虚拟专用网络(virtual private network,VPN)和无线通信网络等等。
本申请实施例中的终端设备101可以包括但不限于任何一种基于智能操作系统的电子产品,其可与用户通过键盘、虚拟键盘、触摸板、触摸屏以及声控设备等输入设备来进行人机交互,诸如智能手机、平板电脑、个人电脑等。其中,智能操作系统包括但不限于任何通过向移动设备提供各种移动应用来丰富设备功能的操作系统,诸如:安卓(Android TM)、iOS TM、Windows Phone TM等。服务器102可以包括但不限于后台服务器、组件服务器、数据处理服务器、处理插件等。
应理解,图1的数据处理的系统架构只是本申请实施例中的部分示例性的实施方式,本申请实施例中的数据处理的系统架构包括但不仅限于以上数据处理系统架构。
基于图1所示的数据处理的系统架构,请参见图2,图2是本申请实施例提供的一种数据处理方法的流程示意图。其中,该数据处理方法可以以应用于图1中的终端设备为例进行说明,如图2所示,该数据处理方法可以包括以下步骤。
步骤S201:终端设备获取当前项目的根目录中的配置文件。
终端设备可以获取当前项目的根目录中的配置文件,其中,配置文件可以包括地址信息。具体的,终端设备在获取当前项目的根目录中的配置文件之前,可以根据当前项目确定所述当前项目的根目录,并在确定的当前项目的根目录中编写配置文件,在所述配置文件中配置待处理组件的地址信息。
在根据当前项目确定当前项目中的根目录时,具体可以在命令行(mac系统为终端设备),定位当前项目的根目录,执行命令,如npmivue3-no-trace-buried-point-D。在编写配置文件时,配置文件中的配置内容可以包括需要进行埋点的vue组件,默认所有.vue类型的文件,都会进行埋点;用于埋点触发提交到服务器的埋点上报接口;需要进行埋点的vue组件的地址。
可以理解,当前项目可以是前端中的当前vue项目,配置文件可以是config.json文件。
步骤S202:终端设备根据配置文件中的地址信息确定当前项目中至少一个待处理组件。
终端设备在获取当前项目的根目录中的配置文件之后,可以根据所述配置文件中的地址信息确定当前项目中至少一个待处理组件。
具体的,终端设备根据所述配置文件中的地址信息确定所述当前项目中待处理组件时,可以获取配置文件中配置的组件的地址,并根据配置文件中配置的组件的地址,遍历获取到对应的一个或多个组件作为待处理组件。
该配置信息可以是一个数组形式的信息,如[A组件地址,B组件地址,C组件地址],通过遍历这个数组,取出每一个待处理组件,如A组件、B组件和C组件。再对每个单个待处理组件进行步骤S203的操作。
步骤S203:终端设备生成第一组件,并根据至少一个待处理组件中的每一个待处理组件和第一组件确定当前项目的不同页面的埋点。
终端设备确定至少一个待处理组件之后,可以生成第一组件,第一组件可以是一个组合式应用程序接口(Application Programming Interface,API)组件。需要说明的是,该第一组件可以作为一个公共组件,只需要生成一次,根据至少一个待处理组件中的每一个待处理组件确定当前项目的不同页面的埋点时,直接在每一个待处理组件中引入第一组件即可。
在一个实施例中,终端设备可以将第一组件引入至少一个待处理组件中的每一个待处理组件,得到每一个组件;再基于生命周期函数和每一个组件在当前项目的不同页面添加埋点。具体的:
终端设备确定当前项目的不同页面的埋点,可以为当前项目的当前页面不同的执行阶段进行埋点。例如,在每一个组件内的setup方法中,首先在方法的第一行中,添加一条埋点执行代码,作为当前页面初始化开始时的埋点记录。然后在6个生命周期函数内onBeforeMount(组件挂载前),onMounted(组件挂载完成),onBeforeUpdate(组件更新前),onUpdated(组件更新后)onBeforeUnmount(组件卸载前),onUnmounted(组件卸载后),分别添加一个添加一条埋点执行代码。作为当前页面,不同状态发生时通过触发埋点,记录埋点内容。
基于生命周期函数的埋点,是通过公共组件(第一组件)的方式进行设置的,每一个待处理组件只需要引入第一组件就可以获得埋点代码。同时,由于埋点代码与业务代码是共存的关系,不同于现有技术,当埋点代码过多的时候,会一定程度影响业务代码的阅读和维护,造成项目代码的可读性较差,间接影响开发效率和加重定位问题的成本。本申请实施例,基于生命周期函数的特点,使得埋点代码与业务代码完全分隔,不会影响业务代码的执行和可读性,进而可以提高项目的开发效率。
其中,埋点标识符(Identifier,ID)可以由当前项目的不同页面的名称和生命周期函数的中文定义确定。例如,埋点的ID的设置规则可以是按照页面名称+生命周期函数中文定义,如页面名称+组件初始化、页面名称+组件挂载前、页面名称+组件挂载完成、页面名称+组件更新前、页面名称+组件更新后、页面名称+组件卸载前、页面名称+组件卸载后等。另外,埋点额外记录的内容还可以包括埋点触发的时间点,埋点触发的时间点可以用于后续数据分析排序。
通过定义一套固定的埋点ID编写方式,即自定义中文名称定义埋点ID,不同于现有技术,由于埋点是在代码层面,当代码触发的时候,会连同将预设的埋点代码触发,一般开发者埋点所记录的数据内容,仅仅为一个预设的唯一ID值,这个ID值一般情况下是语义化的,但是对于页面复杂的场景,由于埋点的数量多,场景多,语义化的定义ID的名称会很复杂,可读性较差。本申请实施例,定义了一套固定的埋点ID编写方式,极大的减轻了埋点ID编写带来的脑力投入。同时,对于自定义方法的埋点,支持开发人员自定义中文名称,使得埋点ID的可读性更好。
终端设备可以通过页面内容显示和隐藏部分分别添加埋点实现无痕埋点实现无痕埋点。具体的,页面的内容是展示在组件的template模板标签内的,页面的显示和隐藏,可以通过vue专属的指令v-if、v-show控制。通过查找当前组件中的template模板标签内,是否包含相关的指令。如果存在,则通过查找v-if、v-show指令中对应的属性控制的变量名,在vue组件的script标签内,查找变量名在方法中修改的代码,当变量在代码中,被修改为true,则说明相关的模板内容被展示出来,如果被设置为false,则说明相关的模板内容被隐藏。在对应的修改变量的代码的下一行,添加一行埋点执行代码,记录由于用户主动操作,导致页面相关内容的展示和隐藏的改变。
对于无痕埋点,埋点ID的设置规则可以是页面元素展示的文本内容+(展示/隐藏);其中,页面展示的文本内容,通过获取当前v-if、v-show指令中所在的html元素所包含的文本内容。展示/隐藏,通过true和false映射,当为true时,则为展示,当为false时,则为隐藏。
页面中除了生命周期函数的执行以外,还可以包含其它的方法触发,如点击事件函数的执行,接口请求,数据运算等等,这些方法都属于用户自定义的方法,可以按照实际情况,用户自行定义埋点id和埋点触发的时机。本申请对触发的方法不作限定。
本申请实施例可以自动为所有的自定义方法,添加执行完成和执行结束的埋点。具体的,首先,由于所有的自定义方法定义在组件内methods对象中,通过遍历methods对象的所有键值对,就可以获取到每一个自定义的函数方法。然后在函数的第一行和最后一行添加埋点触发的代码,代表了自定义函数执行开始和执行结束的触发。埋点ID的设置规则:自定义方法名+(开始/结束);其中,自定义方法名,就是methods对象中,获取到的单个键的键名。但是这里存在一个问题,就是对于键名的定义,都是通过英文的方式,这样定义的方法名,并不能做到很好的语义化。由于代码中方法的定义,一般会在前一行代码中,添加注释用于解释该方法的作用。通过约定一个特定的注释规则,在注释的开头通过增加括号,在括号内中,添加方法名的中文名称,如(加载商品列表数据),则会通过这种规则的约定下,去获取到完整的注释,然后在截取出括号内的内容,作为自定义方法名的中文名称。当注释内不包含括号是,则会默认采用英文的方法名。埋点额外记录的内容:埋点触发的时间点(可用与后续数据分析排序)、页面名称、方法所在的代码行数(防止出现同名函数,在排查代码问题时候,快速定位)。
在当前项目的不同页面的内容显示部分和内容隐藏部分分别添加埋点,可以实现无痕埋点。由于埋点代码与业务代码是共存的关系,不同于现有技术,当埋点代码过多的时候,会一定程度影响业务代码的阅读和维护,造成项目代码的可读性较差,间接影响开发效率和加重定位问题的成本。本申请实施例,开发人员在开发代码阶段,不会看到埋点代码,做到了埋点代码对于开发人员来说是无痕的,不会影响到实际业务逻辑的编写和查阅,不影响可阅读性和可维护性,进而可以提高项目的开发效率。
在一个实施例中,步骤S202和步骤S203中对当前项目生成无痕埋点,具体可以在命令行(mac系统为终端设备),定位当前项目的根目录,执行命令,如npm run createburied point,执行过程中,可以根据步骤S202和步骤S203的顺序执行。执行完成后,在当前项目中会生成无痕埋点。
在本申请提供的方案中,终端设备可以生成一个通用的第一组件,根据该通用的第一组件对当前项目的不同页面添加埋点。不同于现有技术,由于埋点的上报也是属于业务代码的一部分,需要在开发人员在编写完业务代码的情况下,根据用户的实际需求,在指定的代码触发位置进行埋点上报代码的编写。埋点的实施非常注重时效性,如果当前需要埋点的项目需要紧急开发上线,往往会缺少人力去开发,项目的开发效率较低。本申请实施例,通过一个通用的第一组件,不需要通过开发人员自己编写埋点代码,可以实现覆盖页面中90%以上场景的埋点记录,对于一些新的大型项目,着急开发上线的场景下,开发人员可以专注于业务代码的开发,不需要再额外根据用户的需求编写埋点代码,从而可以提高项目的开发效率。
基于图1所示的数据处理的系统架构,请参见图3,图3是本申请实施例提供的另一种数据处理方法的流程示意图。其中,该数据处理方法可以以应用于图1中的终端设备为例进行说明,如图3所示,该数据处理法可以包括以下步骤。
步骤S301:终端设备判断当前项目的版本。
在一个实施例中,本申请实施例的数据处理方法可以是针对于vue3项目的语法实现的。终端设备在执行步骤S302~步骤S304之前,可以先对当前项目的版本进行判断,当当前项目是非vue项目,或当前vue项目为版本1或版本2的时候,则判断当前项目不能使用该数据处理方法。在一个实施例中,若当前vue项目为版本1或版本2的时候,可以将当前项目升级到版本3再使用该数据处理方法。具体的,可以通过判断当前项目中package.json文件中的dependencies对象中的vue属性对应的值是否大于等于3.0.0确定是否使用该数据处理方法。若小于版本号3.0.0,可以终止当前命令的运行,并显示异常错误的提示信息,所述提示信息用于提示用户需要将当前项目升级到版本3以上版本才可以使用该数据处理方法。
步骤S302:终端设备获取当前项目的根目录中的配置文件。
应理解,步骤302与步骤201对应,步骤302中的相关描述可以参见上述步骤201的描述,此处为了避免重复,不再赘述。
步骤S303:终端设备根据配置文件中的地址信息确定当前项目中至少一个待处理组件。
应理解,步骤303与步骤202对应,步骤303中的相关描述可以参见上述步骤202的描述,此处为了避免重复,不再赘述。
步骤S304:终端设备生成第一组件,并根据至少一个待处理组件中的每一个待处理组件和第一组件确定当前项目的不同页面的埋点。
应理解,步骤304与步骤203对应,步骤304中的相关描述可以参见上述步骤203的描述,此处为了避免重复,不再赘述。
以下针对本申请实施例涉及的虚拟装置实施例进行描述。
请参阅图4,图4是本申请实施例提供的一种数据处理装置的结构示意图。该装置可以为终端设备,也可以为终端设备中的模块(例如,芯片)。如图4所示,该数据处理装置400,至少包括:获取单元401、确定单元402、处理单元403和判断单元404;其中:
获取单元401,用于获取当前项目的根目录中的配置文件,其中,所述配置文件包括地址信息;
确定单元402,用于根据所述配置文件中的地址信息确定所述当前项目中的至少一个待处理组件;
处理单元403,用于生成第一组件,并根据所述第一组件和所述至少一个待处理组件确定所述当前项目的不同页面的埋点。
在一个实施例中,所述处理单元403根据所述第一组件和所述至少一个待处理组件确定所述当前项目的不同页面的埋点,具体用于:
将所述第一组件引入所述至少一个待处理组件中的每一个待处理组件,得到每一个组件;
基于生命周期函数和所述每一个组件在所述当前项目的不同页面添加埋点,所述埋点记录的内容包括埋点触发的时间点。
在一个实施例中,所述埋点的标识符ID由所述不同页面的名称和所述生命周期函数的中文定义确定。
在一个实施例中,所述处理单元403基于生命周期函数和所述每一个组件在所述当前项目的不同页面添加埋点,具体用于:
基于所述生命周期函数和所述每一个组件,在所述不同页面的内容显示部分和所述不同页面的内容隐藏部分分别添加埋点。
在一个实施例中,所述配置文件中的地址信息为数组,所述确定单元402根据所述配置文件中的地址信息确定所述当前项目中至少一个待处理组件,具体用于:
遍历所述数组得到至少一个待处理组件。
在一个实施例中,所述第一组件为应用程序接口API组件。
在一个实施例中,所述数据处理装置400还包括:
判断单元404,用于判断所述当前项目的版本,在所述当前项目的版本对应的值小于阈值的情况下,显示提示信息,所述提示信息用于提示用户升级所述当前项目的版本。
有关上述获取单元401、确定单元402、处理单元403和判断单元404详细的描述可以直接参考上述图2和图3所示的方法实施例中的相关描述直接得到,这里不加赘述。
请参阅图5,图5是本申请实施例提供的另一种数据处理装置的结构示意图。如图5所示,该数据处理装置500可以包括:存储器501、收发器502及与所述存储器501和收发器502耦合的处理器503。此外,该设备还可以包括天线等通用部件,在此不再详述。
存储器501可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
收发器502可以是通信接口、收发电路等,其中,通信接口是统称,可以包括一个或多个接口,例如数据处理装置与终端之间的接口。通信接口用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),核心网,无线局域网(Wireless Local Area Networks,WLAN)等。
处理器503可以是中央处理器(central processing unit,CPU)、通用处理器、数据信号处理器(digital signal processor,DSP)、专用集成电路(application-specificintegrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其他任意组合。其可以实现或执行结合本发明提供内容所描述的各种示例性的逻辑方框、模板和电路。处理器503也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合得到。
其中,存储器501用于存储计算机程序,所述计算机程序包括程序指令,处理器503用于执行存储器501存储的程序指令,收发器502用于在处理器503的控制下与其他设备进行通信。当处理器503在执行指令时可根据程序指令执行数据处理方法。
可选的,数据处理装置还可以包括总线504,其中,存储器501、收发器502以及处理器503可以通过总线504相互连接。总线504可以是外设部件互联标准(peripheralcomponent interconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
除了图5所示的存储器501、收发器502、处理器503以及上述总线504之外,实施例中数据处理装置还可以包括其他硬件,对此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或计算机指令,当所述计算机程序或计算机指令被计算机设备运行时,可以实现如图2和图3所示的数据处理方法。
本申请实施例还提供一种计算机程序产品,当其在计算机上运行时,使得计算机实现如图2和图3所示的数据处理方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务端或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(read-only memory,缩写:ROM)或者随机存取存储器(random access memory,缩写:RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取当前项目的根目录中的配置文件,其中,所述配置文件包括地址信息;
根据所述配置文件中的地址信息确定所述当前项目中的至少一个待处理组件;
生成第一组件,并根据所述第一组件和所述至少一个待处理组件确定所述当前项目的不同页面的埋点。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一组件和所述至少一个待处理组件确定所述当前项目的不同页面的埋点,包括:
将所述第一组件引入所述至少一个待处理组件中的每一个待处理组件,得到每一个组件;
基于生命周期函数和所述每一个组件在所述当前项目的不同页面添加埋点,所述埋点记录的内容包括埋点触发的时间点。
3.根据权利要求2所述的方法,其特征在于,所述埋点的标识符ID由所述不同页面的名称和所述生命周期函数的中文定义确定。
4.根据权利要求2所述的方法,其特征在于,所述基于生命周期函数和所述每一个组件在所述当前项目的不同页面添加埋点,包括:
基于所述生命周期函数和所述每一个组件,在所述不同页面的内容显示部分和所述不同页面的内容隐藏部分分别添加埋点。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述配置文件中的地址信息为数组,所述根据所述配置文件中的地址信息确定所述当前项目中至少一个待处理组件,包括:
遍历所述数组得到至少一个待处理组件。
6.根据权利要求1-4任意一项所述的方法,其特征在于,所述第一组件为应用程序接口API组件。
7.根据权利要求1-4所述的方法,其特征在于,所述方法还包括:
判断所述当前项目的版本,在所述当前项目的版本对应的值小于阈值的情况下,显示提示信息,所述提示信息用于提示用户升级所述当前项目的版本。
8.一种数据处理装置,其特征在于,包括:
获取单元,用于获取当前项目的根目录中的配置文件,其中,所述配置文件包括地址信息;
确定单元,用于根据所述配置文件中的地址信息确定所述当前项目中的至少一个待处理组件;
处理单元,用于生成第一组件,并根据所述第一组件和所述至少一个待处理组件确定所述当前项目的不同页面的埋点。
9.一种数据处理装置,其特征在于,包括处理器和存储器,所述处理器和存储器耦合,其中,所述存储器用于存储计算机指令,所述处理器通过执行所述存储器存储的计算机指令实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或计算机指令,当所述计算机程序或计算机指令被计算机设备运行时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210031496.3A CN114356290A (zh) | 2022-01-12 | 2022-01-12 | 一种数据处理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210031496.3A CN114356290A (zh) | 2022-01-12 | 2022-01-12 | 一种数据处理方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356290A true CN114356290A (zh) | 2022-04-15 |
Family
ID=81109705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210031496.3A Pending CN114356290A (zh) | 2022-01-12 | 2022-01-12 | 一种数据处理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356290A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116932008A (zh) * | 2023-09-12 | 2023-10-24 | 湖南速子文化科技有限公司 | 虚拟社会模拟的组件数据更新方法、装置、设备及介质 |
-
2022
- 2022-01-12 CN CN202210031496.3A patent/CN114356290A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116932008A (zh) * | 2023-09-12 | 2023-10-24 | 湖南速子文化科技有限公司 | 虚拟社会模拟的组件数据更新方法、装置、设备及介质 |
CN116932008B (zh) * | 2023-09-12 | 2023-12-08 | 湖南速子文化科技有限公司 | 虚拟社会模拟的组件数据更新方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101790190B1 (ko) | 애플리케이션 시나리오 식별 방법, 전력 소비 관리 방법, 장치 및 단말기 장치 | |
CN111428462B (zh) | 通讯协议模板构建的方法及终端设备 | |
CN106844181B (zh) | 用于记录用户行为的方法、系统及移动终端 | |
CN110688232A (zh) | 应用程序调用方法、终端设备及计算机可读存储介质 | |
CN110659210A (zh) | 一种信息获取方法、装置、电子设备及存储介质 | |
CN114077430A (zh) | 界面生成方法、装置、电子设备及存储介质 | |
CN111111201B (zh) | 一种基于游戏的技能创建方法、装置、服务器及介质 | |
CN110362371B (zh) | 视图层级的控制方法、装置及系统、计算机设备及介质 | |
CN106484779B (zh) | 文件操作方法及装置 | |
CN114356290A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN113127050B (zh) | 一种应用资源打包过程监控方法、装置、设备和介质 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN110888628A (zh) | 生成控制工具的方法、装置、设备和存储介质 | |
CN113778391A (zh) | 原生应用程序的页面处理方法、装置及设备 | |
CN110045952B (zh) | 代码调用方法与装置 | |
CN110688320B (zh) | 全局变量的检测方法、装置及终端设备 | |
CN111124627B (zh) | 应用程序的调起者确定方法、装置、终端及存储介质 | |
CN111782474A (zh) | 日志处理方法、装置、电子设备和介质 | |
CN108037914B (zh) | 一种安卓原生系统结合js开发的方法及装置 | |
CN112631949B (zh) | 一种调试方法、装置、计算机设备及存储介质 | |
CN114911541A (zh) | 配置信息的处理方法、装置、电子设备及存储介质 | |
CN114461223A (zh) | 一种代码生成方法、装置及终端设备 | |
CN109948251B (zh) | 基于cad的数据处理方法、装置、设备及存储介质 | |
CN112988192A (zh) | 版本更新方法、装置、电子设备及存储介质 | |
CN111782504A (zh) | 一种应用程序异常的诊断方法、移动终端及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |