317 lines
6.6 KiB
JavaScript
317 lines
6.6 KiB
JavaScript
const __templateJs = require("./templates.js");
|
|
const __mergePageOptions = require("../../util/mergePageOptions.js");
|
|
Page(__mergePageOptions({
|
|
onShareAppMessage() {
|
|
return {
|
|
title: '异步存储',
|
|
path: 'packageAPI/pages/storageAsync/storage'
|
|
};
|
|
},
|
|
resetApiData() {
|
|
this.setData({
|
|
apiData: {
|
|
success: false,
|
|
fail: false,
|
|
complete: false,
|
|
content: ''
|
|
}
|
|
});
|
|
},
|
|
updateApiData(type, content) {
|
|
const apiData = {
|
|
...this.data.apiData
|
|
};
|
|
apiData[type] = true;
|
|
apiData.content = content;
|
|
this.setData({
|
|
apiData
|
|
});
|
|
},
|
|
data: {
|
|
key: '',
|
|
data: '',
|
|
title: '',
|
|
content: '',
|
|
apiData: {
|
|
content: '',
|
|
success: false,
|
|
fail: false,
|
|
complete: false
|
|
}
|
|
},
|
|
keyChange(e) {
|
|
this.setData({
|
|
key: e.detail.value
|
|
});
|
|
},
|
|
dataChange(e) {
|
|
this.setData({
|
|
data: e.detail.value
|
|
});
|
|
},
|
|
getStorage() {
|
|
this.resetApiData();
|
|
const {
|
|
key
|
|
} = this.data;
|
|
let data;
|
|
this.setData({
|
|
title: '读取数中...',
|
|
content: ''
|
|
});
|
|
if (key.length === 0) {
|
|
this.setData({
|
|
key,
|
|
data
|
|
});
|
|
this.setData({
|
|
title: '读取数据失败',
|
|
content: 'key 不能为空'
|
|
});
|
|
} else {
|
|
xhs.getStorage({
|
|
key,
|
|
success: res => {
|
|
this.updateApiData('success', res);
|
|
if (typeof data === 'object') data = JSON.stringify(data);
|
|
this.setData({
|
|
key,
|
|
data: res.data
|
|
});
|
|
this.setData({
|
|
title: '读取数据成功',
|
|
content: `key为: ${key} data 数据为: ${res.data}`
|
|
});
|
|
},
|
|
fail: res => {
|
|
this.setData({
|
|
key,
|
|
data: data
|
|
});
|
|
this.setData({
|
|
title: '读取数据失败',
|
|
content: '找不到 key 对应的数据'
|
|
});
|
|
this.updateApiData('fail', res);
|
|
},
|
|
complete: res => {
|
|
this.updateApiData('complete', res);
|
|
}
|
|
});
|
|
}
|
|
},
|
|
setStorage() {
|
|
this.resetApiData();
|
|
const {
|
|
key,
|
|
data
|
|
} = this.data;
|
|
this.setData({
|
|
title: '存储中...',
|
|
content: ''
|
|
});
|
|
if (key.length === 0) {
|
|
this.setData({
|
|
key,
|
|
data
|
|
});
|
|
this.setData({
|
|
title: '保存数据失败',
|
|
content: 'key 不能为空'
|
|
});
|
|
} else {
|
|
xhs.setStorage({
|
|
key,
|
|
data,
|
|
success: res => {
|
|
this.setData({
|
|
key,
|
|
data
|
|
});
|
|
this.setData({
|
|
title: '存储数据成功',
|
|
content: `key: ${key}, data: ${data}`
|
|
});
|
|
this.updateApiData('success', res);
|
|
},
|
|
fail: res => {
|
|
this.setData({
|
|
key,
|
|
data
|
|
});
|
|
this.setData({
|
|
title: '存储数据失败',
|
|
content: ''
|
|
});
|
|
this.updateApiData('fail', res);
|
|
},
|
|
complete: res => {
|
|
this.updateApiData('complete', res);
|
|
}
|
|
});
|
|
}
|
|
},
|
|
setStorageObject() {
|
|
this.resetApiData();
|
|
const {
|
|
key,
|
|
data
|
|
} = this.data;
|
|
this.setData({
|
|
title: '存储中...',
|
|
content: ''
|
|
});
|
|
if (key.length === 0) {
|
|
this.setData({
|
|
key,
|
|
data
|
|
});
|
|
this.setData({
|
|
title: '保存数据失败',
|
|
content: 'key 不能为空'
|
|
});
|
|
} else {
|
|
xhs.setStorage({
|
|
key,
|
|
data,
|
|
success: res => {
|
|
this.updateApiData('success', res);
|
|
this.setData({
|
|
key,
|
|
data: {
|
|
age: 20
|
|
}
|
|
});
|
|
this.setData({
|
|
title: '存储数据成功',
|
|
content: `key: ${key}, data: ${JSON.stringify({
|
|
age: 20
|
|
})}`
|
|
});
|
|
},
|
|
fail: res => {
|
|
this.updateApiData('fail', res);
|
|
this.setData({
|
|
key,
|
|
data
|
|
});
|
|
this.setData({
|
|
title: '存储数据失败',
|
|
content: ''
|
|
});
|
|
},
|
|
complete: res => {
|
|
this.updateApiData('complete', res);
|
|
}
|
|
});
|
|
}
|
|
},
|
|
clearStorageByKey() {
|
|
this.resetApiData();
|
|
const key = this.data.key;
|
|
this.setData({
|
|
key: '',
|
|
data: ''
|
|
});
|
|
this.setData({
|
|
title: `key ${key} 清除中...`,
|
|
content: ''
|
|
});
|
|
xhs.removeStorage({
|
|
key,
|
|
success: res => {
|
|
this.updateApiData('success', res);
|
|
this.setData({
|
|
key: '',
|
|
data: ''
|
|
});
|
|
this.setData({
|
|
title: `key ${key} 清除数据成功`,
|
|
content: ''
|
|
});
|
|
},
|
|
fail: res => {
|
|
this.updateApiData('fail', res);
|
|
this.setData({
|
|
key: '',
|
|
data: ''
|
|
});
|
|
this.setData({
|
|
title: `key ${key} 清除数据失败`,
|
|
content: ''
|
|
});
|
|
},
|
|
complete: res => {
|
|
this.updateApiData('complete', res);
|
|
}
|
|
});
|
|
},
|
|
getStorageInfo() {
|
|
this.resetApiData();
|
|
this.setData({
|
|
key: '',
|
|
data: ''
|
|
});
|
|
this.setData({
|
|
title: 'storageInfo 获取中...',
|
|
content: ''
|
|
});
|
|
xhs.getStorageInfo({
|
|
success: result => {
|
|
this.updateApiData('success', result);
|
|
this.setData({
|
|
title: 'storageInfo获取成功',
|
|
content: `数据为: ${JSON.stringify(result)}`
|
|
});
|
|
},
|
|
fail: res => {
|
|
this.updateApiData('fail', res);
|
|
this.setData({
|
|
title: 'storageInfo获取失败',
|
|
content: ''
|
|
});
|
|
},
|
|
complete: res => {
|
|
this.updateApiData('complete', res);
|
|
}
|
|
});
|
|
},
|
|
clearStorage() {
|
|
this.resetApiData();
|
|
this.setData({
|
|
key: '',
|
|
data: ''
|
|
});
|
|
this.setData({
|
|
title: '清除中...',
|
|
content: ''
|
|
});
|
|
xhs.clearStorage({
|
|
success: res => {
|
|
this.updateApiData('success', res);
|
|
this.setData({
|
|
key: '',
|
|
data: ''
|
|
});
|
|
this.setData({
|
|
title: '清除数据成功',
|
|
content: ''
|
|
});
|
|
},
|
|
fail: res => {
|
|
this.updateApiData('fail', res);
|
|
this.setData({
|
|
key: '',
|
|
data: ''
|
|
});
|
|
this.setData({
|
|
title: '清除数据失败',
|
|
content: ''
|
|
});
|
|
},
|
|
complete: res => {
|
|
this.updateApiData('complete', res);
|
|
}
|
|
});
|
|
}
|
|
}, __templateJs)); |