命令行这个功能在系统中是个比较核心的功能,几乎所有的界面都可以通过命令行调用出来,在系统中,虽然实现了菜单功能,但是对于一个熟练的操作者,使用命令行则操作更快,截止到现在,工作了这么多年,这也是唯一实现命令行功能的系统,其他系统都没有跳出菜单这个框架,因此,有必要单独讲下这个功能。
根据系统的功能,使用命令行可以调出特定模块的界面,实现增删改查的功能,在增改功能中,还可以为某些字段设置特定值,举例如下:
模块 | 功能 | 命令行 |
模块1 -m1 | 增 -c | m1.c.field1:value1;field2:value2 |
删 -d | m1.d.code:code1 | |
改 -u | m1.u.code:code1;field1:value1;field2:value2 | |
查 -r | m1.r.code:code1 |
在上面例子中,对于模块1,分别实现了增删改查的功能,假定code字段为该模块数据的主键,于是可以使用上述命令行来实现这些功能。如果主键有多个字段,也许可以设计下,使用‘&‘字符来分隔拼接多个字段。再结合我们的系统中,用户操作区共有六个tab,用户需要先选择一个tab,再执行这个命令行,多个tab执行多个命令行时是由后台线程异步完成的,避免UI线程被锁死。
对于命令行的数据格式还需要做合法性检查,假设field1是个日期字段,不能输入一个整型值,field2是个整型值,也不能输入一个日期或其他不合法的字符串进去,这些合法性检查可以通过正则表达式完成。
另外,关于命令行完成时的确认消息返回,正如前面介绍到的,在消息栏有消息显示功能,当确认消息返回时,可以追加显示。当然,如果中间执行过程中出现异常时,也可以在消息栏以红色醒目字体显示,便于用户快速的捕捉到这些消息进行后续处理。
该命令行功能已经实现多年了,现在算来也有十五年以上历史了,只是这么优秀的一个功能点,在后续工作的项目中竟也没有遇到过,大家还是执着于菜单的点击点击,不得不说这是一个巨大的损失。
发表回复