功能完善

多考虑一些情况