Storage.ets 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. // PreferenceManager.ets
  2. import preferences from '@ohos.data.preferences';
  3. import common from '@ohos.app.ability.common';
  4. export class Storage {
  5. // 操作对象
  6. private static instance: preferences.Preferences;
  7. /**
  8. * 初始化轻量级存储工具
  9. *
  10. * @param context
  11. */
  12. static init(context: common.UIAbilityContext) {
  13. try {
  14. Storage.instance = preferences.getPreferencesSync(context, { name: 'app_kv_data' })
  15. } catch (error) {
  16. console.log("Storage", "init() failed", error)
  17. }
  18. }
  19. /**
  20. * 设置当前登录状态
  21. * @param value
  22. */
  23. static setLogin(value: boolean) {
  24. try {
  25. Storage.instance.putSync("is_login", value)
  26. Storage.instance.flushSync()
  27. } catch (error) {
  28. console.log("Storage", "setLogin() failed", error)
  29. }
  30. }
  31. /**
  32. * 当前登录状态
  33. *
  34. * @returns
  35. */
  36. static isLogin(): boolean {
  37. try {
  38. return Storage.instance.getSync('is_login', false) === true
  39. } catch (error) {
  40. console.log("Storage", "isLogin() failed", error)
  41. return false
  42. }
  43. }
  44. /**
  45. * 将登录的token存储到本地
  46. *
  47. * @param value
  48. */
  49. static setToken(value: string) {
  50. try {
  51. Storage.instance.putSync("token", value)
  52. Storage.instance.flushSync()
  53. } catch (error) {
  54. console.log("Storage", "setToken() failed", error)
  55. }
  56. }
  57. /**
  58. * 获取存储本地的Token
  59. *
  60. * @returns
  61. */
  62. static getToken(): string {
  63. try {
  64. return Storage.instance.getSync('token', "") as string
  65. } catch (error) {
  66. console.log("Storage", "getToken() failed", error)
  67. return ""
  68. }
  69. }
  70. /**
  71. * 将登录时携带的刷新token存储到本地
  72. *
  73. * @param value
  74. */
  75. static setRefreshToken(value: string) {
  76. try {
  77. Storage.instance.putSync("refresh_token", value)
  78. Storage.instance.flushSync()
  79. } catch (error) {
  80. console.log("Storage", "setRefreshToken() failed", error)
  81. }
  82. }
  83. /**
  84. * 获取存储本地的刷新Token
  85. *
  86. * @returns
  87. */
  88. static getRefreshToken(): string {
  89. try {
  90. return Storage.instance.getSync('refresh_token', "") as string
  91. } catch (error) {
  92. console.log("Storage", "getRefreshToken() failed", error)
  93. return ""
  94. }
  95. }
  96. }