存储模块提供的 JS 不能直接在页面<script>标签中使用,但在开发 MIP 组件时可以在组件 JS 中引用。

存储模块为站点提供数据存储的功能,包括 localStorage 存储方式、通过 fetch 请求携带存储数据,站点自行在后端管理存储的方式。

示例

  1. var util = require('util');
  2. var CustomStorage = util.customStorage;
  3. var storage = new CustomStorage([type]);

API

new util.customStorage(type)

customStorage 类,用于初始化存储对象。

参数列表

参数 类型 必选 描述
type number type为存储类型,0表示 localStorage存储,1表示站点管理存储

示例

  1. var CustomStorage = util.customStorage;
  2. var storage = new CustomStorage(0);

customStorage.set(name, value, [expire], [callback])

设置当前站点下的存储。

参数列表

参数 类型 必选 描述
name string 存储名称
value string 存储值
expire number 存储的过期时间,指的是当前站点整个存储的过期时间,单位为ms
callback Function 存储出现问题时的回调

示例

  1. btn.onclick = function() {
  2. customStorage.set('name', 'jake');
  3. customStorage.set('age', '22');
  4. }

callback返回的error对象结构

参数 类型 描述
errCode string 错误号,21为当前站点存储超限,22为整个localStorage存储空间不足
errMess string 错误信息

customStorage.get(name)

获取当前站点下的存储。

参数列表

参数 类型 必选 描述
name string 存储名称

示例

  1. var name = customStorage.get(name);

customStorage.rm(name)

删除当前站点下的存储。

参数列表

参数 类型 必选 描述
name string 存储名称

示例

  1. customStorage.rm('name');

customStorage.rmExpires()

删除整个localStorage存储中过期的站点存储数据。

示例

  1. customStorage.rmExpires();

customStorage.clear()

清空当前站点下数据存储。

示例

  1. customStorage.clear();

customStorage.request(opt)

通过该方法发起请求,将数据通过请求传给站长,由站点自行对数据进行设置或获取;请求通过fetch的方式发出,具体可参考 mdn 提供的使用fetchGlobalFetch.fetch()两篇文章。

参数列表

参数 类型 必选 描述
url string 发送请求的地址
method string 默认为get,请求方法 (GET, POST, or other)
mode string 请求的模式,如 cors, no-cors, same-origin
headers Object 请求的头信息,形式为 Headers 对象或 yteString
body Object 请求的 body 信息,可能是一个 Blob、BufferSource、FormData、URLSearchParams 或者 USVString 对象,注意 GET 或 HEAD 方法的请求不能包含 body 信息
credentials string 请求的 credentials,如omit、same-origin 或者 include
cache string 请求的 cache 模式: default, no-store, reload, no-cache, force-cache, or only-if-cached

示例

  1. storage1.request({
  2. url: 'http://example.com/',
  3. type: 'POST',
  4. data: JSON.stringify({
  5. name: 'jack',
  6. age: 22
  7. }),
  8. success: function() {
  9. console.log('success');
  10. },
  11. error: function(e) {
  12. console.log(e);
  13. }
  14. });

后端配置

请求采用 cors (跨域资源共享)的方式,需要站点后端配置 response header 才能使用,配置方式如下:

Access-Control-Allow-origin: origin,这个设置为允许跨站访问的域名,可以为百度 cache 域名和站长域名,不建议设置为*,目前百度 cache 域名需配置如下两个,分别为 mipcache.bdstatic.com*.mipcdn.com