Rule模块大改，增加拖入打开功能

我真的不知道我之前脑残到啥程度了啊，居然数据模块依赖View了，现在把依赖倒转过来了。。并降低了一下耦合。