修改函数视图为类视图，优化代码