项目里的需求是, 在输入框输入快捷命令执行一些动作, 比如:
当选择完了动作后是这样的:
- 输入框里的sendMessage是一个动作名, 代码逻辑里其实映射了一个id.
- 后面的receiver和content也是动态选出来的参数.
- test1是执行的服务器名, 前面加!是为了标记这是一个执行资源.
以上就是输入框里展示出来的含义, 背后映射的是动作id, 参数列表,和执行资源id. 这些都是用正则匹配完成的, 感觉不是很好.
有没有做过类似需求的, 请教下有啥好的实现思路.
项目里的需求是, 在输入框输入快捷命令执行一些动作, 比如:
当选择完了动作后是这样的:
以上就是输入框里展示出来的含义, 背后映射的是动作id, 参数列表,和执行资源id. 这些都是用正则匹配完成的, 感觉不是很好.
有没有做过类似需求的, 请教下有啥好的实现思路.
有!
借助 jison ,可以实现任何外部 DSL
,甚至可以实现任何编程语言的语法解析。但这是利器,也是重器,这种场景用,还不如正则。
开发快捷命令给普通用户使用是两头不讨好的行为,开发困难,用户学习起来也很麻烦。
这种操作完全可以用按钮、表单来完成,最多再加一个导出命令的功能,导出的命令可读性要求不高,JSON
完全可以胜任,大不了就加一段文字注释。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
1 回答3.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
感觉完全可以直接用JSON啊
键名要是缩减下没有多几个字符,直观不是一点半点,扩展也简单,还是原生解析。