用户本地数据操作方法
Former-commit-id: d8a0ab287f85f0a43be0dd3f968b97378753f5a4 [formerly d1f9d1371b0b48ce87ffd5d06227c26ec80d271c] [formerly d8a0ab287f85f0a43be0dd3f968b97378753f5a4 [formerly d1f9d1371b0b48ce87ffd5d06227c26ec80d271c] [formerly d8a0ab287f85f0a43be0dd3f968b97378753f5a4 [formerly d1f9d1371b0b48ce87ffd5d06227c26ec80d271c] [formerly d1f9d1371b0b48ce87ffd5d06227c26ec80d271c [formerly 21b6f83197da6dfaec858c777662b7df5e3a4f21 [formerly ddaee096853023cceb9c54be5e63d1ae012b262d]]]]] Former-commit-id: 4383f412f9bb5c0e61732950d80ee377720762af Former-commit-id: 4255437df19815fa4c5ab37f0262b8a882977bfa Former-commit-id: b6b46e399c09e6e39707bf20fa54289809e26503 [formerly 9f48cf391064b5c870505fd2ecae73dbc8ebff47] Former-commit-id: d2c1068b401e2ecce6f707828503a954137823cf Former-commit-id: 88606e8a844e3dc377776689546e25f51625b9a8 Former-commit-id: 50cec2b9bcbd23a7976137fcb00ce99ed2e4185b Former-commit-id: 0595263161abf9c860670be3f3fb596594e66b0a Former-commit-id: 76bbc5ac1630577073aedc6fa0de4bddb93024f5
This commit is contained in:
@@ -22,15 +22,17 @@
|
||||
* [ 修改 ] 修复全屏按钮退出全屏状态不更新的 bug
|
||||
* [ 修改 ] 修复多标签页缓存逻辑 bug
|
||||
* [ 新增 ] 持久化存储根据系统版本区分数据,防止因更新导致数据错乱
|
||||
* [ 修改 ] token 和 uuid 读写删规范化,保存的时候增加版本号区分
|
||||
* [ 新增 ] 注销画面灰度效果
|
||||
* [ 新增 ] .d2-card 样式类,可以让 el-card 具有跟随主题变化的样式
|
||||
* [ 新增 ] ElementUI 表格组件全部示例移植
|
||||
* [ 新增 ] 全局状态管理 playground
|
||||
* [ 新增 ] 用户私有持久化数据 playground
|
||||
* [ 新增 ] 侧边栏和顶栏菜单设置 playground
|
||||
* [ 新增 ] d2-container 组件 card 模式下 footer 样式优化
|
||||
* [ 修改 ] 侧边栏折叠模式下弹出菜单尺寸缩小
|
||||
* [ 修改 ] 默认取消了侧边栏的自定义滚动条显示
|
||||
* [ 新增 ] cookie 读写包装
|
||||
* [ 新增 ] 持久化存储读写包装,提供快速操作当前用户数据的 mutation
|
||||
|
||||
## v1.1.4
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import _uniqueid from 'lodash.uniqueid'
|
||||
import uniqueid from 'lodash.uniqueid'
|
||||
export default {
|
||||
name: 'd2-layout-header-aside-menu-item',
|
||||
props: {
|
||||
@@ -18,7 +18,7 @@ export default {
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
uniqueid: _uniqueid('d2-menu-empty-')
|
||||
uniqueid: uniqueid('d2-menu-empty-')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import _uniqueid from 'lodash.uniqueid'
|
||||
import uniqueid from 'lodash.uniqueid'
|
||||
// 组件
|
||||
import d2LayoutMainMenuItem from '../menu-item'
|
||||
|
||||
@@ -30,7 +30,7 @@ export default {
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
uniqueid: _uniqueid('d2-menu-empty-')
|
||||
uniqueid: uniqueid('d2-menu-empty-')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,9 @@ console.groupEnd()
|
||||
db.defaults({
|
||||
themeActiveName: [],
|
||||
pageOpenedList: [],
|
||||
userInfo: []
|
||||
userInfo: [],
|
||||
isMenuAsideCollapse: [],
|
||||
database: []
|
||||
}).write()
|
||||
|
||||
export default db
|
||||
|
||||
@@ -35,7 +35,15 @@ export default {
|
||||
{ path: `${pre}store/theme`, title: '主题', icon: 'diamond' }
|
||||
]
|
||||
},
|
||||
{ path: `${pre}db`, title: '数据持久化', icon: 'database' },
|
||||
{
|
||||
path: `${pre}db`,
|
||||
title: '数据持久化',
|
||||
icon: 'database',
|
||||
children: [
|
||||
{ path: `${pre}db/all`, title: '全部数据' },
|
||||
{ path: `${pre}db/user`, title: '用户数据' }
|
||||
]
|
||||
},
|
||||
{ path: `${pre}env`, title: '环境信息', icon: 'exclamation-circle' }
|
||||
])('/demo/playground/')
|
||||
}
|
||||
|
||||
134
src/pages/demo/playground/db/user/index.vue
Normal file
134
src/pages/demo/playground/db/user/index.vue
Normal file
@@ -0,0 +1,134 @@
|
||||
<template>
|
||||
<d2-container class="page">
|
||||
<template slot="header">用户数据</template>
|
||||
<el-row>
|
||||
|
||||
<el-col :span="12">
|
||||
|
||||
<p class="d2-mt-0">增加不重复字段</p>
|
||||
<el-button @click="handleSetRandom">增加</el-button>
|
||||
|
||||
<p>增加自定义字段</p>
|
||||
<el-input v-model="keyNameToSet" placeholder="字段名" class="d2-mr-5" style="width: 100px;"/>
|
||||
<el-input v-model="valueToSet" placeholder="值" class="d2-mr-5" style="width: 100px;"/>
|
||||
<el-button @click="handleSet">增加</el-button>
|
||||
|
||||
<p>删除字段</p>
|
||||
<el-select
|
||||
v-model="keyNameToDelete"
|
||||
placeholder="请选择要删除的 key">
|
||||
<el-option
|
||||
v-for="item in keyNameList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<p>清空当前用户数据</p>
|
||||
<el-button @click="handleClear">清空</el-button>
|
||||
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<d2-highlight :code="dataDisplay"/>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
</d2-container>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import day from 'dayjs'
|
||||
import { mapMutations } from 'vuex'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
dataDisplay: '',
|
||||
keyNameToSet: '',
|
||||
valueToSet: '',
|
||||
keyNameList: [],
|
||||
keyNameToDelete: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
keyNameToDelete (value) {
|
||||
if (value) {
|
||||
this.handleDelete(value)
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.load()
|
||||
},
|
||||
methods: {
|
||||
...mapMutations([
|
||||
'd2adminUtilUserDatabase',
|
||||
'd2adminUtilUserDatabaseClear'
|
||||
]),
|
||||
/**
|
||||
* 加载本地数据
|
||||
*/
|
||||
load () {
|
||||
this.d2adminUtilUserDatabase(database => {
|
||||
this.dataDisplay = JSON.stringify(database.value(), null, 2)
|
||||
this.keyNameList = Object.keys(database.value()).map(k => ({
|
||||
value: k,
|
||||
label: k
|
||||
}))
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 删除一个字段
|
||||
*/
|
||||
handleDelete (name) {
|
||||
this.d2adminUtilUserDatabase(database => {
|
||||
database
|
||||
.unset(name)
|
||||
.write()
|
||||
})
|
||||
this.load()
|
||||
this.keyNameToDelete = ''
|
||||
},
|
||||
/**
|
||||
* 清空当前用户的数据
|
||||
*/
|
||||
handleClear () {
|
||||
// this.d2adminUtilUserDatabase(database => {
|
||||
// this.keyNameList.forEach(name => {
|
||||
// database.unset(name.value).write()
|
||||
// })
|
||||
// })
|
||||
this.d2adminUtilUserDatabaseClear()
|
||||
this.load()
|
||||
},
|
||||
/**
|
||||
* 添加一个数据
|
||||
*/
|
||||
handleSet () {
|
||||
if (this.keyNameToSet === '') {
|
||||
this.$message.error('字段名不能为空')
|
||||
return
|
||||
}
|
||||
this.d2adminUtilUserDatabase(database => {
|
||||
database
|
||||
.set(this.keyNameToSet, this.valueToSet)
|
||||
.write()
|
||||
})
|
||||
this.load()
|
||||
},
|
||||
/**
|
||||
* 添加一个随机数据
|
||||
*/
|
||||
handleSetRandom () {
|
||||
this.d2adminUtilUserDatabase(database => {
|
||||
const id = day().valueOf()
|
||||
database
|
||||
.set(id, Math.round(id * Math.random()))
|
||||
.write()
|
||||
})
|
||||
this.load()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -1 +1 @@
|
||||
9959ede956228cbc62b3dd35ea3c199b2d4d25d7
|
||||
7e12129bbfdbb28bd532c5d4ad03773dd00abad8
|
||||
@@ -1 +1 @@
|
||||
0e3af290f72b4f94e1ec5e4067127715452f4c47
|
||||
a84b70ce47aa0ba972347072d33e0c6af662584a
|
||||
Reference in New Issue
Block a user