存储

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

示例

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

API

new util.customStorage(type)

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

参数列表

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

示例

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

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

设置当前站点下的存储。

参数列表

参数类型必选描述
namestring存储名称
valuestring存储值
expirenumber存储的过期时间,指的是当前站点整个存储的过期时间,单位为ms
callbackFunction存储出现问题时的回调

示例

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

callback返回的error对象结构

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

customStorage.get(name)

获取当前站点下的存储。

参数列表

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

示例

var name = customStorage.get(name);

customStorage.rm(name)

删除当前站点下的存储。

参数列表

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

示例

customStorage.rm('name');

customStorage.rmExpires()

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

示例

customStorage.rmExpires();

customStorage.clear()

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

示例

customStorage.clear();

customStorage.request(opt)

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

参数列表

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

示例

storage1.request({
    url: 'http://example.com/',
    type: 'POST',
    data: JSON.stringify({
      name: 'jack',
      age: 22
    }),
    success: function() {
      console.log('success');
    },
    error: function(e) {
      console.log(e);
    }
});

后端配置

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

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