首页 / 专利库 / 电脑零配件 / 接口 / 用户界面 / 图形用户界面 / 一种用户界面实现方法

一种用户界面实现方法

阅读:959发布:2024-01-18

专利汇可以提供一种用户界面实现方法专利检索,专利查询,专利分析的服务。并且本 发明 提出一种 用户界面 的实现方法,其客户端的界面绘制指令在 服务器 端进行,客户端主机不存放界面绘制指令,但是执行服务器端的绘制指令,进行客户端的绘制,使基于功能性的升级不需要下载客户端更新包,通过服务器端生成新的绘制指令,即可更新客户端的功能界面。相对于C/S客户端技术则使客户端的部署轻便灵活,解决了C/S架构的 软件 系统升级和客户端 图形用户界面 维护困难的问题。,下面是一种用户界面实现方法专利的具体信息内容。

1.一种用户界面实现方法,其特征在于包括:
A、客户端从服务器获取包含XAML 和JavaScript的网络配置文件;
B、客户端通过XAML绘制用户界面控件,通过JavaScript管理所述界面控件以及界面控件事件;
C、界面控件事件产生后,通过事件逻辑派发器读取事件,并将事件、引发事件的控件绑定到JavaScript函数,调用JavaScript脚本解释器解释执行该JavaScript函数。
2.根据权利要求1所述的用户界面实现方法,其特征在于:所述B步骤中绘制用户界面控件过程还包括:通过本地控件适配器调用客户端主机本地资源。
3.根据权利要求1所述的用户界面实现方法,其特征在于:所述C步骤中界面控件事件产生后还包括调用本地第三方窗口步骤:事件逻辑派发器通过调用定制窗口加载器来调用本地第三方窗口。
4.根据权利要求1所述的用户界面实现方法,其特征在于:所述A步骤中通过XML+ JavaScript加载器加载网络配置文件。
5.根据权利要求1所述的用户界面实现方法,其特征在于:所述A步骤之前还包括如下步骤:服务器根据客户端申请发送不同的网络配置文件。
6.根据权利要求1所述的用户界面实现方法,其特征在于:所述A步骤获取XAML后通过控件渲染器得到所有控件类型和句柄,通过控件数据管理器匹配控件数据。
7.根据权利要求1-6任一项所述的用户界面实现方法,其特征在于:所述网络配置文件的APP节点属性包括:加密方式、加密Key值以及密文,所述APP节点包括:runtime节点、引用窗口节点、引用JavaScript文件、本地JavaScript文件以及窗口集合定义,其中窗口集合定义包括:可递归的属性集合、事件集合、数据集合以及XAML窗口数据。
8.根据权利要求7所述的用户界面实现方法,其特征在于:所述客户端主机本地资源包括:本地API、本地控件或本地硬件资源接口

说明书全文

一种用户界面实现方法

技术领域

[0001] 本发明涉及信息技术领域,具体地讲涉及一种图形用户界面的实现方法。

背景技术

[0002] 在C/S架构的软件中,系统通过客户端的图形用户界面与用户进行交互,用户通过图形用户界面发送指令给服务器端,服务器端进行处理,并将处理结果通过图形用户界面返回给用户。目前C/S架构的软件已经被广泛的使用,相关技术也很成熟,图形用户界面实现的相关工具和手段也相当多,其可充分利用客户端主机本地资源的优势,但C/S架构的软件却在图形用户界面实现上始终存在一些缺陷:图形用户界面都是在客户端根据系统相关业务进行硬编码完成的,一旦需要增加一种业务,往往需要修改客户端的相关代码方可实现,由于C/S架构的软件客户端分布较为广泛,如果需要一个一个对客户端代码进行修改显然很困难。为解决上述问题,目前比较通用的是通过客户端内置的升级程序进行升级,但是一些大的系统,升级包往往很大,升级一次需要花费较多的时间,用户难以接受;另外,大量的客户端图形用户界面代码还是分布在不同地域的客户机上,显然维护人员很难到客户机上解决图形用户界面相关问题。
[0003] 在B/S架构的软件中,用户界面只能通过WWW浏览器实现,其软件部署、升级简便灵活,但不能充分调用客户端主机的资源。
[0004] 基于此,结合B/S、C/S技术提出一种既有B/S的部署、升级简便灵活优势,也有C/S客户端程序充分利用客户端主机本地资源优势的用户界面的实现方法则成为本发明所面临的课题。

发明内容

[0005] 本发明针对已有用户界面实现方法存在部署、升级困难或无法充分利用客户端主机本地资源的问题,提出一种结合WPF和JavaScript的用户界面实现方法,其采用如下技术方案予以实现:一种用户界面实现方法,包括:
A、客户端从服务器获取包含XAML 和 JavaScript的网络配置文件;
B、客户端通过XAML绘制用户界面控件,通过JavaScript管理所述界面控件以及界面控件事件;
C、界面控件事件产生后,通过事件逻辑派发器读取事件,并将事件、引发事件的控件绑定到JavaScript函数,调用JavaScript脚本解释器解释执行该JavaScript函数。
[0006] 进一步地,所述B步骤中绘制用户界面控件过程还包括:通过本地控件适配器调用客户端主机本地资源。
[0007] 进一步地,所述C步骤中界面控件事件产生后还包括调用本地第三方窗口步骤:事件逻辑派发器通过调用定制窗口加载器来调用本地第三方窗口。
[0008] 进一步地,所述A步骤中通过XML+ JavaScript加载器加载网络配置文件。
[0009] 进一步地,所述A步骤之前还包括如下步骤:服务器根据客户端申请发送不同的网络配置文件。
[0010] 进一步地,所述A步骤获取XAML后通过控件渲染器得到所有控件类型和句柄,通过控件数据管理器匹配控件数据。
[0011] 进一步地,所述网络配置文件的APP节点属性包括:加密方式、加密Key值以及密文,所述APP节点包括:runtime节点、引用窗口节点、引用JavaScript文件、本地JavaScript文件以及窗口集合定义,其中窗口集合定义包括:可递归的属性集合、事件集合、数据集合以及XAML窗口数据。
[0012] 进一步地,所述客户端主机本地资源包括:本地API、本地控件或本地硬件资源接口
[0013] 与现有技术相比,本发明的优点和积极效果是如下:本发明客户端的界面绘制指令在服务器端进行,客户端主机不存放界面绘制指令,但是执行服务器端的绘制指令,进行客户端的绘制,使基于功能性的升级不需要下载客户端更新包,通过服务器端生成新的绘制指令,即可更新客户端的功能界面。相对于C/S客户端技术则使客户端的部署轻便灵活,解决了C/S架构的软件系统升级和客户端图形用户界面维护困难的问题。
[0014] 结合附图阅读本发明的具体实施方式后,本发明的其他特点和优点将变得更加清楚。

附图说明

[0015] 图1为本发明实施例用户界面实现方法流程图

具体实施方式

[0016] 本发明实现思想如下:HTML+JavaScript+Web浏览器只能在浏览器中执行,不能充分调用客户端主机的资源,如客户端主机的外设。本发明结合HTML+JavaScript+Web浏览器技术和C/S技术,基于Net平台开发,直接运行在客户端本机上,可以直接调用客户端本机硬件资源,如客户端主机的外设,达到既有HTML+JavaScript+Web浏览器的部署、升级简便灵活,也有C/S客户端程序充分利用客户端主机本地资源的优势。
[0017] 下面结合附图和具体实施方式对本发明作进一步详细的说明,本发明基于WPF和JavaScript的用户界面实现方法,包括:S01、客户端从服务器获取包含XAML 和 JavaScript 的网络配置文件;
S02、客户端通过XAML绘制用户界面控件,通过JavaScript管理所述界面控件以及界面控件事件;
S03、界面控件事件产生后,通过事件逻辑派发器读取事件,并将事件、引发事件的控件绑定到JavaScript函数,调用JavaScript脚本解释器解释执行该JavaScript函数。
[0018] 界面绘制过程中可能需要调用本地硬件资源信息(如钱箱开合),本发明通过本地控件适配器调用客户端主机本地资源(如钱箱开合信息),具体地,XML+JavaScript混合文件中包含的特殊需要调用用客户端主机本地资源(本地API,本地控件,本地硬件资源接口),本地控件适配器负责初始化这些资源。另外,界面也可能需要调用本地第三方窗口程序,步骤如下:界面产生事件后,事件逻辑派发器调用JavaScript函数,JavaScript函数调用定制窗口加载器调用本地第三方窗口。定制窗口是为特殊应用准备的,在特殊情况下,需要调用本地窗口,这些窗口不是由运行时创建的,而是由客户端主机提供的,如网络拨号程序。程序运行过程中,运行时定义几种特定类型的事件响应函数),如鼠标事件、键盘事件、后台事件及系统事件等,WPF控件、本地控件等发送消息后,运行时会拦截这些事件,拦截完交由事件逻辑派发器读取事件节点中的事件定义,通过绑定的ID和当前发出事件的控件ID将这些事件重定向到JavaScript函数中,即绑定某JavaScript函数,JavaScript函数将当前事件定义以及当前触发事件控件传给事件解释器,事件解释器将控件对象包装到This对象当中传给JavaScript函数。
[0019] 本发明事件派发与绑定分开,绑定由运行时绑定,其优点为:接口统一,函数可替换性强,且不影响事件的派发,绑定效率高。
[0020] 实际应用时,各个客户端实现功能不一,其在界面绘制过程中,对配置文件的要求不一,本发明实现过程中在步骤S01之前还包括如下步骤:服务器根据客户端申请发送不同的网络配置文件。
[0021] 此外,客户端从服务器获取包含XAML 和JavaScript的网络配置文件,通过XML+ JavaScript加载器加载网络配置文件,XML+ JavaScript加载器负责解析XAML+ JavaScript文件中的的数据,将XAML内容交由WPF解释器解释,获得WPF解释器解释后的所有控件句柄、控件类型。调用WPF控件渲染器和本地控件适配器显示XML+JavaScript文件界面内容(包含控件样式,控件位置),然后调用控件数据管理器,初始化这些控件的数据。控件数据可能从客户端主机获得,也可能从服务器端获得,控件数据管理器负责将这些数据转换为运行软件可识别的数据对象;控件数据可能流向服务器端,也可能流向本地控件(本地外设),控件数据管理器负责将这些数据转换为服务器端或者本地控件(本地外设)可识别的数据。
[0022] 其中,所述网络配置文件结构如下:APP节点属性包括:加密方式、加密Key值以及密文,所述APP节点包括:1、runtime节点:该节点主要用来定义主窗口,即第一次需要显示的窗口;2、引用窗口节点:包括网络访问src地址和字符编码;3、引用JavaScript文件同样包括网络访问SRC地址和字符编码;4、本地JavaScript文件;5、窗口集合定义,该窗口定义包含五个子节点:5.1、属性集合:包括多个属性节点,每个属性节点又包含有属性集,属性集又对应多个属性,如此递归,可递归到200次,可扩展性强,可定义复杂的属性结构,每个属性包括:ID、名称、类型及属性值;5.2、事件集合包括:ID编码、名称、消息键、绑定、类型调用函数及事件属性集,其中事件属性集也可以递归扩展;5.3、数据集合,root根下包含加密方式、加密Key值、密文,root根的dateset数据集包括多个数据集节点,每个数据又包括字段与字段集,字段与字段集既可实现字段嵌套,也可字段与字段集平行,其数据支持类型更加广泛;5.4、XAML窗口数据。整个文件采用加密格式,传输更加安全,且支持引入,多个窗口可共用一套文件,增加了文件复用性,减少了编码量和荣错率。
[0023] 本发明用户界面的实现包含:1、界面视图;2、用户操作逻辑两部分。在实现过程中发现:若将用户操作逻辑全部交由服务器端执行,将增加客户端和服务器端的网络数据交换次数和数量,降低界面元素对用户操作的响应速度,增大服务器端的运算量,导致服务器端的负载增大,必然导致客户端界面和服务器端紧密集成,不利于需求变更时的程序的变动,升级,且将用户操作逻辑全部交由服务器端执行,客户端只进行XML文件解析,如同Web开发中HTML页面中无JavaScript,无法提供动态界面效果;另一方面,导致客户端无法脱离服务器端运行,必须有服务器端才能运行客户端。
[0024] 本发明界面视图由配置文件中的XAML实现,用户操作逻辑由配置文件中的JavaScript实现。界面视图和用户操作逻辑部分(JavaScript)都是由客户端执行的,只在必要的条件下(如接收服务器端的数据)才和服务器端交换进行网络数据交换,大部分用户逻辑操作都在客户端本地执行,这样极大减少和服务器端网络数据交换的数量和次数,充分发挥客户端主机的计算能,降低服务器端的计算负载。如果出现客户端用户操作逻辑变化,可以只修改客户端配置文件部分,不需要修改服务器端逻辑,减少需求变更时的程序改动量。故运用本发明实现方式客户端可以脱离服务器端单独运行。
[0025] 根据本发明方法的实施例实现流程如下:步骤01:运行时负责从服务器端获得XML+JavaScript混合文件以及创建窗口对象,所有的WPF内容和本地控件都包含在窗口对象里面,其中XML文件中包含符合WPF定义的Xaml文件内容;
步骤02:XML+JavaScript加载器分解XAML和JavaScript内容,并交WPF解释器解释;
步骤03:调用控件渲染器绘制界面控件,同时返回对象的句柄,并等待用户操作,此步骤可能调用本地控件适配器;
步骤04:用户点击操作,产生控件事件,WPF拦截事件,运行时通过事件逻辑派发器调用JavaScript脚本解释器中的JavaScript函数,JavaScript脚本解释器将客户端界面控件的具体事件统一映射到JavaScript函数中,不再调用硬编码的、经过编译后的本地代码。JavaScript运行时,调用控件数据管理器获得数据并发送,所获得数据可能从客户端主机获得,也可能从服务器端获得,发动的数据可能流向服务器端,也可能流向本地控件。
[0026] 实际应用时,可面向服装行业的分销系统或面向商用车行业的售后服务系统提供其用户界面实现方法,具体可应用在一个SAAS(Software-as-a-service)的平台上。
[0027] 其中,面向服装行业的分销系统的客户端需要有多种外设(会员卡、行刷卡POS、自动钱箱),这些外设需要调用本地设备驱动才能进行操作,无法通过Web程序解决,只能通过客户端本地程序驱动。通过本发明,可以调用客户端本机外设驱动,操作客户端本机外设。分销系统和售后服务系统处于不同的领域中,业务流程、功能需求,软件界面非常不同,分销系统面向销售,关心销售的产品数量、销售金额;售后服务系统关心维修费用、维修工过程;导致软件客户端用户界面完全不同。通过在服务器端针对分销系统提供一套分销系统客户端配置文件,针对售后服务系统提供一套售后服务系统客户端配置文件,在SAAS平台用户登录时确定该用户属于分销系统用户还是售后服务系统用户分别发送不同的配置文件,达到两个系统用户所看到的软件界面、功能完全不同。
[0028] 本发明基于WPF和JavaScript提出一种用户界面实现方法,其中,WPF是一种微软提供的基于net平台的界面绘制技术,通过XAML指示WPF系统绘制界面,绘制完后runtime返回所有控件的句柄,可实现复杂界面绘制,且绘制效果好,另外,用XAML文件定义系统,格式规范,语义清晰可扩展性强。JavaScript是一种脚本语言,以解释的方式动态执行,在HTML中作为客户端脚本出现,应用面广、成本低。
[0029] 以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈