Web 资源在服务器和客户端(浏览器)之间的副本不仅能保存在客户端,也可以保存在服务器端。缓存会根据进来的请求将输出内容的副本保存在服务器内存中;然后,如果下一个请求是相同的 URL,且网页在这段时间内没有更新,服务器就不会再次从硬盘中获取内容,而是直接使用内存中缓存的网页副本,达到节约带宽,减少延迟的作用。
下面我们将介绍一些 OnceIO 中和服务器端缓存有关的函数和属性。
OnceIO 的模块路由和模板注入机制是与其它Web框架最主要的区别之一。软件系统时常需要针对不同的客户定制不同的功能。OnceIO的模块路由可以通过一个扩展包,对系统原有模板(Template)和填充数据(Model)进行重定向或复写。可以在不更改系统源代码的情况下,以非侵入的方式对系统进行深度定制和扩展。
为了提供静态资源,比如图像、CSS 文件和 JavaScript 文件等,可以将这些资源放在专门的文件夹中,然后用 app.static('folder') 将文件夹设置为 static 模式,使其中的资源可以直接被提供,而不参与中间件、Handler、会话、POST 和 Cookie,以达到节约带宽、减少延迟和降低服务器压力的目的。示例代码如下:
app.static('css')
OnceVI的可视化报表支持打印和手机浏览。几乎目前比较主流的浏览器,如Chrome等均支持将网页打印成PDF,我们为打印设计了一些特殊样式,确保只有报表本身会被打印。Chrome还提供了打印份数,打印布局(包含纵向和横向),打印色彩(彩色和黑白色)等设置。
在OnceVI中,您可以通过对相应svg模板进行绑定,实现表格信息的提交与保存。
以网站登录系统模板为例(见下图),在界面左侧选择
,模板上添加输入框,并进行数据绑定。

路由用于确定应用程序如何响应对特定端点的客户机请求,包含一个 URI(或路径)和一个特定的 HTTP 请求方法(GET、POST 等)。
每个路由可以具有一个或多个处理程序函数,这些函数在路由匹配时执行。
路由定义采用以下结构:
app.METHOD(PATH, HANDLER)
本节主要介绍表单提交过程中,应用Filter工具箱实现表单内容验证与返回。并以app.validate和app.handle两个函数为例,展示表单与后台服务器信息交互过程。
app.validate: 在表单提交前对用户输入合法性做校验,返回错误信息则表示不合法
app.handle: 在表单提交后,对服务返回的信息做响应
服务器处理时间序列如下图所示:

OnceAir顽石云盘自带储存空间,还支持外界储存设备拓展储存空间。在这里来说明一下储存管理。
OnceAir顽石云盘只需要连接电源和路由即可使用,拥有考勤功能,可以作为打卡机来使用,无需用户任何操作即可记录出勤信息。
传统打卡机一般通过指纹识别,人脸识别或芯片识别来实现打卡功能的,简单直观,但是缺点也很明显,统计繁琐,还需要与不同硬件接口对接,容易出现数据传输和兼容故障,可靠性较差,到最后往往只能作为门禁来使用。
不同于传统打卡机,用户在使用OnceAir时,会自动向数据库发送考勤信息。云盘能将时间信息进行整理,在云端自动生成考勤记录,导出并打印考勤报表。
在局域网中使用OnceAir顽石云盘可以很好的保护用户储存的文件,安全性更强。因此其本身是不支持外网访问的,如果用户想要外网访问,就需要在路由器上设置端口映射,设置的方法也很简单。不同的路由器设置方法稍有不同,此次说明TP-link以及水星的设置方法,由于这两种路由器设置方法相似,我就拿TP-link来举例说明。