forked from ccsens_fe/tall-mui-3
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
2.3 KiB
112 lines
2.3 KiB
export default {
|
|
/**
|
|
* 设置本地存储 同步
|
|
* @param {string} key
|
|
* @param {*} data
|
|
*/
|
|
setStorageSync(key, data) {
|
|
const value = typeof data === 'string' ? data : JSON.stringify(data);
|
|
uni.setStorageSync(key, value);
|
|
},
|
|
|
|
/**
|
|
* 获取本地存储的信息 根据key
|
|
* @param {string} key
|
|
* @return {string}
|
|
*/
|
|
getStorageSync(key) {
|
|
return uni.getStorageSync(key);
|
|
},
|
|
|
|
/**
|
|
* 根据key移除某条数据 同步
|
|
* @param {string} key
|
|
*/
|
|
removeStorageSync(key) {
|
|
uni.removeStorageSync(key);
|
|
},
|
|
|
|
/**
|
|
* 清楚全部数据 同步
|
|
*/
|
|
clearStorageSync() {
|
|
uni.clearStorageSync();
|
|
},
|
|
|
|
/**
|
|
* 设置本地存储 异步
|
|
* @param {string} key
|
|
* @param {*} data
|
|
*/
|
|
setStorage(key, data) {
|
|
uni.$t.storage.checkCapacity();
|
|
return new Promise((resolve, reject) => {
|
|
const value = typeof data === 'string' ? data : JSON.stringify(data);
|
|
uni.setStorage({
|
|
key,
|
|
data: value,
|
|
success() {
|
|
resolve(`数据${key}存储成功`);
|
|
},
|
|
fail() {
|
|
reject(`数据${key}存储失败`);
|
|
},
|
|
});
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 获取本地存储的信息 根据key 异步
|
|
* @param {string} key
|
|
* @return {string}
|
|
*/
|
|
getStorage(key) {
|
|
return new Promise((resolve, reject) => {
|
|
uni.getStorage({
|
|
key,
|
|
success(res) {
|
|
resolve(res.data);
|
|
},
|
|
fail(error) {
|
|
reject(`数据${key}获取失败, error: ${error.errMsg}`);
|
|
},
|
|
});
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 根据key移除某条数据 异步
|
|
* @param {string} key
|
|
*/
|
|
removeStorage(key) {
|
|
return new Promise((resolve, reject) => {
|
|
uni.removeStorage({
|
|
key,
|
|
success(res) {
|
|
resolve(res);
|
|
},
|
|
fail(error) {
|
|
reject(`数据${key}删除失败, error: ${error}`);
|
|
},
|
|
});
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 清楚全部数据 异步
|
|
*/
|
|
clearStorage() {
|
|
uni.clearStorage();
|
|
},
|
|
|
|
// 检测local Storage容量 超出容量清空数据缓存
|
|
checkCapacity() {
|
|
/* #ifdef H5 */
|
|
const capacity = JSON.stringify(localStorage).length;
|
|
let max = 1024 * 1024 * 4;
|
|
if (capacity >= max) {
|
|
uni.$t.storage.clearStorage();
|
|
}
|
|
/* #endif */
|
|
},
|
|
};
|
|
|