123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415 |
- <template>
- <!-- #ifdef APP -->
- <scroll-view class="page-scroll-view">
- <!-- #endif -->
- <view>
- <page-head :title="title"></page-head>
- <view class="uni-common-mt">
- <view class="uni-list">
- <view class="uni-list-cell uni-list-cell-line">
- <view class="uni-list-cell-left">
- <view class="uni-label">key</view>
- </view>
- <view class="uni-list-cell-db">
- <input class="uni-input" type="text" placeholder="请输入key" name="key" :value="key" maxlength="-1"
- @input="keyChange" />
- </view>
- </view>
- <view class="uni-list-cell">
- <view class="uni-list-cell-left">
- <view class="uni-label">value</view>
- </view>
- <view class="uni-list-cell-db">
- <input class="uni-input" type="text" placeholder="请输入value" name="data"
- :value="typeof data === 'string' ? data : JSON.stringify(data)" maxlength="-1" @input="dataChange" />
- </view>
- </view>
- </view>
- <view class="uni-padding-wrap">
- <view class="uni-btn-v">
- <button class="uni-btn btn-getStorageInfoASync" type="primary" @tap="getStorageInfo">
- 获取存储概述信息-异步
- </button>
- <button class="uni-btn btn-getStorageInfoSync" @tap="getStorageInfoSync">
- 获取存储概述信息-同步
- </button>
- </view>
- <text class="uni-list-cell-db-text">{{ storageInfo }}</text>
- <view class="uni-flex uni-row">
- <button type="default" style="width:50%" @tap="strMock">
- 填充字符串
- </button>
- <button type="default" style="width:50%" @tap="complexMock">
- 填充复杂对象
- </button>
- </view>
- <view class="uni-flex uni-row">
- <button type="default" style="width:50%" @tap="numberMock">
- 填充整型
- </button>
- <button type="default" style="width:50%" @tap="floatMock">
- 填充浮点型
- </button>
- </view>
- <view class="uni-flex uni-row">
- <button type="default" style="width:50%" @tap="jsonLikeMock">
- 填充json字符串
- </button>
- <button type="default" style="width:50%" @tap="longLikeMock">
- 填充整数字符串
- </button>
- </view>
- <view class="uni-flex uni-row">
- <button type="default" style="width:50%" @tap="floatLikeMock">
- 填充浮点字符串
- </button>
- <button type="default" style="width:50%" @tap="negativeLikeMock">
- 填充负数字符串
- </button>
- </view>
- <view class="uni-flex uni-row">
- <button type="default" class="uni-btn btn-complexStaticTest" style="width:100%" @tap="complexStaticTest">
- 字面量读写测试
- </button>
- </view>
- </view>
- <view class="uni-padding-wrap">
- <view class="uni-btn-v">
- <button type="primary" class="uni-btn btn-setstorageAsync" @tap="setStorage">
- 存储数据-异步
- </button>
- <button class="uni-btn btn-getstorageAsync" @tap="getStorage">读取数据-异步</button>
- <button class="uni-btn btn-removeStorageInfoASync" @tap="removeStorage">移除数据-异步</button>
- <button class="uni-btn btn-clearStorageInfoASync" @tap="clearStorage">清理数据-异步</button>
- </view>
- <view class="uni-btn-v">
- <button type="primary" class="uni-btn btn-setstorageSync" @tap="setStorageSync">
- 存储数据-同步
- </button>
- <button class="uni-btn btn-getstorageSync" @tap="getStorageSync">读取数据-同步</button>
- <button class="uni-btn btn-removeStorageInfoSync" @tap="removeStorageSync">
- 移除数据-同步
- </button>
- <button class="uni-btn btn-clearStorageInfoSync" @tap="clearStorageSync">
- 清理数据-同步
- </button>
- </view>
- </view>
- </view>
- <button type="primary" @click="goto">前往storage管理器</button>
- </view>
- <!-- #ifdef APP -->
- </scroll-view>
- <!-- #endif -->
- </template>
- <script>
- export default {
- data() {
- return {
- title: 'get/set/clearStorage',
- key: '',
- data: '' as any,
- apiGetData: '' as any | null,
- storageInfo: '',
- staticComplexRet: false,
- jest_saveUTSJSONObjectSyncResult: 0,
- jest_saveUTSJSONObjectAsyncResult: 0,
- jest_saveUTSJSONObjectArraySyncResult: 0
- }
- },
- methods: {
- getStorageInfo() {
- uni.getStorageInfo({
- success: (res) => {
- this.apiGetData = res
- this.storageInfo = JSON.stringify(res)
- },
- })
- },
- getStorageInfoSync() {
- try {
- const res = uni.getStorageInfoSync()
- this.apiGetData = res
- this.storageInfo = JSON.stringify(res)
- } catch (e) {
- // error
- console.log(e)
- }
- },
- jsonLikeMock() {
- this.key = 'key_' + Math.random()
- this.data = JSON.stringify({
- name: "james",
- age: 12,
- from: "american"
- });
- },
- longLikeMock() {
- this.key = 'key_' + Math.random()
- this.data = "1234567890"
- },
- floatLikeMock() {
- this.key = 'key_' + Math.random()
- this.data = "321456.1234567890"
- },
- negativeLikeMock() {
- this.key = 'key_' + Math.random()
- this.data = "-321456"
- },
- strMock() {
- this.key = 'key_' + Math.random()
- this.data = '测试字符串数据,长度为16个字符'
- },
- complexStaticTest() {
- uni.setStorageSync("key_complexStaticMock", {
- name: "张三",
- age: 12
- })
- let savedData = uni.getStorageSync("key_complexStaticMock")
- this.staticComplexRet = false
- if (savedData instanceof UTSJSONObject) {
- if ((savedData as UTSJSONObject).getNumber('age') == 12) {
- this.staticComplexRet = true
- uni.showToast({
- icon: 'success',
- title: '测试通过'
- })
- }
- }
- },
- complexMock() {
- this.key = 'key_' + Math.random()
- let jsonObj = {
- name: '张三',
- age: 12,
- classMate: [
- {
- id: 1001,
- name: '李四',
- },
- {
- id: 1002,
- name: 'jack ma',
- },
- ],
- }
- this.data = jsonObj
- },
- numberMock() {
- this.key = 'key_' + Math.random()
- this.data = 10011
- },
- floatMock() {
- this.key = 'key_' + Math.random()
- this.data = 3.1415926535893384626
- },
- keyChange: function (e : InputEvent) {
- this.key = e.detail.value
- },
- dataChange: function (e : InputEvent) {
- this.data = e.detail.value
- },
- getStorage: function () {
- var key = this.key
- if (key.length == 0) {
- uni.showModal({
- title: '读取数据失败',
- content: 'key 不能为空',
- showCancel: false,
- })
- } else {
- let that = this
- uni.getStorage({
- key: key,
- success: (res) => {
- that.apiGetData = res.data
- let desc : string = typeof this.apiGetData
- if ("object" == desc) {
- desc = desc + ": " + JSON.stringify(this.apiGetData)
- } else {
- desc = desc + ": " + this.apiGetData
- }
- uni.showModal({
- title: '读取数据成功',
- content: desc,
- showCancel: false,
- })
- },
- fail: () => {
- uni.showModal({
- title: '读取数据失败',
- content: '找不到 key 对应的数据',
- showCancel: false,
- })
- },
- })
- }
- },
- getStorageSync: function () {
- var key = this.key
- if (key.length == 0) {
- uni.showModal({
- title: '读取数据失败',
- content: 'key 不能为空',
- showCancel: false,
- })
- } else {
- this.apiGetData = uni.getStorageSync(key)
- let desc : string = typeof this.apiGetData
- if ("object" == desc) {
- desc = desc + ": " + JSON.stringify(this.apiGetData)
- } else {
- desc = desc + ": " + this.apiGetData
- }
- uni.showModal({
- title: '读取数据成功',
- content: desc,
- showCancel: false,
- })
- }
- },
- setStorage: function () {
- var key = this.key
- var data = this.data
- if (key.length == 0) {
- uni.showModal({
- title: '保存数据失败',
- content: 'key 不能为空',
- showCancel: false,
- })
- } else {
- uni.setStorage({
- key: key,
- data: data,
- success: () => {
- uni.showModal({
- title: '存储数据成功',
- showCancel: false,
- })
- },
- fail: () => {
- uni.showModal({
- title: '储存数据失败!',
- showCancel: false,
- })
- },
- })
- }
- },
- setStorageSync: function () {
- var key = this.key
- var data = this.data
- if (key.length == 0) {
- uni.showModal({
- title: '保存数据失败',
- content: 'key 不能为空',
- showCancel: false,
- })
- } else {
- uni.setStorageSync(key, data)
- uni.showModal({
- title: '存储数据成功',
- showCancel: false,
- })
- }
- },
- removeStorage: function () {
- uni.removeStorage({
- key: this.key,
- success: () => {
- uni.showModal({
- title: '移除数据成功',
- showCancel: false,
- })
- },
- fail: () => {
- uni.showModal({
- title: '移除数据失败',
- showCancel: false,
- })
- },
- })
- },
- removeStorageSync: function () {
- uni.removeStorageSync(this.key)
- uni.showModal({
- title: '移除数据成功',
- showCancel: false,
- })
- },
- clearStorage: function () {
- this.key = ''
- this.data = ''
- uni.clearStorage({
- success: function (_) {
- uni.showModal({
- title: '清除数据成功',
- showCancel: false,
- })
- },
- fail: function (_) {
- uni.showModal({
- title: '清除数据失败',
- showCancel: false,
- })
- },
- })
- },
- clearStorageSync: function () {
- this.key = ''
- this.data = ''
- uni.clearStorageSync()
- uni.showModal({
- title: '清除数据成功',
- content: ' ',
- showCancel: false,
- })
- },
- jest_saveUTSJSONObject: function () {
- const key = 'test_key_saveUTSJSONObject'
- uni.setStorageSync(key, {
- a: {
- b: 1
- }
- })
- const dataSync = uni.getStorageSync(key) as UTSJSONObject
- const dataSyncA = dataSync['a'] as UTSJSONObject
- this.jest_saveUTSJSONObjectSyncResult = dataSyncA.get('b') as number
- uni.getStorage({
- key,
- success: (res) => {
- const dataAsync = res.data as UTSJSONObject
- const dataAsyncA = dataAsync['a'] as UTSJSONObject
- this.jest_saveUTSJSONObjectAsyncResult = dataAsyncA.get('b') as number
- console.log('this.jest_saveUTSJSONObjectSyncResult: ' + this.jest_saveUTSJSONObjectSyncResult)
- console.log('this.jest_saveUTSJSONObjectAsyncResult: ' + this.jest_saveUTSJSONObjectAsyncResult)
- }
- })
- },
- jest_saveUTSJSONObjectArray() {
- const key = 'test_key_saveUTSJSONObjectArray'
- uni.setStorageSync(key, [{
- a: 1
- }] as UTSJSONObject[])
- const dataSync = uni.getStorageSync(key) as UTSJSONObject[]
- this.jest_saveUTSJSONObjectArraySyncResult = dataSync[0].get('a') as number
- },
- goto(){
- uni.navigateTo({
- url:"/pages/API/storage/storagemanage"
- })
- }
- }
- }
- </script>
- <style>
- </style>
|