
随着前后端分离成为互联网项目开发的标准模式, API 成为了前后端联通的桥梁。而面对越来越频繁和复杂的调用需求,项目里的 API 数量也越来越多,我们需要通过搜索功能来快速定位到对应的 API来进行使用。
下面我们会通过这篇文章向大家介绍 Eolink 的全局搜索功能。
| Eolink 全局搜索功能介绍
Eolink 的全局搜索功能支持 API 管理 及 API 自动化测试 两个模块的使用,如图1。

图1
它可以同时完成两种环境的搜索,分别是:
项目内搜索。
全局搜索。
接下来,我们看看在 API 管理 和** API 自动化测试** 的页面中,全局搜索功能会有什么区别。
API 管理与测试
在项目内搜索(图2)和全局搜索(图3)环境下,展示的搜索类型是不一样的,在全局搜索的时候会多一个搜索项目的类型,对比如下图。

图2

图3
API 自动化测试
在 API 自动化测试页面当中,项目内搜索(图4)和全局搜索(图5)环境所展示的搜索类型和在 API 管理与测试页面也是不一样的,对比如下图。

图4
图5
| 全局搜索功能的亮点 - 键盘控制
Eolink 的全局搜索支持键盘控制,使用者可完全脱离鼠标进行使用,体验非常方便。
*** Ctrl + F 键使搜索框聚焦**
*** Tab 键切换搜索环境**
*** 上下键控制选中项**
*** Enter 键确定**
*** Backspace 键可重新输入关键字**
| 全局搜索功能的实现
不同模块全局搜索框有不同的展示和搜索对象,这些都是通过路由和正则表达式一起去进行判断和控制的。

搜索状态不同时,搜索框下方的搜索展示框所展示的内容也是不同的,在搜索框聚焦的时候才会出现搜索展示框。使用 ngSwitch 去控制展示框展示的内容。

*** 搜索框聚焦且没有输入搜索内容时显示搜索历史框
对接 UI 函数统一采用:
fn_watch_ui(inAction:string,inParams:any) 去进行暴露。fn_watch_ui 函数相当于页面访问 js 函数的一个入口。当页面想访问 js 中的某个函数,只有通过这个入口,触发一个动作才会访问到指定的函数。
html 部分示例:

js 示例:


以上就是对 Eolink 全局搜索的介绍以及功能实现的简要描述。它的出现提高了用户的工作效率,让用户快速定位到目标内容。
图中所使用的的接口管理工具是eolink,感兴趣可以自行使用:www.eolink.com
我正在使用i18n从头开始构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在rubyonrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi
我使用Nokogiri(Rubygem)css搜索寻找某些在我的html里面。看起来Nokogiri的css搜索不喜欢正则表达式。我想切换到Nokogiri的xpath搜索,因为这似乎支持搜索字符串中的正则表达式。如何在xpath搜索中实现下面提到的(伪)css搜索?require'rubygems'require'nokogiri'value=Nokogiri::HTML.parse(ABBlaCD3"HTML_END#my_blockisgivenmy_bl="1"#my_eqcorrespondstothisregexmy_eq="\/[0-9]+\/"#FIXMEThefoll
?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------
寻找有用的ruby的好网站是什么? 最佳答案 AgileWebDevelopment列出插件(虽然不是rubygems,我不确定为什么),并允许人们对它们进行评级。RubyToolbox按类别列出gem并比较它们的受欢迎程度。Rubygems有一个搜索框。StackOverflow对最有用的rails插件和rubygems有疑问。 关于ruby-如何搜索有用的ruby,我们在StackOverflow上找到一个类似的问题: https://stacko
我有很多这样的文档:foo_1foo_2foo_3bar_1foo_4...我想通过获取foo_[X]的所有实例并将它们中的每一个替换为foo_[X+1]来转换它们。在这个例子中:foo_2foo_3foo_4bar_1foo_5...我可以用gsub和一个block来做到这一点吗?如果不是,最干净的方法是什么?我真的在寻找一个优雅的解决方案,因为我总是可以暴力破解它,但我觉得有一些正则表达式技巧值得学习。 最佳答案 我(完全)不懂Ruby,但类似这样的东西应该可以工作:"foo_1foo_2".gsub(/(foo_)(\d+)/
我有一个gem,它有一个根据Rails.env的不同行为的方法:defself.envifdefined?(Rails)Rails.envelsif...现在我想编写一个规范来测试这个代码路径。目前我是这样做的:Kernel.const_set(:Rails,nil)Rails.should_receive(:env).and_return('production')...没关系,只是感觉很丑。另一种方法是在spec_helper中声明:moduleRails;end而且效果也很好。但也许有更好的方法?理想情况下,这应该有效:rails=double('Rails')rails.sho
我正在尝试将$stdout设置为临时写入一个文件,然后返回到一个文件。test.rb:old_stdout=$stdout$stdout.reopen("mytestfile.out",'w+')puts"thisgoesinmytestfile"$stdout=old_stdoutputs"thisshouldbeontheconsole"$stdout.reopen("mytestfile1.out",'w+')puts"thisgoesinmytestfile1:"$stdout=old_stdoutputs"thisshouldbebackontheconsole"这是输出。r
我读了"BingSearchAPI-QuickStart"但我不知道如何在Ruby中发出这个http请求(Weary)如何在Ruby中翻译“Stream_context_create()”?这是什么意思?"BingSearchAPI-QuickStart"我想使用RubySDK,但我发现那些已被弃用前(Rbing)https://github.com/mikedemers/rbing您知道Bing搜索API的最新包装器(仅限Web的结果)吗? 最佳答案 好吧,经过一个小时的挫折,我想出了一个办法来做到这一点。这段代码很糟糕,因为它是
在许多ruby类之间共享记录器实例的最佳(正确)方法是什么?现在我只是将记录器创建为全局$logger=Logger.new变量,但我觉得有更好的方法可以在不使用全局变量的情况下执行此操作。如果我有以下内容:moduleFooclassAclassBclassC...classZend在所有类之间共享记录器实例的最佳方式是什么?我是以某种方式在Foo模块中声明/创建记录器还是只是使用全局$logger没问题? 最佳答案 在模块中添加常量:moduleFooLogger=Logger.newclassAclassBclassC..
给定一个元素和一个数组,Ruby#index方法返回元素在数组中的位置。我使用二进制搜索实现了我自己的索引方法,期望我的方法会优于内置方法。令我惊讶的是,内置的在实验中的运行速度大约是我的三倍。有Rubyist知道原因吗? 最佳答案 内置#indexisnotabinarysearch,这只是一个简单的迭代搜索。但是,它是用C而不是Ruby实现的,因此自然可以快几个数量级。 关于Ruby#index方法VS二进制搜索,我们在StackOverflow上找到一个类似的问题: