store.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <template>
  2. <basic-container>
  3. <h3>存储</h3>
  4. <el-tag class="title"
  5. size="small">基本读写删(持久化存储)
  6. </el-tag>
  7. <div class="box">
  8. <el-button type="primary"
  9. size="small"
  10. @click="setItem({name:'username', value:'avuex'});">set('username', 'avuex')
  11. </el-button>
  12. <el-button type="success"
  13. size="small"
  14. @click="getItem({name:'username'});">get('username')
  15. </el-button>
  16. <el-button type="danger"
  17. size="small"
  18. @click="delItem({name:'username'});">remove('username')
  19. </el-button>
  20. </div>
  21. <el-tag class="title"
  22. size="small">设置session(session存储)
  23. </el-tag>
  24. <div class="box">
  25. <el-button type="primary"
  26. size="small"
  27. @click="setItem({name:'username', value:'avuex',type:'session'});">set('username', 'avuex')
  28. </el-button>
  29. <el-button type="success"
  30. size="small"
  31. @click="getItem({name:'username',type:'session'});">get('username')
  32. </el-button>
  33. <el-button type="danger"
  34. size="small"
  35. @click="delItem({name:'username',type:'session'});">remove('username')
  36. </el-button>
  37. </div>
  38. <el-tag class="title"
  39. size="small">获取所有可以获得的数据
  40. </el-tag>
  41. <div class="box">
  42. <el-button type="success"
  43. size="small"
  44. @click="getAll()">getAll(持久化存储)
  45. </el-button>
  46. <el-button type="success"
  47. size="small"
  48. @click="getAll({type:'session'})">getAll(session存储)
  49. </el-button>
  50. <el-button type="danger"
  51. size="small"
  52. @click="clearAll()">delAll(持久化存储)
  53. </el-button>
  54. <el-button type="danger"
  55. size="small"
  56. @click="clearAll({type:'session'})">delAll(session存储)
  57. </el-button>
  58. </div>
  59. </basic-container>
  60. </template>
  61. <script>
  62. import {
  63. setStore,
  64. getStore,
  65. removeStore,
  66. clearStore,
  67. getAllStore
  68. } from "@/util/store";
  69. export default {
  70. name: "store",
  71. methods: {
  72. setItem(params = {}) {
  73. const {name, value, type} = params;
  74. setStore({
  75. name: name,
  76. content: value,
  77. type: type
  78. });
  79. this.$message(`设置数据 ${name} = ${value}`);
  80. },
  81. getItem(params = {}) {
  82. const {name, type} = params;
  83. const content = getStore({
  84. name: name,
  85. type: type
  86. });
  87. this.$message(`获取数据 ${name} = ${content}`);
  88. },
  89. delItem(params = {}) {
  90. const {name, type} = params;
  91. removeStore({name, type});
  92. this.$message(`删除数据 ${name}`);
  93. },
  94. clearAll(params = {}) {
  95. clearStore(params);
  96. this.$message(`清除全部数据完成`);
  97. },
  98. getAll(params = {}) {
  99. const list = getAllStore(params);
  100. window.console.log(list);
  101. this.$message(`结果已经打印到控制台`);
  102. }
  103. }
  104. };
  105. </script>
  106. <style lang="scss">
  107. .title {
  108. margin-bottom: 10px;
  109. }
  110. .box {
  111. margin-bottom: 20px;
  112. }
  113. </style>