From e5d8d022f01912183125415a51ecb7f2387a8f0a Mon Sep 17 00:00:00 2001
From: liyang <1711467488@qq.com>
Date: Sat, 11 Aug 2018 22:16:16 +0800
Subject: [PATCH] db update
Former-commit-id: 3efab3f3c7cf7a34d78ebc1aebcf895fe1832970 [formerly 3efab3f3c7cf7a34d78ebc1aebcf895fe1832970 [formerly 3efab3f3c7cf7a34d78ebc1aebcf895fe1832970 [formerly 3efab3f3c7cf7a34d78ebc1aebcf895fe1832970 [formerly 3608951ec0d14f5fdda5f5c3d74ca1658b4c220a [formerly b3ea1a90fb68b439126a0e163a017e242a0a8dbd]]]]]
Former-commit-id: 452ee4fcd7e53cad75c82f54925db50caf4da311
Former-commit-id: a6b77ca047f33d44ec3cc9c7311ad85fda1cbdaf
Former-commit-id: 625313ff14d3e4a6c4496e0dbbc5d1e2e4624543 [formerly 7b93944ff7f9803377076bd9312f11c82ad60ddd]
Former-commit-id: dab47fcc9792a84172a95410cf8359e31c7c08de
Former-commit-id: e341761c086bb8eb5d842abf411189ec35699361
Former-commit-id: 2bada492361b11dc9e7c5e2eff0baaad7a1aa822
Former-commit-id: 66175c2c3ac72e9b31a66021d4d208c76348e70a
Former-commit-id: b6844ade3e3cdfabb5e58010df6ad0ffa2b2da97
---
src/menu/modules/demo-playground.js | 4 +-
src/pages/demo/playground/db/all/index.vue | 29 +++++
src/pages/demo/playground/db/public/index.vue | 118 ++++++++++++++++++
src/pages/demo/playground/db/user/index.vue | 118 ++++++++++++++++++
src/pages/demo/playground/db/util/index.vue | 116 -----------------
src/router/routes.js.REMOVED.git-id | 2 +-
src/store/modules/d2admin/modules/db.js | 61 ++++++++-
7 files changed, 324 insertions(+), 124 deletions(-)
create mode 100644 src/pages/demo/playground/db/all/index.vue
create mode 100644 src/pages/demo/playground/db/public/index.vue
create mode 100644 src/pages/demo/playground/db/user/index.vue
delete mode 100644 src/pages/demo/playground/db/util/index.vue
diff --git a/src/menu/modules/demo-playground.js b/src/menu/modules/demo-playground.js
index acc3c425..2694de35 100644
--- a/src/menu/modules/demo-playground.js
+++ b/src/menu/modules/demo-playground.js
@@ -40,7 +40,9 @@ export default {
title: '数据持久化',
icon: 'database',
children: [
- { path: `${pre}db/util`, title: 'db.util', icon: 'cube' }
+ { path: `${pre}db/all`, title: '全部数据', icon: 'table' },
+ { path: `${pre}db/user`, title: '用户数据', icon: 'user' },
+ { path: `${pre}db/public`, title: '公用数据', icon: 'users' }
]
},
{
diff --git a/src/pages/demo/playground/db/all/index.vue b/src/pages/demo/playground/db/all/index.vue
new file mode 100644
index 00000000..93ecdf33
--- /dev/null
+++ b/src/pages/demo/playground/db/all/index.vue
@@ -0,0 +1,29 @@
+
+
+
+
+ 重新获取本地数据
+
+
+
+
+
+
+
diff --git a/src/pages/demo/playground/db/public/index.vue b/src/pages/demo/playground/db/public/index.vue
new file mode 100644
index 00000000..5178f9ee
--- /dev/null
+++ b/src/pages/demo/playground/db/public/index.vue
@@ -0,0 +1,118 @@
+
+
+ 持久化存储公用数据(所有用户共享)
+
+
+ 增加不重复字段
+ 增加
+ 增加自定义字段
+
+
+ 增加
+ 删除字段
+
+
+
+
+ 清空当前用户数据
+ 清空
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/demo/playground/db/user/index.vue b/src/pages/demo/playground/db/user/index.vue
new file mode 100644
index 00000000..aaf60a8d
--- /dev/null
+++ b/src/pages/demo/playground/db/user/index.vue
@@ -0,0 +1,118 @@
+
+
+ 持久化存储用户数据(用户区分存储)
+
+
+ 增加不重复字段
+ 增加
+ 增加自定义字段
+
+
+ 增加
+ 删除字段
+
+
+
+
+ 清空当前用户数据
+ 清空
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/demo/playground/db/util/index.vue b/src/pages/demo/playground/db/util/index.vue
deleted file mode 100644
index 93efcb3b..00000000
--- a/src/pages/demo/playground/db/util/index.vue
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
- header
-
-
-
-
-
- dbName
-
-
-
- path
-
-
-
-
-
- key
-
-
-
- value
-
-
-
- 存储
- 保存 {{key}} = "{{value}}"
-
- 保存 {{key}} = "{{value}}" 当前用户
- 取值
- 取值 key = "{{key}}"
-
- 取值 key = "{{key}}" 当前用户
-
-
-
- db.get('{{dbName}}').value()
-
-
-
-
-
-
-
-
-
diff --git a/src/router/routes.js.REMOVED.git-id b/src/router/routes.js.REMOVED.git-id
index 87fea966..66314f5e 100644
--- a/src/router/routes.js.REMOVED.git-id
+++ b/src/router/routes.js.REMOVED.git-id
@@ -1 +1 @@
-16b7e123957b7e4ef7d5c6270616b8f00d2dd381
\ No newline at end of file
+ca12a11b6d9d0552250eb2da1e7bac555902f68d
\ No newline at end of file
diff --git a/src/store/modules/d2admin/modules/db.js b/src/store/modules/d2admin/modules/db.js
index 0e596a69..c6c8d8c3 100644
--- a/src/store/modules/d2admin/modules/db.js
+++ b/src/store/modules/d2admin/modules/db.js
@@ -17,16 +17,15 @@ function pathInit ({
validator = () => true,
defaultValue = ''
}) {
- const sys = db.get(dbName)
const uuid = util.cookies.get('uuid') || 'ghost-uuid'
- const currentPath = `${user ? `user.${uuid}` : 'public'}.${path}`
- const value = sys.get(currentPath).value()
+ const currentPath = `${dbName}.${user ? `user.${uuid}` : 'public'}${path ? `.${path}` : ''}`
+ const value = db.get(currentPath).value()
if (!(value && validator(value))) {
- sys
+ db
.set(currentPath, defaultValue)
.write()
}
- return `${dbName}.${currentPath}`
+ return currentPath
}
export default {
@@ -71,6 +70,56 @@ export default {
}
},
actions: {
+ /**
+ * @description 获取存储数据库对象
+ */
+ database () {
+ return new Promise(resolve => {
+ resolve(db.get(pathInit({
+ dbName: 'database',
+ user: false,
+ defaultValue: {}
+ })))
+ })
+ },
+ /**
+ * @description 清空存储数据库对象
+ */
+ databaseClear () {
+ return new Promise(resolve => {
+ resolve(db.get(pathInit({
+ dbName: 'database',
+ user: false,
+ validator: () => false,
+ defaultValue: {}
+ })))
+ })
+ },
+ /**
+ * @description 获取存储数据库对象 [区分用户]
+ */
+ databaseByUser () {
+ return new Promise(resolve => {
+ resolve(db.get(pathInit({
+ dbName: 'database',
+ user: true,
+ defaultValue: {}
+ })))
+ })
+ },
+ /**
+ * @description 清空存储数据库对象 [区分用户]
+ */
+ databaseByUserClear () {
+ return new Promise(resolve => {
+ resolve(db.get(pathInit({
+ dbName: 'database',
+ user: true,
+ validator: () => false,
+ defaultValue: {}
+ })))
+ })
+ },
/**
* @description 获取数据
* @description 效果类似于 dbName.path || defaultValue
@@ -84,7 +133,7 @@ export default {
path = '',
defaultValue = ''
}) {
- return new Promise((resolve, reject) => {
+ return new Promise(resolve => {
resolve(db.get(pathInit({
dbName,
path,