storage.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. Page({
  2. onShareAppMessage() {
  3. return {
  4. title: '数据存储',
  5. path: 'page/API/pages/storage/storage'
  6. }
  7. },
  8. data: {
  9. key: '',
  10. data: '',
  11. dialog: {
  12. title: '',
  13. content: '',
  14. hidden: true
  15. }
  16. },
  17. keyChange(e) {
  18. this.data.key = e.detail.value
  19. },
  20. dataChange(e) {
  21. this.data.data = e.detail.value
  22. },
  23. getStorage() {
  24. const {key, data} = this.data
  25. let storageData
  26. if (key.length === 0) {
  27. this.setData({
  28. key,
  29. data,
  30. 'dialog.hidden': false,
  31. 'dialog.title': '读取数据失败',
  32. 'dialog.content': 'key 不能为空'
  33. })
  34. } else {
  35. storageData = wx.getStorageSync(key)
  36. if (storageData === '') {
  37. this.setData({
  38. key,
  39. data,
  40. 'dialog.hidden': false,
  41. 'dialog.title': '读取数据失败',
  42. 'dialog.content': '找不到 key 对应的数据'
  43. })
  44. } else {
  45. this.setData({
  46. key,
  47. data,
  48. 'dialog.hidden': false,
  49. 'dialog.title': '读取数据成功',
  50. // eslint-disable-next-line
  51. 'dialog.content': "data: '"+ storageData + "'"
  52. })
  53. }
  54. }
  55. },
  56. setStorage() {
  57. const {key, data} = this.data
  58. if (key.length === 0) {
  59. this.setData({
  60. key,
  61. data,
  62. 'dialog.hidden': false,
  63. 'dialog.title': '保存数据失败',
  64. 'dialog.content': 'key 不能为空'
  65. })
  66. } else {
  67. wx.setStorageSync(key, data)
  68. this.setData({
  69. key,
  70. data,
  71. 'dialog.hidden': false,
  72. 'dialog.title': '存储数据成功'
  73. })
  74. }
  75. },
  76. clearStorage() {
  77. wx.clearStorageSync()
  78. this.setData({
  79. key: '',
  80. data: '',
  81. 'dialog.hidden': false,
  82. 'dialog.title': '清除数据成功',
  83. 'dialog.content': ''
  84. })
  85. },
  86. confirm() {
  87. this.setData({
  88. 'dialog.hidden': true,
  89. 'dialog.title': '',
  90. 'dialog.content': ''
  91. })
  92. }
  93. })