参考别人的代码写的