fefactor: 将尽可能多的逻辑放到lua脚本中处理