v1 添加单例模式