添加逻辑（未完成，但是基本逻辑在）