一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种触发菜单项的方法、装置、设备及存储介质与流程

2022-06-05 20:32:56 来源:中国专利 TAG:


1.本技术实施例涉及计算机应用技术领域,涉及但不限于一种触发菜单项的方法、装置、设备及存储介质。


背景技术:

2.现有云平台及云平台web端页面中,随着云服务分类的增加和细化,菜单的深度和数量也越来越多,常用的触发菜单项的方案为逐阶打开,寻找到需要的菜单项,并点击。为了快速寻找到菜单项并点击,解决其效率问题,一种方法为,将需要点击菜单项而跳转的页面统一资源定位器(uniform resource locator,url)收藏,通过收藏打开,另一种方法通过按键精灵,存储打开云平台菜单路径所经历的操作,然后通过脚本进行点击和触发。云平台web页面是通过高级编程语言(javascript,js)渲染不同页面,这样,某些菜单的url,即网络地址,可能每次都不相同,通过url无法每次打开相关页面;而通过按键精灵的方式,需要前期录入点击脚本,操作和修改均比较复杂,不适合云平台使用场景。


技术实现要素:

3.有鉴于此,本技术实施例为解决现有技术中存在的至少一个问题而提供一种触发菜单项的方法、装置、设备及存储介质,至少解决了通过url无法每次打开相关页面;而通过按键精灵的方式,需要前期录入点击脚本,操作和修改均比较复杂的问题。
4.本技术的技术方案是这样实现的:
5.第一方面,本技术提供一种触发菜单项的方法,包括:在显示屏上显示应用程序的菜单;所述菜单包括第1级菜单项至第n级菜单项,其中,n为大于等于1的整数;获取操作体在所述显示屏上的移动轨迹和所述操作体在形成所述移动轨迹的过程中依次设置的n个操作点,其中,所述操作体用于在所述显示屏上移动形成所述移动轨迹,以触发与所述移动轨迹对应的预设功能;在所述应用程序的菜单中确定与所述移动轨迹和所述n个操作点对应的目标菜单项;对所述目标菜单项进行触发。
6.第二方面,本技术提供一种触发菜单项的装置,所述装置包括:显示模块,用于在显示屏上显示应用程序的菜单;所述菜单包括第1级菜单项至第n级菜单项,其中,n为大于等于1的整数;获取模块,用于获取操作体在所述显示屏上的移动轨迹和所述操作体在形成所述移动轨迹的过程中依次设置的n个操作点,其中,所述操作体用于在所述显示屏上移动形成所述移动轨迹,以触发与所述移动轨迹对应的预设功能;确定模块,用于在所述应用程序的菜单中确定与所述移动轨迹和所述n个操作点对应的目标菜单项;触发模块,用于对所述目标菜单项进行触发。
7.第三方面,本技术提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的触发菜单项的方法。
8.第四方面,本技术提供一种触发菜单项的存储介质,存储有可执行指令,用于引起
处理器执行时,实现上述方法的触发菜单项的方法。
9.本技术提供一种触发菜单项的方法、装置、设备及存储介质,首先在设备的显示屏上显示应用程序的菜单,其次获取操作体在显示屏上的移动轨迹,最后根据移动轨迹确定目标菜单项并触发,以完成点击菜单项的功能。这样,使用操作体移动轨迹确定菜单项,通过移动轨迹和移动轨迹上的操作点,触发目标菜单项,完成点击所述菜单项的功能,比普通方式下打开菜单的效率高。在减少用户操作的基础上,降低用户触发目标菜单项的时间成本,提高工作效率。
附图说明
10.图1a为本技术实施例提供的一种相关技术中触发菜单项的示意图;
11.图1b为本技术实施例提供的一种触发菜单项的示意图;
12.图1c为本技术实施例提供的一种触发菜单项的方法的实现流程示意图;
13.图1d为本技术实施例提供的一种多叉树存储结构示意图;
14.图2为本技术实施例提供的一种确定第i轨迹特征值的方法的实现流程示意图;
15.图3为本技术实施例提供的一种存储菜单项与特征值的多叉树创建方法的实现流程示意图;
16.图4a为本技术实施例提供的一种触发菜单项操作的配置方法流程示意图;
17.图4b为本技术实施例提供的一种轨迹坐标处理流程示意图;
18.图4c为本技术实施例提供的匹配触发n级菜单操作的流程示意图;
19.图5为本技术实施例提供的触发菜单项的装置的组成结构示意图;
20.图6为本技术实施例提供的计算机设备的一种硬件实体示意图。
具体实施方式
21.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
22.应当理解,此处所描述的一些实施例仅仅用以解释本技术的技术方案,并不用于限定本技术的技术范围。
23.图1a为本技术实施例提供的一种相关技术的触发菜单项的示意图,如图1a所示,该示意图包括:一级菜单项101、二级菜单项102、三级菜单项(面包屑)103和内容区域104,其中:
24.一级菜单项101,包括四个一级导航标识:导航一、导航二、导航三和导航四,点击一级菜单项101中任一一级导航标识可以进入下二级菜单项。
25.二级菜单项102,包括三个二级导航标识,点击二级菜单项102中任一二级导航标识可以进入三级菜单项。
26.三级菜单项(面包屑)103,包括三个三级导航标识:首页、应用中心和某应用,点击三级菜单项103中任一三级导航标识可以进入对应的内容区域104。
27.内容区域104,用于显示点击三级导航后对应显示的内容。
28.触发菜单项的方法需要考虑以下几点,一是菜单标签识别,二是触发菜单,如图1a所示,正常情况下如果点击到面包屑,需要选择步骤1(step1),点击一级菜单101中任一导
航标识后在跳转到步骤2(step2),点击二级菜单102中任一导航标识,最后才能点击到步骤3(step3),点击三级菜单(面包屑)103中任一导航标识。其中一共包含了6个动作,选择step1,点击,移动鼠标到step2,点击,在移动到step3点击,用户需要定位到三个标签点,再进行触发动作完成触发菜单项的。
29.图1b为本技术实施例提供的一种触发菜单项的示意图,如图1b所示,该示意图包括:一级菜单101、二级菜单102、三级菜单(面包屑)103、内容区域104和鼠标轨迹105,其中:
30.鼠标轨迹105,可以用一定的鼠标轨迹来代替定位菜单的标签点。
31.用户使用鼠标在显示屏上通过滑动和点击生成鼠标轨迹105,鼠标轨迹105用于实现用户进行下列操作:例如顺序点击对应的一级菜单101中的导航二、二级菜单102中的二级导航、三级菜单103中的某应用,就显示内容区域104的页面,从而完成打开某应用的功能。
32.使用小范围的鼠标轨迹105来代替菜单项的选择,在选择每个菜单项后,通过凭空鼠标点击来触发菜单项,进而打开页面进入选择下一级菜单内容。
33.本技术实施例提供的一种触发菜单项的方法,如图1c所示,该方法包括:
34.步骤s101、在显示屏上显示应用程序的菜单;所述菜单包括第1级菜单项至第n级菜单项,其中,n为大于等于1的整数;
35.这里,在设备的显示屏上显示应用程序的菜单。设备可以指云平台及云平台web端页面,也可以是手机、笔记本、台式机、服务器等有显示屏的终端。以云平台web端页面为例,现有云平台及云平台web端页面中,随着云服务分类的增加和细化,菜单的深度和数量也越来越多。菜单是非常重要的图形用户界面(graphical user interface,gui)组件,其界面提供的信息简明清晰,在用户界面中经常使用。菜单组件是由多个类组成的,主要有:菜单栏(jmenubar)、菜单(jmenu)、菜单项(jmenuitem)和弹出菜单(jpopupmenu)。每个菜单组件都包含一个菜单栏,每个菜单栏又包含若干个菜单,每个菜单包含若干个菜单项。菜单项的作用与按钮类似,当用户单击时产生一个命令动作。以图1a所示为例,设备应用程序的三级菜单在设备的显示屏上显示,包括一级菜单项101、二级菜单项102、三级菜单项(面包屑)103。
36.步骤s102、获取操作体在所述显示屏上的移动轨迹和所述操作体在形成所述移动轨迹的过程中依次设置的n个操作点,其中,所述操作体用于在所述显示屏上移动形成所述移动轨迹,以触发与所述移动轨迹对应的预设功能;
37.操作体可以是鼠标、触控笔或手指。操作体在显示屏上移动形成移动轨迹,并且在移动的过程中依次设置n个操作点。这里,操作点可以是鼠标的点击动作,也可以是触控笔或手指的按压点或触摸点。以图1b为例,鼠标轨迹105即操作题在显示屏上移动形成的移动轨迹,轨迹上标注的点击(click)即操作点。
38.步骤s103、在所述应用程序的菜单中确定与所述移动轨迹和所述n个操作点对应的目标菜单项;
39.这里,目标菜单项即需要触发完成对应功能的菜单项。根据移动轨迹和在移动轨迹上的n个操作点可以确定需要触发的目标菜单项。
40.步骤s104、对所述目标菜单项进行触发。
41.本技术实施例中,首先在设备的显示屏上显示应用程序的菜单,其次获取操作体
在显示屏上的移动轨迹,最后根据移动轨迹确定目标菜单项并触发,以完成点击菜单项的功能。这样,使用操作体移动轨迹确定菜单项,通过移动轨迹和移动轨迹上的操作点,触发目标菜单项,完成点击所述菜单项的功能,比普通方式下打开菜单的效率高。在减少用户操作的基础上,降低用户触发目标菜单项的时间成本,提高工作效率。
42.图1d为本技术实施例提供的一种多叉树存储结构示意图,如图1d所示,该示意图包括:根节点110、二级导航1 111、二级导航2 112、二级导航3 113、首页114、应用中心115和某应用116,其中:
43.根节点110,即,导航二。二级导航1 111、二级导航2 112和二级导航3 113均为根节点110的子节点;首页114和应用中心115为二级导航2 112的子节点;某应用116为应用中心115的子节点。这里,因为菜单项在文档对象模型(document object model,dom)中表现为一个多叉树,存储在多叉树中,可以方便后续向下查找。
44.本技术实施例提供的一种触发菜单项的方法,该方法包括:
45.步骤s111、在显示屏上显示应用程序的菜单;所述菜单包括第1级菜单项至第n级菜单项,其中,n为大于等于1的整数;
46.步骤s112、获取操作体在所述显示屏上的移动轨迹和所述操作体在形成所述移动轨迹的过程中依次设置的n个操作点;所述移动轨迹包括:所述操作体从起始点移动到第1个操作点之间的轨迹,和相邻两个操作点之间的轨迹;
47.这里,移动轨迹包括:操作体开始移动到第1操作点之间的第1轨迹,和在移动轨迹上相邻两个操作点之间的第i轨迹,在移动轨迹上设置n个操作点,则可以将移动轨迹划分为n个轨迹。获取操作体在所述显示屏上的移动轨迹,包括:在操作体从开始移动到设置第1个操作点之间第1轨迹的基础上,依次获取操作体从前一个操作点到第n操作点之间的第2轨迹至第n轨迹;在获取到第n轨迹的情况下,依次将所述第1轨迹至第n轨迹连接,形成所述移动轨迹。
48.步骤s113、所述各级菜单的菜单项之间的所属关系以多叉树的形式体现,所述各级菜单的菜单项对应的节点特征值存储在所述多叉树的节点上;依次根据n个轨迹确定n个轨迹特征值;根据所述n个轨迹特征值确定特征值序列;所述特征值序列中的第i轨迹特征值对应第i轨迹,其中,所述第i轨迹为所述操作体从起始点移动到第1个操作点之间的轨迹,或相邻两个操作点之间的轨迹,i为大于等于1且小于等于n的整数;
49.这里,多叉树的形式以图1d为例,包括:根节点110、二级导航1 111、二级导航2 112、二级导航3 113、首页114、应用中心115和某应用116,其中:根节点110,即,导航二。因为菜单项在文档对象模型(document object model,dom)中表现为一个多叉树,存储在多叉树中,可以方便后续向下查找。各级菜单的菜单项之间的所属关系以多叉树的形式体现,各级菜单的菜单项对应的节点特征值存储在所述多叉树的节点上。即,在多叉树的节点上存储了对应的菜单项和节点特征值。
50.依次根据第1轨迹至第n轨迹确定包括n个轨迹特征值的特征值序列。每一个轨迹特征值都是一个向量。特征值序列包括了n个轨迹对应的轨迹特征值,其中,第i轨迹特征值对应第i轨迹。
51.步骤s114、根据所述特征值序列,在以多叉树形式存储的节点特征值中进行匹配;
52.这里,以多叉树形式存储的节点特征值可以为特征值序列,根据操作体轨迹得到
的特征值序列与以多叉树形式存储的节点特征值进行匹配,如果匹配成功,可以得到第n级节点特征值对应的菜单项特征值。
53.步骤s115、在所述特征值序列与所述节点特征值匹配成功的情况下,根据第n级节点特征值对应的菜单项特征值,确定所述目标菜单项;
54.步骤s116、对所述目标菜单项进行触发。
55.本技术实施例中,首先各级菜单的菜单项之间的所属关系以多叉树的形式体现,各级菜单的菜单项对应的节点特征值存储在所述多叉树的节点上,其次,依次根据第1轨迹至第n轨迹确定包括n个轨迹特征值的特征值序列,最后根据特征值序列,在以多叉树形式存储的节点特征值中进行匹配,得到第n级节点特征值对应的菜单项特征值。这样,因为菜单在dom中表现为一个多叉树,将各级菜单的菜单项对应的节点特征值存储在多叉树中,可以方便后续向下查找。
56.本技术实施例提供的一种触发菜单项的方法,该方法包括:
57.步骤s121、在显示屏上显示应用程序的菜单;所述菜单包括第1级菜单项至第n级菜单项,其中,n为大于等于1的整数;
58.步骤s122、获取操作体在所述显示屏上的移动轨迹和所述操作体在形成所述移动轨迹的过程中依次设置的n个操作点;所述移动轨迹包括:所述操作体从开始移动到第1个操作点之间的轨迹,和相邻两个操作点之间的轨迹;
59.步骤s123、所述各级菜单的菜单项之间的所属关系以多叉树的形式体现,所述各级菜单的菜单项对应的节点特征值存储在所述多叉树的节点上;
60.步骤s124、根据第i轨迹确定第i轨迹特征值,其中,所述第i轨迹为所述操作体从起始点移动到第1个操作点之间的轨迹,或相邻两个操作点之间的轨迹,i为大于等于1且小于等于n的整数;
61.步骤s125、在所述第i轨迹特征值与以多叉树形式存储的第i级节点特征值匹配的情况下,确定所述第i级节点特征值对应的菜单项特征值;
62.在第i轨迹特征值与以多叉树形式存储的第i级节点特征值满足相似度阈值的情况下,确定所述第i级节点特征值对应的菜单项特征值;将第i轨迹特征值与以多叉树形式存储的对应节点的特征值进行匹配,当匹配满足相似度阈值的情况下,确定第i轨迹特征值对应的菜单项特征值。菜单项特征值即能都表征对应菜单项的标识。这里可以根据实际情况设置阈值,如80%,即高出这个阈值则表示比对成功。
63.步骤s126、根据所述第i级节点特征值对应的菜单项特征值,确定所述目标菜单项;
64.这里,根据第i级节点特征值对应的菜单项特征值,可以任意确定一个目标菜单项,当i等于n的时候,可以确定最后一级菜单项。
65.步骤s127、对所述目标菜单项进行触发。
66.本技术实施例中,当用户需要快速打开菜单项时,会在屏幕上移动相同或者类似的轨迹,计算出特征值后应用于多叉树存储结构表中比对,当上级菜单项满足相似度阈值的情况下,进行下一级菜单项的匹配。这样,匹配的成功率高,且匹配效率高。
67.本技术实施例提供的一种确定第i轨迹特征值的方法,如图2所示,该方法包括:
68.步骤s201、根据所述第i轨迹上的m个坐标,得到两两相邻坐标之间的m-1个方向向
量,其中,m为大于等于1的整数;
69.这里,操作体以鼠标为例,鼠标轨迹有两种,滑动和点击(包含双击等),点击即在移动轨迹上设置操作点。系统监听鼠标移动事件,在每两个操作点之间以每100ms为周期,拾取鼠标相对于屏幕坐标系的一个坐标值,记为(screenx,screeny),例如一段的起始到结束会取3个坐标(screenx1,screeny1),(screenx2,screeny2),(screenx3,screeny3),此三个坐标的轨迹代表一个菜单项,之后用户可能双击或者单击,则表示打开此菜单项。
70.步骤s202、依次组合所述m-1个方向向量,得到原始字符串;
71.例如screenx2》screenx1,则第一个x增量为1,screeny2《screeny1,第一个y增量为-1,即(1,-1);诸如此类,一段一段轨迹的方向向量可能即为(1,1)(1,-1)(-1,1)(0,1),x坐标做奇数位,y坐标为偶数位,则原始字符串为111-1-1101。
72.步骤s203、将所述原始字符串转化为二进制字符串;
73.例如:将原始字符串转化为二进制,即全部转化为8位的01组合,得到二进制字符串:00000001 00000001 00000001 11111111,这里得到的二进制字符串中可有有空格,也可以没有空格,空格可用于区分每组方向向量。
74.步骤s204、根据预设编码规则将所述二进制字符串进行预设编码,得到完成预设编码的字符串;
75.这里可以使用base32进行编码。base64编码是用64(2的6次方)个字符,对二进制数据进行编码的方式;base32就是用32(2的5次方)个字符,对二进制数据进行编码的方式;base16就是用16(2的4次方)个字符,对二进制数据进行编码的方式。base16编码是包含了数字(0~9)和大写字母(a~f),base32编码与base64编码最大区别是前者没有小写字母。base32编码可以用于文件系统的名称(不区分大小情况)。而base64编码后数据量相比原先不是增加很多,可以用于网络传输。base32可以多转码几个字段,比对时更准确一些,base64虽然字符表比较长,但是需要6位代表一个字段,反而转码后的字符短了;而base16虽然转码的字符长,但是可转码的字符少,基于以上考虑可以选用base32编码方式进行编码。
76.步骤s205、将所述完成预设编码的字符串进行哈希计算,得到第i轨迹特征值。
77.key=hash(base32(tobinary(11 1-1-11 01)))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1);
78.使用以上公式(1),最后进行哈希计算,最后会得到一串字符串如wgerw110daw,即为key,表示此轨迹特征值。
79.本技术实施例中,描述了如何将轨迹的坐标转换为坐标转化成一串哈希字符串,最终得到轨迹特征值的过程。这样,使用一定规律将获得的坐标处理成轨迹特征值,其处理方式,可以将轨迹处理成一串字符串,通过字符串模式匹配判定轨迹的相似度,进而选择需要触发的菜单项,达到高效准确完成轨迹匹配,触发菜单项的效果。
80.本技术实施例提供的一种存储菜单项与特征值的多叉树创建方法,如图3所示,该方法包括:
81.步骤s301、根据所述各级菜单的菜单项之间的所属关系确定所述多叉树的节点之间父子关系;
82.多叉树一般指n叉树。树家族是为了实现方便快捷的查找而存在的。树的高度是命中查找的一个不可抗拒的时间下限。在一定的数据条件下,树的高度和宽度是互相制约的。
菜单在dom中表现为一个多叉树,存储在多叉树中,可以方便后续向下查找。
83.步骤s302、获取每一所述菜单项的结构体;
84.这里,菜单项的结构体可以由菜单项对应的属性构成。
85.步骤s303、将每一所述菜单项的属性值存储到所述结构体中得到菜单特征值;
86.结构体可以是存储菜单特征值的对象。
87.步骤s304、获取每一所述菜单项对应的节点特征值,其中,所述节点特征值是所述菜单项对应的轨迹的特征值;
88.这里,可以通过设置菜单项对应的节点特征值的操作,让操作体在显示屏上移动形成移动轨迹,并且在移动的过程中依次设置n个操作点。根据移动轨迹和n个操作点获取菜单项对应的节点特征值。
89.步骤s305、根据所述所属关系和所述父子关系,将所述菜单项特征值和所述节点特征值匹配存储在对应的节点,完成所述多叉树的创建过程。
90.本技术实施例中,首先根据各级菜单的菜单项之间的所属关系确定所述多叉树的节点之间父子关系,然后获取每一菜单项的结构体,将每一菜单项的属性值存储到结构体中得到菜单特征值,最后获取每一菜单项对应的节点特征值,将菜单项特征值和节点特征值匹配存储在对应的节点。这样,将菜单项特征值和节点特征值匹配存储在对应的节点存储在多叉树中,可以方便后续向下查找。
91.本技术实施例提供的一种存储菜单项与特征值的多叉树创建方法,该方法包括:
92.步骤s311、根据所述各级菜单的菜单项之间的所属关系确定所述多叉树的节点之间父子关系;
93.步骤s312、获取每一所述菜单项的标签,其中,所述标签包括k个不同的属性特征值,其中,k为大于等于1的整数;
94.组成菜单项的标签一般有多个固定不变的html属性(即attr),如id,class,标签类型。
95.步骤s313、将所述k个不同的属性特征值组成一个所述菜单项的特征值结构体;
96.每个菜单包含attr类型都不是一样的,首先将标签多项属性收集,组成一个菜单项的特征值,其存储菜单项的特征值数据结构举例如下:
97.{
98.alias:”导航二”;
99.id:”xx1”;
100.class:”nav-1,focus”;
101.type:”div”;
102.name:”103.}
104.这里,每个组成菜单的标签可能包含的属性不同,比如有的标签内有id,但是没有标注class,有的标签没有id,但是设置了class、name,有的标签可能是《a》标签形式,通过多属性来定位菜单项更加准确。
105.步骤s314、将每一所述菜单项的属性值存储到结构体中得到菜单特征值;
106.步骤s315、获取每一所述菜单项对应的节点特征值,其中,所述节点特征值是所述
菜单项对应的轨迹的特征值;
107.步骤s316、根据所述所属关系和所述父子关系,将所述菜单项特征值和所述节点特征值匹配存储在对应的节点,完成所述多叉树的创建过程。
108.本技术实施例中,通过多属性构成菜单项的结构体。这样,通过多个属性查找来定位到菜单项,可以提高适配菜单项定位精度。
109.现有云平台及云平台web端页面中,随着云服务分类的增加和细化,菜单的深度和数量也越来越多,常用的菜单触发方案为逐阶打开,寻找到需要的菜单项,并点击。
110.javascript(简称“js”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,javascript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格前后端分离。
111.为了快速寻找到菜单项并点击,解决其效率问题,一种方法为:将需要点击菜单项而跳转的页面url收藏,通过收藏打开,另一种方法:通过按键精灵,存储打开云平台菜单路径所经历的操作,然后通过脚本进行点击和触发。
112.现有方案均有瑕疵,现有云平台基本为单页web应用(single page web application,spa)架构,就是只有一张web页面的应用,是加载单个html页面并在用户与应用程序交互时动态更新该页面的web应用程序。通过js渲染不同页面,某些菜单的统一资源定位器(uniform resource locator,url),它是www的统一资源定位标志,就是指网络地址,可能每次都不相同,通过url就无法每次打开相关页面;而通过按键精灵的方式,需要前期录入点击脚本,操作和修改均比较复杂,不适合云平台使用场景。
113.图4a为本技术实施例提供的一种触发菜单项操作的配置方法流程示意图,如图4a所示,包括:
114.步骤s401、菜单项定位,生成n个菜单项坐标特征值;
115.组成菜单的标签一般有多个固定不变的超文本标记语言(hyper text markup language,html)属性(attr),如id,class,标签类型等;但是每个菜单包含属性类型都不是一样的,首先将标签多项属性收集,组成一个菜单项特征,其存储菜单项特征数据结构如下:
116.{
117.alias:”导航二”;
118.id:”xx1”;
119.class:”nav-1,focus”;
120.type:”div”;
121.name:”122.}
123.通过存储多个标签属性,然后综合定位,提高其适配菜单项定位精度,然后将结构体存储于一个多叉树中,以图1d为例,其多叉树存储结构如图1d所示。
124.步骤s402、根据每一个菜单项坐标特征值,移动鼠标生成n个对应的轨迹;
125.如图1b所示,用户在移动鼠标一段轨迹105,代表一个菜单项,结尾处点击鼠标代表选中一级菜单项后触发。鼠标轨迹有两种,滑动和点击(包含双击等),需要区分用户正常
滑动和用户在使用该方法的装置打开菜单;监听鼠标移动事件,每100ms拾取鼠标相对于屏幕坐标系的一个坐标值,记为(screenx,screeny),例如一段的起始到结束可以取3个坐标(screenx1,screeny1),(screenx2,screeny2)(screenx3,screeny3),此三个坐标的轨迹代表一个菜单项,之后用户可能双击或者单击,则表示打开此菜单项。
126.步骤s403、对n个对应的坐标轨迹进行处理,得到n个轨迹特征值;
127.对每一坐标轨迹进行处理,得到轨迹特征值。依次匹配和触发,直到触发到用户需要的第n级菜单项,得到匹配n级菜单项的轨迹特征值。
128.步骤s404、将n坐标特征值与对应的n个轨迹特征值绑定,储存于多叉数结构下,以完成触发菜单项的操作的配置。
129.本技术实施例,通过多属性构成菜单项的结构体,将各级菜单的菜单项之间的所属关系以多叉树的形式体现,各级菜单的菜单项对应的节点特征值存储在所述多叉树的节点上。这样,将各级菜单的菜单项对应的节点特征值存储在多叉树中,可以方便后续向下查找。通过多个属性查找来定位到菜单项,可以提高适配菜单项定位精度。
130.图4b为本技术实施例提供的一种轨迹坐标处理流程示意图,如图4b所示,包括:
131.步骤s410、计算坐标之间的方向向量;
132.计算坐标增量x,y。如screenx2》screenx1,则第一个x增量为1,screeny2《screeny1,第一个y增量为-1,即(1,-1),以此类推,一段轨迹的增量可能为(1,1)(1,-1)(-1,1)(0,1)。
133.步骤s411、将方向向量转化为二进制字符串;
134.增量组合,将增量转化为二进制排列为一行,x坐标做基数位,y坐标为偶数位;数据即为111-1-1101,将排列一行的数据使用公式(1)做如下处理:
135.key=hash(base32(tobinary(111-1-1101)))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1);
136.以上公式表示为先将排列好的数据转化为二进制,即处理1 0-1,全部转化为8位的01组合::00000001 00000001 00000001 11111111,这里得到的二进制字符串中可有有空格,也可以没有空格,空格可用于区分每组方向向量。
137.步骤s412、将二进制字符串进行base32编码,得到完成base32编码的字符串;
138.步骤s413、base32编码的字符串进行hash计算,得到轨迹特征值。
139.最后会得到一串字符串如wgerw110daw,即为key,表示此轨迹特征值。
140.本技术实施例中,描述了如何将轨迹的坐标转换为坐标转化成一串哈希字符串,最终得到轨迹特征值的过程。这样,使用一定规律将获得的坐标处理成轨迹特征值,其处理方式,可以将轨迹处理成一串字符串,通过字符串模式匹配判定轨迹的相似度,进而选择需要触发的菜单项,达到高效准确完成轨迹匹配,触发菜单项的效果。
141.图4c为本技术实施例提供的匹配触发n级菜单操作的流程示意图,如图4c所示,包括:
142.步骤s420、根据移动轨迹上第1个操作点前的移动轨迹生成特征值key1;
143.这里,特征值key1是根据操作体的移动轨迹生成的第1个操作点前的第1移动轨迹。
144.步骤s421、将特征值key1与多叉树root节点匹配;
145.这里,root节点即多叉树的根节点,也就是菜单的第一级菜单项。在使用特征值
key1与多叉树root节点进行匹配时,可能root节点特征值为abcde11,用户滑动轨迹特征值为abcdf11,其中比对字符相同数目判定相似度,可根据实际情况设置阈值,如80%,即高出这个阈值则表示比对成功。
146.步骤s422、在特征值key1与多叉树root节点匹配成功的情况下,打开root节点菜单项;
147.如果在步骤s421中匹配成功,则可以点击打开root节点菜单项。
148.步骤s423、依次获取操作体移动轨迹上每两个操作点之间的特征值;
149.依次获取操作体移动轨迹上每两个操作点之间的特征值,以上次click事件为开始,以本阶段轨迹中click事件为结束。一串用户利用该方法来选择打开菜单项所记录的数据为:key1 event(click)key2 event(click)key3(click);key代表移动轨迹,event代表在移动轨迹上设置的操作点。
150.步骤s424、依次匹配每两个操作点之间的特征值并触发对应的菜单项,直到触发到需要的菜单项。
151.本技术实施例中,首先生成特征值key1,然后与多叉树root节点进行匹配,最后依次匹配每一段轨迹特征值直到完成所有操作点的匹配。这样,使用操作体移动轨迹确定菜单项,通过移动轨迹和移动轨迹上的操作点,触发目标菜单项,完成点击所述菜单项的功能,比普通方式下打开菜单的效率高。
152.基于前述的实施例,本技术实施例提供一种触发菜单项的装置,该装置包括所包括的各模块,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)或现场可编程门阵列(fpga)等。
153.图5为本技术实施例提供的触发菜单项的装置的组成结构示意图,如图5所示,所述装置500包括显示模块501、获取模块502、确定模块503和触发模块504,其中:
154.显示模块501,用于在显示屏上显示应用程序的菜单;所述菜单包括第1级菜单项至第n级菜单项,其中,n为大于等于1的整数;
155.获取模块502,用于获取操作体在所述显示屏上的移动轨迹和所述操作体在形成所述移动轨迹的过程中依次设置的n个操作点,其中,所述操作体用于在所述显示屏上移动形成所述移动轨迹,以触发与所述移动轨迹对应的预设功能;
156.确定模块503,用于在所述应用程序的菜单中确定与所述移动轨迹和所述n个操作点对应的目标菜单项;
157.触发模块504,用于对所述目标菜单项进行触发。
158.基于前述的实施例,本技术实施例提供一种触发菜单项的装置,所述移动轨迹包括:所述操作体从起始点移动到第1个操作点之间的轨迹,和相邻两个操作点之间的轨迹。所述各级菜单的菜单项之间的所属关系以多叉树的形式体现,所述各级菜单的菜单项对应的节点特征值存储在所述多叉树的节点。所述确定模块包括第一确定子模块、匹配子模块、第二确定子模块,其中,第一确定子模块,用于依次根据n轨迹确定n个轨迹特征值;根据所述n个轨迹特征值确定特征值序列;所述特征值序列中的第i轨迹特征值对应第i轨迹,其中,所述第i轨迹为所述操作体从起始点移动到第1个操作点之间的轨迹,或相邻两个操作点之间的轨迹,i为大于等于1且小于等于n的整数;匹配子模块,用于根据所述特征值序列,
在以多叉树形式存储的节点特征值中进行匹配;第二确定子模块,在所述特征值序列与所述节点特征值匹配成功的情况下,根据第n级节点特征值对应的菜单项特征值,确定所述目标菜单项。
159.基于前述的实施例,本技术实施例提供一种触发菜单项的装置,所述各级菜单的菜单项之间的所属关系以多叉树的形式体现,所述各级菜单的菜单项对应的节点特征值存储在所述多叉树的节点上。所述确定模块还包括第三确定子模块、第四确定子模块、第五确定子模块、第六确定子模块和第七确定子模块,其中,第三确定子模块,用于所述根据第i轨迹确定第i轨迹特征值,其中,所述第i轨迹为所述操作体从起始点移动到第1个操作点之间的轨迹,或相邻两个操作点之间的轨迹,i为大于等于1且小于等于n的整数;第四确定子模块,用于在所述第i轨迹特征值与以多叉树形式存储的第i级节点特征值匹配的情况下,确定所述第i级节点特征值对应的菜单项特征值;第五确定子模块,用于根据所述第i级节点特征值对应的菜单项特征值,确定所述目标菜单项。
160.基于前述的实施例,所述本技术实施例提供一种触发菜单项的装置,所述第三确定子模块包括得到单元、组合单元、转换单元、预设编码单元和哈希计算单元,其中,得到单元,用于根据所述第i轨迹上的m个坐标,得到两两相邻坐标之间的m-1个方向向量,其中,m为大于等于1的整数;组合单元,用于依次组合所述m-1个方向向量,得到原始字符串;转换单元,用于将所述原始字符串转化为二进制字符串;预设编码单元,用于根据预设编码规则将所述二进制字符串进行预设编码,得到完成预设编码的字符串;哈希计算单元,用于将所述完成预设编码的字符串进行哈希计算,得到第i轨迹特征值。
161.基于前述的实施例,所述本技术实施例提供一种触发菜单项的装置,所述确定模块还包括第六确定子模块、第一获取子模块、第一存储子模块、第二获取子模块、第二存储子模块,其中,第六确定子模块,用于根据所述各级菜单的菜单项之间的所属关系确定所述多叉树的节点之间父子关系;第一获取子模块,用于获取每一所述菜单项的结构体;存储子模块,用于将每一所述菜单项的属性值存储到所述结构体中得到菜单特征值;第二获取子模块,用于获取每一所述菜单项对应的节点特征值,其中,所述节点特征值是所述菜单项对应的轨迹的特征值;第二存储子模块,用于根据所述所属关系和所述父子关系,将所述菜单项特征值和所述节点特征值匹配存储在对应的节点,完成所述多叉树的创建过程。
162.基于前述的实施例,所述本技术实施例提供一种触发菜单项的装置,所述第一获取子模块包括获取单元和组成单元,其中,获取单元,用于获取每一所述菜单项的标签,其中,所述标签包括k个不同的属性特征值,其中,k为大于等于1的整数;组成单元,用于将所述k个不同的属性特征值组成一个所述菜单项的特征值结构体。
163.以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
164.需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述的触发菜单项的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、笔记本电脑、台式计算机等)执行本技术各个
实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
165.对应地,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的触发菜单项的方法中的步骤。
166.对应地,本技术实施例提供一种计算机设备,图6为本技术实施例计算机设备的一种硬件实体示意图,如图6所示,该设备600的硬件实体包括:包括存储器601和处理器602,所述存储器601存储有可在处理器602上运行的计算机程序,所述处理器602执行所述程序时实现上述实施例中提供的触发菜单项的方法中的步骤。
167.存储器601配置为存储由处理器602可执行的指令和应用,还可以缓存待处理器602以及计算机设备600中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。
168.这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质和设备实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
169.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
170.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
171.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
172.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
173.另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述
集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
174.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
175.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得计算机设备(可以是手机、平板电脑、笔记本电脑、台式计算机等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
176.本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
177.本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
178.本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
179.以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献