一种请求处理方法、装置、电子设备及存储介质与流程



1.本公开涉及数据传输领域,尤其涉及一种请求处理方法、装置、电子设备及存储介质。


背景技术:



2.visual studio code(简称vs code)是一款跨平台的免费源代码编辑器,该软件支持语法高亮、代码自动补全、代码重构、查看定义功能,功能强大,颇受青睐。vs code的强大之处是一切功能都可以基于插件来实现,通过安装插件,开发者可以很方便的实现想要的功能。
3.相关技术中,在开发vs code插件的过程中,开发者经常采用抓取html(hypertext mark-up language,超文本标记语言)的形式,直接在vs code提供的webview(网页视图)中渲染页面,其中,页面请求通常基于相对路径进行调用,在不同的环境下使用各自对应的域名,比如,在测试环境可以使用测试环境的域名,在正式环境可自动使用正式环境的域名,等等。
4.但是,上述方法往往需要开发者写多套处理逻辑,代码的复杂程度会变高,使得vs code的开发效率降低。


技术实现要素:



5.本公开提供一种请求处理方法、装置、电子设备及存储介质,以至少解决相关技术中需要开发者写多套处理逻辑,代码的复杂程度会变高,使得vs code的开发效率降低的问题。本公开的技术方案如下:
6.根据本公开实施例的第一方面,提供一种请求处理系统方法,包括:
7.获取网页视图的待处理请求;
8.建立所述待处理请求与预设通信代码之间的映射关系,得到代理请求;
9.将所述代理请求发送至目标插件;
10.将所述目标插件返回的请求结果发送至所述网页视图。
11.可选的,所述获取网页视图的待处理请求,包括:
12.获取网页视图的页面请求;
13.在所述页面请求的请求地址为相对路径的情况下,将所述页面请求作为待处理请求。
14.可选的,所述获取网页视图的待处理请求,包括:
15.获取网页视图的页面请求;
16.在所述页面请求为跨域访问请求的情况下,将所述页面请求作为待处理请求。
17.可选的,所述将所述代理请求发送至目标插件,包括:
18.将所述代理请求加入发送消息队列;
19.按照由队首至队尾的顺序,将所述发送消息队列中的代理请求发送至目标插件;
20.所述将所述目标插件返回的请求结果发送至所述网页视图,包括:
21.将所述目标插件返回的请求结果加入接收消息队列;
22.按照由队首至队尾的顺序,将所述接收消息队列中的请求结果发送至所述网页视图。
23.可选的,所述目标插件为vs code插件。
24.根据本公开实施例的第二方面,提供一种请求处理装置,包括:
25.获取单元,被配置为执行获取网页视图的待处理请求;
26.映射单元,被配置为执行建立所述待处理请求与预设通信代码之间的映射关系,得到代理请求;
27.发送单元,被配置为执行将所述代理请求发送至目标插件;
28.接收单元,被配置为执行将所述目标插件返回的请求结果发送至所述网页视图。
29.可选的,所述获取单元,具体被配置为执行:
30.获取网页视图的页面请求;
31.在所述页面请求的请求地址为相对路径的情况下,将所述页面请求作为待处理请求。
32.可选的,所述获取单元,具体被配置为执行:
33.获取网页视图的页面请求;
34.在所述页面请求的请求地址为相对路径的情况下,将所述页面请求作为待处理请求。
35.可选的,所述发送单元,具体被配置为执行:
36.将所述代理请求加入发送消息队列;
37.按照由队首至队尾的顺序,将所述发送消息队列中的代理请求发送至目标插件;
38.所述接收单元,具体被配置为执行:
39.将所述目标插件返回的请求结果加入接收消息队列;
40.按照由队首至队尾的顺序,将所述接收消息队列中的请求结果发送至所述网页视图。
41.可选的,所述目标插件为vs code插件。
42.根据本公开实施例的第三方面,提供一种请求处理电子设备,包括:
43.处理器;
44.用于存储所述处理器可执行指令的存储器;
45.其中,所述处理器被配置为执行所述指令,以实现上述第一项所述的请求处理方法。
46.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由请求处理电子设备的处理器执行时,使得请求处理电子设备能够执行上述第一项所述的请求处理方法。
47.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述第一项所述的请求处理方法。
48.本公开的实施例提供的技术方案至少带来以下有益效果:
49.获取网页视图的待处理请求;建立待处理请求与预设通信代码之间的映射关系,
得到代理请求;将代理请求发送至目标插件;将目标插件返回的请求结果发送至网页视图。
50.这样,通过预设通信代码与待处理请求之间的映射和代理,在目标插件中只需使用一套代码,就可以处理不同环境中的请求,减少了代码出错的可能,而且,对于开发人员而言,其代码的开发不受限制,有利于提高代码开发效率。
51.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
52.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
53.图1是根据一示例性实施例示出的一种请求处理方法的流程图。
54.图2是根据一示例性实施例示出的一种为生成代理请求的示意图。
55.图3是根据一示例性实施例示出的一种本方案的流程示意图。
56.图4是根据一示例性实施例示出的一种请求处理装置的框图。
57.图5是根据一示例性实施例示出的一种用于请求处理的电子设备的框图。
58.图6是根据一示例性实施例示出的一种用于请求处理的装置的框图。
具体实施方式
59.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
60.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
61.图1是根据一示例性实施例示出的一种请求处理方法的流程图,应用于电子设备,如图1所示,该请求处理方法包括以下步骤。
62.在步骤s11中,获取网页视图的待处理请求。
63.一些场景中,通过安装插件,可以很方便的实现想要的功能,在开发插件的过程中,页面请求通常基于相对路径进行调用,在不同的环境下使用各自对应的域名,比如,在测试环境可以使用测试环境的域名,在正式环境可自动使用正式环境的域名,等等。其中,网页视图即为webview,是使用html、css(cascading style sheets,层叠样式表)、js(javascript,java语言)高度定制的视图,显示在编辑器区域中,供开发者使用。
64.在本步骤中,获取网页视图的待处理请求,包括:获取网页视图的页面请求;在页面请求的请求地址为相对路径的情况下,将页面请求作为待处理请求。其中,相对路径中不包括协议名、主机地址、端口、web(网页)项目名称等路径信息,只包括从当前地址到请求地址的路径信息,这样,在不同的环境下,可以分别响应于页面请求,使用各自对应的域名,得到相应的页面请求结果。
65.另外,获取网页视图的待处理请求,也包括:获取网页视图的页面请求;在页面请求为跨域访问请求的情况下,将页面请求作为待处理请求。一些场景中,出于安全方面的考虑,浏览器不允许跨域调用其他页面的对象,即同源政策,也就是说,页面请求无法访问任一不同协议或不同域名或不同端口的页面,因此,页面请求的开发存在跨域问题,本公开通过后续处理,可以解决该问题,使得页面请求的开发过程更为灵活方便。
66.也就是说,如果页面请求是相对路径或者是有跨域限制的时候,才会执行后续的步骤,而对于基于绝对路径且不是跨域访问的页面请求,则可以直接进行处理和开发,无需进行映射和代理,从而节省系统资源,提高开发效率。
67.其中,待处理请求可以是xmlhttprequest请求对象,xmlhttprequest是一种应用程序接口,用于使用http(hyper text transfer protocol,超文本传输协议)在网页的客户端和服务器端之间建立独立的连接通道。
68.在步骤s12中,建立待处理请求与预设通信代码之间的映射关系,得到代理请求。
69.在本方案中,可以预先在网页视图的html代码顶部插入代理脚本,在网页视图的html代码底部插入通信代码,其中,代理脚本可以对待处理请求进行代理,得到覆盖全局的代理请求,通信代码则用于通过代理请求实现网页视图和插件之间的通信。这样,网页视图可以将待处理请求的url(uniform resource locator,统一资源定位系统)、参数等信息传递到目标插件的插件层,然后插件层返回代理请求的请求结果,作为待处理请求的请求结果。
70.举例而言,如图2所示,为生成代理请求的示意图。其中,在网页视图的html代码顶部以正则匹配的方式插入代理脚本,代理底层的待处理请求,得到覆盖全局的代理请求,这样,当上层调用待处理请求的代码时,通过建立待处理请求与预设通信代码之间的映射关系,可以得到代理请求,进而创建代理对象实例,进而通过运行代理对象实例,得到待处理请求的请求结果。
71.这样,对待处理请求的原有代码不做任何改动,通过插入脚本的方式即可实现对待处理请求的代理,直接处理当前场景,不会对其他场景造成任何干扰,而且,保留了直接基于相对路径实现代码的功能。
72.在步骤s13中,将代理请求发送至目标插件。
73.在对待处理请求进行映射,得到代理请求之后,可以将代理请求发送至目标插件,以使目标插件基于代理请求进行后续的数据处理。代理请求是基于全局的请求,因此出现请求校验不通过或跨域的概率较低,从而可以提高目标插件对待处理请求的处理成功率。
74.一种实现方式中,将代理请求发送至目标插件,包括:将代理请求加入发送消息队列;按照由队首至队尾的顺序,将发送消息队列中的代理请求发送至目标插件。其中,消息队列中数据的传输可以通过postmessage函数来实现,该函数将一个消息放入到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回,是异步消息模式。消息队列里的消息通过调用getmessage函数和peekmessage函数取得。
75.也就是说,根据获取到代理请求的时间,将代理请求依次加入至发送消息队列中,按照由队首至队尾的顺序,依次对代理请求进行处理,这样,在并行多个待处理请求的情况下,可以维持请求的处理秩序,提高系统效率。
76.在本公开中,目标插件可以为vs code插件,vs code是一款跨平台的免费源代码
编辑器,支持语法高亮、代码自动补全、代码重构、查看定义等功能。vs code插件是基于nodejs环境运行的,因此不会有跨域等规则的限制。
77.在步骤s14中,将目标插件返回的请求结果发送至网页视图。
78.通过目标插件对代理请求进行处理后,可以返回代理请求的请求结果,进而,可以将代理请求的请求结果作为待处理请求的请求结果,返回网页视图,这样,网页视图就得到了待处理请求的请求结果。
79.一种实现方式中,将目标插件返回的请求结果发送至网页视图,包括:将目标插件返回的请求结果加入接收消息队列;按照由队首至队尾的顺序,将接收消息队列中的请求结果发送至网页视图。
80.也就是说,根据获取到请求结果的时间,将请求结果依次加入至接收消息队列中,按照由队首至队尾的顺序,依次将接收消息队列中的请求结果发送至网页视图,这样,在并行多个待处理请求的情况下,可以维持请求的处理秩序,提高系统效率。
81.如图3所示,为本方案的流程示意图,首先,获取网页视图的页面请求;在页面请求为跨域访问请求或请求地址为相对路径的情况下,通过插件代理将待处理请求拦截,并将待处理请求映射为代理请求,然后,调用postmessage函数将代理请求发送到目标插件,比如,目标插件可以是vs code插件层,接着,在插件层获取到代理请求的请求结果后,再调用postmessage函数将请求结果传递给网页视图,作为待处理请求的请求结果,从而实现请求数据的传递。
82.由以上可见,本公开实施例提供的技术方案,通过预设通信代码与待处理请求之间的映射和代理,在目标插件中只需使用一套代码,就可以处理不同环境中的请求,减少了代码出错的可能,而且,对于开发人员而言,其代码的开发不受限制,有利于提高代码开发效率。
83.图4是根据一示例性实施例示出的一种请求处理装置框图,该装置包括:
84.获取单元201,被配置为执行获取网页视图的待处理请求;
85.映射单元202,被配置为执行建立所述待处理请求与预设通信代码之间的映射关系,得到代理请求;
86.发送单元203,被配置为执行将所述代理请求发送至目标插件;
87.接收单元204,被配置为执行将所述目标插件返回的请求结果发送至所述网页视图。
88.一种实现方式中,所述获取单元203,具体被配置为执行:
89.获取网页视图的页面请求;
90.在所述页面请求的请求地址为相对路径的情况下,将所述页面请求作为待处理请求。
91.一种实现方式中,所述获取单元201,具体被配置为执行:
92.获取网页视图的页面请求;
93.在所述页面请求的请求地址为相对路径的情况下,将所述页面请求作为待处理请求。
94.一种实现方式中,所述发送单元203,具体被配置为执行:
95.将所述代理请求加入发送消息队列;
96.依次将所述发送消息队列中的代理请求发送至目标插件;
97.所述接收单元204,具体被配置为执行:
98.将所述目标插件返回的请求结果加入接收消息队列;
99.按照由队首至队尾的顺序,将所述接收消息队列中的请求结果发送至所述网页视图。
100.一种实现方式中,所述目标插件为vs code插件。
101.由以上可见,本公开实施例提供的技术方案,通过预设通信代码与待处理请求之间的映射和代理,在目标插件中只需使用一套代码,就可以处理不同环境中的请求,减少了代码出错的可能,而且,对于开发人员而言,其代码的开发不受限制,有利于提高代码开发效率。
102.图5是根据一示例性实施例示出的一种用于请求处理的电子设备的框图。
103.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备的处理器执行以完成上述方法。可选地,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光请求处理设备等。
104.在示例性实施例中,还提供一种计算机程序产品,当其在计算机上运行时,使得计算机实现上述请求处理的方法。
105.由以上可见,本公开的实施例提供的技术方案,通过预设通信代码与待处理请求之间的映射和代理,在目标插件中只需使用一套代码,就可以处理不同环境中的请求,减少了代码出错的可能,而且,对于开发人员而言,其代码的开发不受限制,有利于提高代码开发效率。
106.图6是根据一示例性实施例示出的一种用于请求处理的装置800的框图。
107.例如,装置800可以是移动电话,计算机,数字广播电子设备,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
108.参照图6,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。
109.处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
110.存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程直读存储器(eeprom),可擦除可编程直读存储器(eprom),可编程直读存储器(prom),直读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
111.电源组件807为装置800的各种组件提供电力。电源组件807可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
112.多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
113.音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
114.i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
115.传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
116.通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
117.在示例性实施例中,装置800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行第一方面和第二方面所述的方法。
118.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。可选地,例如,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性非临时性计算机可读存储介质计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光请求处理设备等。
119.在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上
运行时,使得计算机执行上述实施例中第一所述的请求处理方法。
120.由以上可见,本公开的实施例提供的技术方案,通过预设通信代码与待处理请求之间的映射和代理,在目标插件中只需使用一套代码,就可以处理不同环境中的请求,减少了代码出错的可能,而且,对于开发人员而言,其代码的开发不受限制,有利于提高代码开发效率。
121.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
122.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术特征:


1.一种请求处理方法,其特征在于,包括:获取网页视图的待处理请求;建立所述待处理请求与预设通信代码之间的映射关系,得到代理请求;将所述代理请求发送至目标插件;将所述目标插件返回的请求结果发送至所述网页视图。2.根据权利要求1所述的请求处理方法,其特征在于,所述获取网页视图的待处理请求,包括:获取网页视图的页面请求;在所述页面请求的请求地址为相对路径的情况下,将所述页面请求作为待处理请求。3.根据权利要求1所述的请求处理方法,其特征在于,所述获取网页视图的待处理请求,包括:获取网页视图的页面请求;在所述页面请求为跨域访问请求的情况下,将所述页面请求作为待处理请求。4.根据权利要求1所述的请求处理方法,其特征在于,所述将所述代理请求发送至目标插件,包括:将所述代理请求加入发送消息队列;按照由队首至队尾的顺序,将所述发送消息队列中的代理请求发送至目标插件;所述将所述目标插件返回的请求结果发送至所述网页视图,包括:将所述目标插件返回的请求结果加入接收消息队列;按照由队首至队尾的顺序,将所述接收消息队列中的请求结果发送至所述网页视图。5.根据权利要求1~4所述的请求处理方法,其特征在于,所述目标插件为vs code插件。6.一种请求处理装置,其特征在于,包括:获取单元,被配置为执行获取网页视图的待处理请求;映射单元,被配置为执行建立所述待处理请求与预设通信代码之间的映射关系,得到代理请求;发送单元,被配置为执行将所述代理请求发送至目标插件;接收单元,被配置为执行将所述目标插件返回的请求结果发送至所述网页视图。7.根据权利要求6所述的请求处理装置,其特征在于,所述获取单元,具体被配置为执行:获取网页视图的页面请求;在所述页面请求的请求地址为相对路径的情况下,将所述页面请求作为待处理请求。8.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至5中任一项所述的请求处理方法。9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由请求处理电子设备的处理器执行时,使得请求处理电子设备能够执行如权利要求1至5中任一
项所述的请求处理方法。10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的请求处理方法。

技术总结


本公开关于一种请求处理方法、装置、电子设备及存储介质,包括:获取网页视图的待处理请求;建立待处理请求与预设通信代码之间的映射关系,得到代理请求;将代理请求发送至目标插件;将目标插件返回的请求结果发送至网页视图。这样,通过预设通信代码与待处理请求之间的映射和代理,在目标插件中只需使用一套代码,就可以处理不同环境中的请求,减少了代码出错的可能,有利于提高代码开发效率。有利于提高代码开发效率。有利于提高代码开发效率。


技术研发人员:

王建兵

受保护的技术使用者:

北京达佳互联信息技术有限公司

技术研发日:

2022.08.09

技术公布日:

2022/11/22

本文发布于:2024-09-20 11:49:53,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/5505.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   视图   插件   代码
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议