重构天气引擎