storage

Storage模块管理应用本地数据存储区,用于应用数据的保存和读取。应用本地数据与localStorage、sessionStorage的区别在于数据有效域不同,前者可在应用内跨域操作,数据存储期是持久化的,并且没有容量限制。通过plus.storage可获取应用本地数据管理对象。

方法:

  • getLength: 获取应用存储区中保存的键值对的个数
  • getItem: 通过键(key)检索获取应用存储的值
  • setItem: 修改或添加键值(key-value)对数据到应用数据存储中
  • removeItem: 通过key值删除键值对存储的数据
  • clear: 清除应用所有的键值对存储数据
  • key: 获取键值对中指定索引值的key值

权限:

5+功能模块(permissions)

  1. {
  2. // ...
  3. "permissions":{
  4. // ...
  5. "Storage": {
  6. "description": "本地存储,访问应用本地存储数据"
  7. }
  8. }
  9. }

getLength

获取应用存储区中保存的键值对的个数

  1. var foo = plus.storage.getLength();

参数:

返回值:

Number: 键值对的个数

示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Storage Example</title>
  6. <script type="text/javascript">
  7. // H5 plus事件处理
  8. function plusReady(){
  9. }
  10. document.addEventListener("plusready",plusReady,false);
  11. // Get storage item length
  12. function storageCount() {
  13. return plus.storage.getLength();
  14. }
  15. </script>
  16. </head>
  17. <body>
  18. 获取应用存储区中保存的键值对的个数<br/>
  19. <button onclick="storageCount()">Count</button>
  20. </body>
  21. </html>

uni-app使用plus注意事项

getItem

通过键(key)检索获取应用存储的值

  1. var foo = plus.storage.getItem(key);

参数:

  • key: (DOMString)必选 存储的键值

返回值:

DOMString: 键(key)对应应用存储的值,如果没有保存则返回null。

示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Storage Example</title>
  6. <script type="text/javascript">
  7. // H5 plus事件处理
  8. function plusReady(){
  9. }
  10. document.addEventListener("plusready",plusReady,false);
  11. // Get storage item value
  12. function getStorage() {
  13. return plus.storage.getItem("test");
  14. }
  15. </script>
  16. </head>
  17. <body>
  18. 获取应用存储区中保存的键值对的个数<br/>
  19. <button onclick="alert(getStorage())">Get item(test)</button>
  20. </body>
  21. </html>

uni-app使用plus注意事项

setItem

修改或添加键值(key-value)对数据到应用数据存储中

  1. void plus.storage.setItem(key, value);

说明:

如果设置的键在应用数据存储中已经存在,更新存储的键值。存储的键和值没有容量限制,但过多的数据量会导致效率降低,建议单个键值数据不要超过10Kb。

参数:

  • key: (DOMString)必选 存储的键值
  • value: (DOMString)必选 存储的内容

返回值:

void: 无

示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Storage Example</title>
  6. <script type="text/javascript">
  7. // H5 plus事件处理
  8. function plusReady(){
  9. }
  10. document.addEventListener("plusready",plusReady,false);
  11. // Remove storage item
  12. function setStorage() {
  13. plus.storage.setItem("test","test with hbuilder!");
  14. }
  15. </script>
  16. </head>
  17. <body>
  18. 修改或添加键值(key-value)对数据到应用数据存储中<br/>
  19. <button onclick="setStorage()">Set item(test)</button>
  20. </body>
  21. </html>

uni-app使用plus注意事项

removeItem

通过key值删除键值对存储的数据

  1. void plus.storage.removeItem(key);

参数:

  • key: (DOMString)必选 存储的键值

返回值:

void: 无

示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Storage Example</title>
  6. <script type="text/javascript">
  7. // H5 plus事件处理
  8. function plusReady(){
  9. }
  10. document.addEventListener("plusready",plusReady,false);
  11. // Remove storage item
  12. function removeStorage() {
  13. plus.storage.removeItem("test");
  14. }
  15. </script>
  16. </head>
  17. <body>
  18. 清除应用所有的键值对存储数据<br/>
  19. <button onclick="removeStorage()">Remove item(test)</button>
  20. </body>
  21. </html>

uni-app使用plus注意事项

clear

清除应用所有的键值对存储数据

  1. void plus.storage.clear();

参数:

返回值:

void: 无

示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Storage Example</title>
  6. <script type="text/javascript">
  7. // H5 plus事件处理
  8. function plusReady(){
  9. }
  10. document.addEventListener("plusready",plusReady,false);
  11. // Clear storage data
  12. function clearStorage() {
  13. plus.storage.clear();
  14. }
  15. </script>
  16. </head>
  17. <body>
  18. 清除应用所有的键值对存储数据<br/>
  19. <button onclick="clearStorage()">Clear</button>
  20. </body>
  21. </html>

uni-app使用plus注意事项

key

获取键值对中指定索引值的key值

  1. var foo = plus.storage.key(index);

参数:

  • index: (Number)必选 存储键值的索引

返回值:

void: 无

示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Storage Example</title>
  6. <script type="text/javascript">
  7. // H5 plus事件处理
  8. function plusReady(){
  9. }
  10. document.addEventListener("plusready",plusReady,false);
  11. // Get value by index
  12. function enumValueByIndex() {
  13. var keyNames=[];
  14. var values=[];
  15. var numKeys=plus.storage.getLength();
  16. for(var i=0; i<numKeys; i++) {
  17. keyNames[i] = plus.storage.key(i);
  18. values[i] = plus.storage.getItem(keyNames[i]);
  19. }
  20. }
  21. </script>
  22. </head>
  23. <body>
  24. 获取键值对中指定索引值的key值<br/>
  25. <button onclick="enumValueByIndex()">Enum</button>
  26. </body>
  27. </html>

uni-app使用plus注意事项