前端函数封装