自己写的一些可复用代码