以下仅给出关键部分的代码