修改了返回数据，让此函数更加通用