拆分逻辑，完成demo