diff --git a/src/layout/header-aside/layout.vue b/src/layout/header-aside/layout.vue
index e79dea7a..5c249a89 100644
--- a/src/layout/header-aside/layout.vue
+++ b/src/layout/header-aside/layout.vue
@@ -43,7 +43,7 @@
-
+
@@ -80,6 +80,7 @@ export default {
computed: {
...mapState('d2admin', {
grayActive: state => state.gray.active,
+ transitionActive: state => state.transition.active,
asideCollapse: state => state.menu.asideCollapse
}),
...mapGetters('d2admin', {
diff --git a/src/menu/modules/demo-playground.js b/src/menu/modules/demo-playground.js
index 8b898b3d..97cb54be 100644
--- a/src/menu/modules/demo-playground.js
+++ b/src/menu/modules/demo-playground.js
@@ -32,7 +32,8 @@ export default {
{ path: `${pre}store/ua`, title: '浏览器信息', icon: 'info-circle' },
{ path: `${pre}store/gray`, title: '灰度模式', icon: 'eye' },
{ path: `${pre}store/fullscreen`, title: '全屏', icon: 'arrows-alt' },
- { path: `${pre}store/theme`, title: '主题', icon: 'diamond' }
+ { path: `${pre}store/theme`, title: '主题', icon: 'diamond' },
+ { path: `${pre}store/transition`, title: '页面过渡开关', icon: 'toggle-on' }
]
},
{
diff --git a/src/pages/demo/playground/store/transition/index.vue b/src/pages/demo/playground/store/transition/index.vue
new file mode 100644
index 00000000..9cb8dc52
--- /dev/null
+++ b/src/pages/demo/playground/store/transition/index.vue
@@ -0,0 +1,23 @@
+
+
+
+ {{active ? '关闭页面切换动画' : '打开页面切换动画'}}
+
+
+
+
+
diff --git a/src/router/routes.js.REMOVED.git-id b/src/router/routes.js.REMOVED.git-id
index bbbcc5b3..704e7e21 100644
--- a/src/router/routes.js.REMOVED.git-id
+++ b/src/router/routes.js.REMOVED.git-id
@@ -1 +1 @@
-2414e68d302f8c63a5f472513a885d93860227aa
\ No newline at end of file
+3f797ef981679608bad178b6a1a748bfa08e6ade
\ No newline at end of file
diff --git a/src/store/modules/d2admin/index.js b/src/store/modules/d2admin/index.js
index bcf4fcb4..6ad3350b 100644
--- a/src/store/modules/d2admin/index.js
+++ b/src/store/modules/d2admin/index.js
@@ -9,6 +9,7 @@ import fullscreen from './modules/fullscreen'
import ua from './modules/ua'
import gray from './modules/gray'
import page from './modules/page'
+import transition from './modules/transition'
export default {
namespaced: true,
@@ -23,6 +24,7 @@ export default {
fullscreen,
ua,
gray,
- page
+ page,
+ transition
}
}
diff --git a/src/store/modules/d2admin/modules/account.js b/src/store/modules/d2admin/modules/account.js
index 6db6da07..927188b4 100644
--- a/src/store/modules/d2admin/modules/account.js
+++ b/src/store/modules/d2admin/modules/account.js
@@ -96,6 +96,8 @@ export default {
this.commit('d2admin/user/load')
// DB -> store 加载主题
this.commit('d2admin/theme/load')
+ // DB -> store 加载页面过渡效果设置
+ this.commit('d2admin/transition/load')
// DB -> store 数据库加载上次退出时的多页列表
this.commit('d2admin/page/openedLoad')
// DB -> store 数据库加载这个用户之前设置的侧边栏折叠状态
diff --git a/src/store/modules/d2admin/modules/db.js b/src/store/modules/d2admin/modules/db.js
index 4af8d587..bcaa637c 100644
--- a/src/store/modules/d2admin/modules/db.js
+++ b/src/store/modules/d2admin/modules/db.js
@@ -20,7 +20,7 @@ function pathInit ({
const uuid = util.cookies.get('uuid') || 'ghost-uuid'
const currentPath = `${dbName}.${user ? `user.${uuid}` : 'public'}${path ? `.${path}` : ''}`
const value = db.get(currentPath).value()
- if (!(value && validator(value))) {
+ if (!(value !== undefined && validator(value))) {
db
.set(currentPath, defaultValue)
.write()
diff --git a/src/store/modules/d2admin/modules/transition.js b/src/store/modules/d2admin/modules/transition.js
new file mode 100644
index 00000000..17a3a73d
--- /dev/null
+++ b/src/store/modules/d2admin/modules/transition.js
@@ -0,0 +1,36 @@
+export default {
+ namespaced: true,
+ state: {
+ // 是否开启页面过度动画
+ active: true
+ },
+ mutations: {
+ /**
+ * @description 设置开启状态
+ * @param {Object} state vuex state
+ * @param {Boolean} active 新的状态
+ */
+ set (state, active) {
+ // store 赋值
+ state.active = active
+ // 持久化
+ this.commit('d2admin/db/setByUser', {
+ dbName: 'sys',
+ path: 'transition.active',
+ value: state.active
+ })
+ },
+ /**
+ * 从数据库读取页面过渡动画设置
+ * @param {Object} state vuex state
+ */
+ async load (state) {
+ // store 赋值
+ state.active = await this.dispatch('d2admin/db/getByUser', {
+ dbName: 'sys',
+ path: 'transition.active',
+ defaultValue: true
+ })
+ }
+ }
+}