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 @@ - - 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,