在快码FOF后端服务中提供了一个链接视图的功能,该功能可以绑定URL触发不同的方法,使用方案参考如下:
HTTP服务类.启动服务(
{
"端口": 8081,
"域名": "0.0.0.0",
"链接视图": [
{ "url": "/我是绑定视图", "回调方法": 我是绑定视图方法 },
{ "url": "/我是绑定视图2", "回调方法": 我是绑定视图方法2 },
],
},
(反馈信息) => {
调试输出(反馈信息);
},
(访问信息, 整体信息) => {
调试输出(访问信息);
返回 { "发送数据": "你好,世界", "数据协议": HTTP服务类.获取数据协议("html") };
}
);
异步 定义函数 我是绑定视图方法(访问信息, 整体信息){
访问信息["主动发送"]({"发送数据": "我是方法1", "数据协议": HTTP服务类.获取数据协议("html")})
}
异步 定义函数 我是绑定视图方法2(访问信息, 整体信息){
访问信息["主动发送"]({"发送数据": "我是方法2", "数据协议": HTTP服务类.获取数据协议("html")})
}
JavaScript
Copy
在上述的方法中,浏览器访问:http://127.0.0.1:8081/我是绑定视图 和 http://127.0.0.1:8081/我是绑定视图 会分别触发我是绑定视图方法及我是绑定视图方法2这两个函数
这是一个非常友好的功能,但是在一些开发场景中,我们常常需要在触发绑定视图方法之前做一个统一的验签,例如验证:cookie等信息;这在早期的版本中是非常繁琐的;于是快码FOF推出了"链接视图验签"属性,该属性的作用是在触发"链接视图"前会先触发"链接视图验签"的方法,以方便进行cookie等验证,具体使用方案参考如下:
HTTP服务类.启动服务(
{
"端口": 8081,
"域名": "0.0.0.0",
"链接视图": [
{ "url": "/我是绑定视图", "回调方法": 我是绑定视图方法 },
{ "url": "/我是绑定视图2", "回调方法": 我是绑定视图方法2 },
],
"链接视图验签":{
"回调方法":验签方法,
"初始链接":["/我是绑定视图","/我是绑定视图2"]
},
},
(反馈信息) => {
调试输出(反馈信息);
},
(访问信息, 整体信息) => {
调试输出(访问信息);
返回 { "发送数据": "你好,世界", "数据协议": HTTP服务类.获取数据协议("html") };
}
);
异步 定义函数 我是绑定视图方法(访问信息, 整体信息){
访问信息["主动发送"]({"发送数据": "我是方法1", "数据协议": HTTP服务类.获取数据协议("html")})
}
异步 定义函数 我是绑定视图方法2(访问信息, 整体信息){
访问信息["主动发送"]({"发送数据": "我是方法2", "数据协议": HTTP服务类.获取数据协议("html")})
}
异步 定义函数 验签方法(访问信息, 整体信息){
//所有在"链接视图验签"中设置了验签的URL都会在触发"链接视图"方法前触发本函数
//本函数返回假则会继续触发"链接视图"方法或者GET、POST事件;返之不会
如果 (访问信息["路径"]=="/我是绑定视图2") {
访问信息["主动发送"]({"发送数据": "我被拦截了,这是我发送的数据", "数据协议": HTTP服务类.获取数据协议("html")})
返回 真
}
返回 假
}
JavaScript
Copy
知识点:"链接视图验签"属性的值为一个对象,其中"回调方法":验签方法 用来定义全局验签函数,所有被 "初始链接":[] 绑定的链接,都会被"回调方法":验签方法 提前触发,触发后用来进行相关的验证,当"回调方法":验签方法 方法返回假才会继续触发"链接视图"中的方法或者GET及POST事件,否则不会触发"链接视图"方法