涉及到 localstorage 的最好都封装一下