This commit is contained in:
2025-09-14 00:21:54 +08:00
commit d40b3bbd62
766 changed files with 36275 additions and 0 deletions

View File

@@ -0,0 +1,189 @@
const __templateJs = require("./templates.js");
const __mergePageOptions = require("../../util/mergePageOptions.js");
Page(__mergePageOptions({
onShareAppMessage() {
return {
title: '同步存储',
path: 'packageAPI/pages/storage/storage'
};
},
data: {
key: '',
data: '',
title: '',
content: ''
},
keyChange(e) {
this.setData({
key: e.detail.value
});
},
dataChange(e) {
this.setData({
data: e.detail.value
});
},
getStorage() {
const {
key,
data
} = this.data;
let storageData;
this.setData({
title: '读取数中...',
content: ''
});
if (key.length === 0) {
this.setData({
key,
data
});
this.setData({
title: '读取数据失败',
content: 'key 不能为空'
});
} else {
storageData = xhs.getStorageSync(key);
if (typeof storageData === 'object') storageData = JSON.stringify(storageData);
if (storageData === '') {
this.setData({
key,
data: storageData
});
this.setData({
title: '读取数据失败',
content: '找不到 key 对应的数据'
});
} else {
this.setData({
key,
data: storageData
});
this.setData({
title: '读取数据成功',
content: `key为: ${key} data 数据为: ${storageData}`
});
}
}
},
setStorage() {
const {
key,
data
} = this.data;
this.setData({
title: '存储中...',
content: ''
});
if (key.length === 0) {
this.setData({
key,
data
});
this.setData({
title: '保存数据失败',
content: 'key 不能为空'
});
} else {
xhs.setStorageSync(key, data);
this.setData({
key,
data
});
this.setData({
title: '存储数据成功',
content: `key: ${key}, data: ${data}`
});
}
},
setStorageObject() {
const {
key,
data
} = this.data;
this.setData({
title: '存储中...',
content: ''
});
if (key.length === 0) {
this.setData({
key,
data
});
this.setData({
title: '保存数据失败',
content: 'key 不能为空'
});
} else {
xhs.setStorageSync(key, {
age: 20
});
this.setData({
key,
data: JSON.stringify({
age: 20
})
});
this.setData({
title: '存储数据成功',
content: `key: ${key}, data: ${data}`
});
}
},
clearStorageByKey() {
const key = this.data.key;
this.setData({
key: '',
data: ''
});
this.setData({
title: `key ${key} 清除中...`,
content: ''
});
const res = xhs.removeStorageSync(key);
console.warn('lemon: 数据清理成功', res);
this.setData({
key: '',
data: ''
});
this.setData({
title: `key ${key} 清除数据成功`,
content: ''
});
},
getStorageInfo() {
this.setData({
key: '',
data: ''
});
this.setData({
title: 'storageInfo 获取中...',
content: ''
});
const result = xhs.getStorageInfoSync();
console.warn('lemon 获取数据:', result);
this.setData({
title: 'storageInfo获取成功',
content: `数据为: ${JSON.stringify(result)}`
});
},
clearStorage() {
this.setData({
key: '',
data: ''
});
this.setData({
title: '清除中...',
content: ''
});
xhs.clearStorageSync();
this.setData({
key: '',
data: ''
});
this.setData({
title: '清除数据成功',
content: ''
});
}
}, __templateJs));

View File

@@ -0,0 +1,8 @@
{
"navigationBarTitleText": "数据存储",
"usingComponents": {
"showbox": "../../common/component/showbox/index",
"box": "../../common/component/container/index",
"api-status": "../../common/component/api-status/index"
}
}

View File

@@ -0,0 +1,28 @@
<view class="container">
<showbox title="数据存储">
<box>
<view>
<view style="text-align: center;">{{title}}</view>
<view style="text-align: center;" class="_text_wrap">{{content}}</view>
</view>
<view class="_ui-space">
<view class="_ui-input">
<input type="text" placeholder="请输入key" name="key" value="{{key}}" bindinput="keyChange" />
</view>
<view class="_ui-input ">
<input type="text" placeholder="请输入value" name="data" value="{{data}}" bindinput="dataChange" />
</view>
<button class="_ui-button" hover-class="_ui-button-hover" bindtap="setStorage">存储数据</button>
<button class="_ui-button" hover-class="_ui-button-hover" bindtap="setStorageObject">存储Object数据</button>
<button class="_ui-button" hover-class="_ui-button-hover" bindtap="getStorage">读取数据</button>
<button class="_ui-button" hover-class="_ui-button-hover" bindtap="clearStorageByKey">通过key清理数据</button>
<button class="_ui-button" hover-class="_ui-button-hover" bindtap="getStorageInfo">获取storage信息</button>
<button class="_ui-button" hover-class="_ui-button-hover" bindtap="clearStorage">清理数据</button>
</view>
</box>
</showbox>
</view>
<include src="templates.xhsml" />

View File

@@ -0,0 +1,185 @@
/** 以下内容为自动生成,请勿手动修改 */
module.exports = {
data: {
page_data_0: "",
page_data_1: "",
page_data_2: false,
page_data_3: false,
page_data_4: false,
page_data_5: "",
page_data_6: "",
page_data_7: false,
page_data_8: false,
page_data_9: false,
page_data_10: "",
page_data_11: false,
page_data_12: false,
page_data_13: false,
page_data_14: "",
page_data_15: false,
page_data_16: false,
page_data_17: false,
page_data_18: "",
},
page_fun_1(e) {
this.setData("page_data_0", e.detail.value);
},
page_fun_2(e) {
this.setData("page_data_1", e.detail.value);
},
page_fun_0() {
this.setData({
page_data_2: false,
page_data_3: false,
page_data_4: false,
});
let res;
try {
res =
xhs.setStorageSync(this.data.page_data_0, this.data.page_data_1) ??
"无返回值";
} catch (err) {
console.log("fail", res);
this.setData({
page_data_3: true,
page_data_5: JSON.stringify(res),
});
return;
}
console.log("success", res);
this.setData({
page_data_2: true,
page_data_5: JSON.stringify(res),
});
console.log("complete", res);
this.setData({
page_data_4: true,
});
},
page_fun_4(e) {
this.setData("page_data_6", e.detail.value);
},
page_fun_3() {
this.setData({
page_data_7: false,
page_data_8: false,
page_data_9: false,
});
let res;
try {
res = xhs.getStorageSync(this.data.page_data_6) ?? "无返回值";
} catch (err) {
console.log("fail", res);
this.setData({
page_data_8: true,
page_data_10: JSON.stringify(res),
});
return;
}
console.log("success", res);
this.setData({
page_data_7: true,
page_data_10: JSON.stringify(res),
});
console.log("complete", res);
this.setData({
page_data_9: true,
});
},
page_fun_5() {
this.setData({
page_data_11: false,
page_data_12: false,
page_data_13: false,
});
let res;
try {
res = xhs.clearStorageSync() ?? "无返回值";
} catch (err) {
console.log("fail", res);
this.setData({
page_data_12: true,
page_data_14: JSON.stringify(res),
});
return;
}
console.log("success", res);
this.setData({
page_data_11: true,
page_data_14: JSON.stringify(res),
});
console.log("complete", res);
this.setData({
page_data_13: true,
});
},
page_fun_6() {
this.setData({
page_data_15: false,
page_data_16: false,
page_data_17: false,
});
let res;
try {
res = xhs.getStorageInfoSync() ?? "无返回值";
} catch (err) {
console.log("fail", res);
this.setData({
page_data_16: true,
page_data_18: JSON.stringify(res),
});
return;
}
console.log("success", res);
this.setData({
page_data_15: true,
page_data_18: JSON.stringify(res),
});
console.log("complete", res);
this.setData({
page_data_17: true,
});
},
};

View File

@@ -0,0 +1,99 @@
<!-- 以下内容为自动生成,请勿手动修改 -->
<view class="container">
<showbox title="setStorageSync演示">
<box>
<api-status
success="{{page_data_2}}"
complete="{{page_data_4}}"
fail="{{page_data_3}}"
text="{{page_data_5}}"
>
</api-status>
<view class="_ui-space _mt8">
<view class="_ui-input">
<input placeholder="key" type="text" bindinput="page_fun_1" />
</view>
<view class="_ui-input">
<input placeholder="data" type="text" bindinput="page_fun_2" />
</view>
<button
class="_ui-button"
hover-class="_ui-button-hover"
bindtap="page_fun_0"
>
触发
</button>
</view>
</box>
</showbox>
<showbox title="getStorageSync演示">
<box>
<api-status
success="{{page_data_7}}"
complete="{{page_data_9}}"
fail="{{page_data_8}}"
text="{{page_data_10}}"
>
</api-status>
<view class="_ui-space _mt8">
<view class="_ui-input">
<input placeholder="key" type="text" bindinput="page_fun_4" />
</view>
<button
class="_ui-button"
hover-class="_ui-button-hover"
bindtap="page_fun_3"
>
触发
</button>
</view>
</box>
</showbox>
<showbox title="clearStorageSync演示">
<box>
<api-status
success="{{page_data_11}}"
complete="{{page_data_13}}"
fail="{{page_data_12}}"
text="{{page_data_14}}"
>
</api-status>
<view class="_ui-space _mt8">
<button
class="_ui-button"
hover-class="_ui-button-hover"
bindtap="page_fun_5"
>
触发
</button>
</view>
</box>
</showbox>
<showbox title="getStorageInfoSync演示">
<box>
<api-status
success="{{page_data_15}}"
complete="{{page_data_17}}"
fail="{{page_data_16}}"
text="{{page_data_18}}"
>
</api-status>
<view class="_ui-space _mt8">
<button
class="_ui-button"
hover-class="_ui-button-hover"
bindtap="page_fun_6"
>
触发
</button>
</view>
</box>
</showbox>
</view>