加入拦截器，重构代码