虽然最后的用户验证机制有点问题,但基本的功能都实现了,可以参考一下总体的架构及源码