Skip to content

qin.setStorage(OBJECT) ​

将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。

OBJECT 参数说明

参数名类型必填说明
keyString是本地缓存中的指定的 key
dataAny是需要存储的内容,只支持原生类型、及能够通过 JSON.stringify 序列化的对象
successFunction否接口调用成功的回调函数
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

示例

js
qin.setStorage({
  key: 'storage_key',
  data: 'hello',
  success: () => {
    console.log('success');
  },
});
qin.setStorage({
  key: 'storage_key',
  data: 'hello',
  success: () => {
    console.log('success');
  },
});

注意

  • qin-、qin_ 为前缀的key,为系统保留关键前缀。如 qin_deviceId 、 qin_id_token ,请开发者为key命名时避开这些前缀。

qin.setStorageSync(KEY, DATA) ​

将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。

OBJECT 参数说明

参数类型必填说明
keyString是本地缓存中的指定的 key
dataAny是需要存储的内容,只支持原生类型、及能够通过 JSON.stringify 序列化的对象
js
try {
  qin.setStorageSync('storage_key', 'hello');
} catch (e) {
  // error
}
try {
  qin.setStorageSync('storage_key', 'hello');
} catch (e) {
  // error
}

qin.getStorage(OBJECT) ​

从本地缓存中异步获取指定 key 对应的内容。

OBJECT 参数说明

参数名类型必填说明
keyString是本地缓存中的指定的 key
successFunction是接口调用的回调函数, res = {data: key对应的内容}
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

success 返回参数说明

参数类型说明
dataAnykey 对应的内容

示例

js
qin.getStorage({
  key: 'storage_key',
  success: (theRes) => {
    console.log(theRes.data);
  },
});
qin.getStorage({
  key: 'storage_key',
  success: (theRes) => {
    console.log(theRes.data);
  },
});

qin.getStorageSync(KEY) ​

从本地缓存中同步获取指定 key 对应的内容。

参数说明

参数类型必填说明
keyString是本地缓存中的指定的 key

示例

js
try {
  const value = qin.getStorageSync('storage_key');
  if (value) {
    console.log(value);
  }
} catch (e) {
  // error
}
try {
  const value = qin.getStorageSync('storage_key');
  if (value) {
    console.log(value);
  }
} catch (e) {
  // error
}

qin.getStorageInfo(OBJECT) ​

异步获取当前 storage 的相关信息。

平台差异说明

H5微信小程序抖音小程序小红书小程序快手小程序
√√√√√

OBJECT 参数说明

参数名类型必填说明
successFunction是接口调用的回调函数,详见返回参数说明
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

success 返回参数说明

参数类型说明
keysArray<String>当前 storage 中所有的 key
currentSizeNumber当前占用的空间大小, 单位:kb
limitSizeNumber限制的空间大小, 单位:kb

示例

js
qin.getStorageInfo({
  success: (theRes) => {
    console.log(theRes.keys);
    console.log(theRes.currentSize);
    console.log(theRes.limitSize);
  },
});
qin.getStorageInfo({
  success: (theRes) => {
    console.log(theRes.keys);
    console.log(theRes.currentSize);
    console.log(theRes.limitSize);
  },
});

qin.getStorageInfoSync() ​

同步获取当前 storage 的相关信息。

平台差异说明

H5微信小程序抖音小程序小红书小程序快手小程序
√√√√√

示例

js
try {
  const res = qin.getStorageInfoSync();
  console.log(res.keys);
  console.log(res.currentSize);
  console.log(res.limitSize);
} catch (e) {
  // error
}
try {
  const res = qin.getStorageInfoSync();
  console.log(res.keys);
  console.log(res.currentSize);
  console.log(res.limitSize);
} catch (e) {
  // error
}

qin.removeStorage(OBJECT) ​

从本地缓存中异步移除指定 key。

OBJECT 参数说明*

参数名类型必填说明
keyString是本地缓存中的指定的 key
successFunction是接口调用的回调函数
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

示例

js
qin.removeStorage({
  key: 'storage_key',
  success: () => {
    console.log('success');
  },
});
qin.removeStorage({
  key: 'storage_key',
  success: () => {
    console.log('success');
  },
});

qin.removeStorageSync(KEY) ​

从本地缓存中同步移除指定 key。

参数说明

参数名类型必填说明
keyString是本地缓存中的指定的 key

示例

js
try {
  qin.removeStorageSync('storage_key');
} catch (e) {
  // error
}
try {
  qin.removeStorageSync('storage_key');
} catch (e) {
  // error
}

qin.clearStorage() ​

清理本地数据缓存。

示例

js
qin.clearStorage();
qin.clearStorage();

qin.clearStorageSync() ​

同步清理本地数据缓存。

示例

js
try {
  qin.clearStorageSync();
} catch (e) {
  // error
}
try {
  qin.clearStorageSync();
} catch (e) {
  // error
}

注意

  • H5 端为 localStorage,浏览器限制 5M 大小,是缓存概念,可能会被清理
  • 各个小程序端为其自带的 storage api ,数据存储生命周期跟小程序本身一致,即除用户主动删除或超过一定时间被自动清理,否则数据都一直可用。
  • 微信小程序单个 key 允许存储的最大数据长度为 1MB ,所有数据存储上限为 10MB 。
  • 清空Storage 会导致 qin.getSystemInfo 获取到的 deviceId 改变
  • 除此之外, H5 端其他数据存储方案还支持 websql 、 indexedDB 、 sessionStorage