StorageUtil.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /**
  2. * 本地存储工具类
  3. * @author 冯聪
  4. */
  5. export default class StorageUtil {
  6. /**
  7. * 获取存储
  8. * @param key key值
  9. * @param decrypt 是否需要解密
  10. */
  11. public getStorage(key: string, decrypt = true): any {
  12. let value = cc.sys.localStorage.getItem(key);
  13. if (value) {
  14. try {
  15. if (decrypt) {
  16. value = mk.encrypt.decrypt(value, gData.storageData.storageKey, gData.appData.appId);
  17. }
  18. else {
  19. value = JSON.parse(value);
  20. }
  21. return value;
  22. }
  23. catch (err) {
  24. return value;
  25. }
  26. }
  27. else {
  28. return null;
  29. }
  30. }
  31. /**
  32. * 存储
  33. * @param key key值
  34. * @param value 要存储的value值
  35. * @param encrypt 是否需要加密
  36. */
  37. public setStorage(key: string, value: any, encrypt: boolean = true) {
  38. if (encrypt) {
  39. value = mk.encrypt.encrypt(value, gData.storageData.storageKey, gData.appData.appId);
  40. cc.sys.localStorage.setItem(key, value);
  41. }
  42. else {
  43. cc.sys.localStorage.setItem(key, JSON.stringify(value));
  44. }
  45. }
  46. /**
  47. * 清除所有缓存
  48. */
  49. public clear() {
  50. cc.sys.localStorage.clear();
  51. }
  52. }