自己写的框架代码