第一次上交

部分模式还没实现
第二次提交

修改Bug，增加模式支持