全部產品
Search
文件中心

Mobile Platform as a Service:緩衝

更新時間:Jul 13, 2024

緩衝的機制是根據 appId 和 userId 進行本機快取,因此在使用緩衝前需要使用 MPLogger.setUserId(String userId); 方法設定白名單 ID。

my.setStorage

將資料存放區在本機快取中指定的 key 中,會覆蓋原來該 key 對應的資料。

說明

  • mPaaS 10.1.32 及以上版本支援該介面。

  • 這是非同步介面。

  • 支援內嵌 webview 的儲存與小程式儲存隔離,內嵌 webview 中指定 key 儲存資料不會覆蓋小程式自身相同 key 對應的資料。

入參

名稱

類型

必填

描述

key

String

快取資料的 key

data

Object/String

要緩衝的資料

success

Function

調用成功的回呼函數

fail

Function

調用失敗的回呼函數

complete

Function

調用結束的回呼函數(調用成功、失敗都會執行)

程式碼範例

my.setStorage({
  key: 'currentCity',
  data: {
    cityName: '杭州',
    adCode: '330100',
    spell: ' hangzhou',
  },
  success: function() {
    my.alert({content: '寫入成功'});
  }
});
說明

單條資料轉換成字串後,字串長度最大 200*1024。同一個用戶端使用者,同一個小程式緩衝總上限為 10 MB。

其他資訊

  • 快取資料本地加密儲存,通過 API 讀取時會自動解密返回。

  • iOS 用戶端支援 iTunes 備份。

my.setStorageSync

同步將資料存放區在本機快取中指定的 key 中。

說明

  • mPaaS 10.1.32 及以上版本支援該介面。

  • 這是同步介面。

入參

名稱

類型

必填

描述

key

String

快取資料的 key

data

Object/String

要緩衝的資料

程式碼範例

my.setStorageSync({
  key: 'currentCity',
  data: {
    cityName: '杭州',
    adCode: '330100',
    spell: ' hangzhou',
  }
});

其他資訊

  • 快取資料本地加密儲存,通過 API 讀取時會自動解密返回。

  • iOS 用戶端支援 iTunes 備份。

my.getStorage

擷取快取資料。

說明

  • mPaaS 10.1.32 及以上版本支援該介面。

  • 這是非同步介面。

  • 支援內嵌 webview 內緩與小程式緩衝隔離,擷取內嵌 webview 指定 key 的緩衝不會同時返回小程式相同 key 下的快取資料。

入參

名稱

類型

必填

描述

key

String

快取資料的 key

success

Function

調用成功的回呼函數

fail

Function

調用失敗的回呼函數

complete

Function

調用結束的回呼函數(調用成功、失敗都會執行)

success 傳回值

名稱

類型

說明

data

Object/String

key 對應的內容

程式碼範例

my.getStorage({
  key: 'currentCity',
  success: function(res) {
    my.alert({content: '擷取成功:' + res.data.cityName});
  },
  fail: function(res){
    my.alert({content: res.errorMessage});
  }
});

其他資訊

  • 快取資料本地加密儲存,通過 API 讀取時會自動解密返回。

  • iOS 用戶端支援 iTunes 備份。

my.getStorageSync

同步擷取快取資料。

說明

  • mPaaS 10.1.32 及以上版本支援該介面。

  • 這是同步介面。

入參

名稱

類型

必填

描述

key

String

快取資料的 key

傳回值

名稱

類型

說明

data

Object/String

key 對應的內容

程式碼範例

let res = my.getStorageSync({ key: 'currentCity' });
 my.alert({
    content: JSON.stringify(res.data),
 });

其他資訊

  • 快取資料本地加密儲存,通過 API 讀取時會自動解密返回。

  • iOS 用戶端支援 iTunes 備份。

my.removeStorage

刪除快取資料。

說明

  • mPaaS 10.1.32 及以上版本支援該介面。

  • 這是非同步介面。

  • 移除內嵌 webview 的儲存資料時不會移除當前小程式的儲存資料。

入參

名稱

類型

必填

描述

key

String

快取資料的 key

success

Function

調用成功的回呼函數

fail

Function

調用失敗的回呼函數

complete

Function

調用結束的回呼函數(調用成功、失敗都會執行)

程式碼範例

my.removeStorage({
  key: 'currentCity',
  success: function(){
    my.alert({content: '刪除成功'});
  }
});

其他資訊

  • 快取資料本地加密儲存,通過 API 讀取時會自動解密返回。

  • iOS 用戶端支援 iTunes 備份。

my.removeStorageSync

刪除快取資料。

說明

  • mPaaS 10.1.32 及以上版本支援該介面。

  • 這是同步介面。

入參

名稱

類型

必填

描述

key

String

快取資料的 key

程式碼範例

my.removeStorageSync({
  key: 'currentCity',
});

其他資訊

  • 快取資料本地加密儲存,通過 API 讀取時會自動解密返回。

  • iOS 用戶端支援 iTunes 備份。

my.clearStorage

清除本機資料緩衝。

說明

  • mPaaS 10.1.32 及以上版本支援該介面。

  • 這是非同步介面。

  • 清空內嵌 webview 的儲存時不會同時清空當前小程式本身的儲存資料。

程式碼範例

my.clearStorage()

其他資訊

  • 快取資料本地加密儲存,通過 API 讀取時會自動解密返回。

  • iOS 用戶端支援 iTunes 備份。

my.clearStorageSync

清除本機資料緩衝。

說明

  • mPaaS 10.1.32 及以上版本支援該介面。

  • 這是同步介面。

程式碼範例

my.clearStorageSync()

其他資訊

  • 快取資料本地加密儲存,通過 API 讀取時會自動解密返回。

  • iOS 用戶端支援 iTunes 備份。

my.getStorageInfo

非同步擷取當前 storage 的相關資訊。

說明

  • mPaaS 10.1.32 及以上版本支援該介面。

  • 這是非同步介面。

  • 在內嵌 webview 內擷取當前 storage 的相關資訊不會擷取到當前小程式 storage 的相關資訊。

入參

名稱

類型

必填

描述

success

Function

調用成功的回呼函數

fail

Function

調用失敗的回呼函數

complete

Function

調用結束的回呼函數(調用成功、失敗都會執行)

success 傳回值

名稱

類型

說明

keys

StringArray

當前 storage 中所有的 key

currentSize

Number

當前佔用的空間大小, 單位為 KB

limitSize

Number

限制的空間大小,單位為 KB

程式碼範例

my.getStorageInfo({
  success: function(res) {
    console.log(res.keys)
    console.log(res.currentSize)
    console.log(res.limitSize)
  }
})

其他資訊

  • 快取資料本地加密儲存,通過 API 讀取時會自動解密返回。

  • iOS 用戶端支援 iTunes 備份。

my.getStorageInfoSync

同步擷取當前 storage 的相關資訊。

說明

  • mPaaS 10.1.32 及以上版本支援該介面。

  • 這是同步介面。

傳回值

名稱

類型

說明

keys

StringArray

當前 storage 中所有的 key

currentSize

Number

當前佔用的空間大小, 單位為 KB

limitSize

Number

限制的空間大小,單位為 KB

程式碼範例

var res = my.getStorageInfoSync()
console.log(res.keys)
console.log(res.currentSize)
console.log(res.limitSize)

其他資訊

  • 快取資料本地加密儲存,通過 API 讀取時會自動解密返回。

  • 覆蓋安裝應用(不是先刪除再安裝),不會導致小程式緩衝失效。

  • 應用設定中心清除緩衝不會導致小程式緩衝失效。

  • 小程式緩衝預設具有應用帳號和小程式 ID 兩級隔離。

  • iOS 用戶端支援 iTunes 備份。