From 4c7ebf2a1864eeda11421a080f76d35fc877ef78 Mon Sep 17 00:00:00 2001 From: FairyEver <1711467488@qq.com> Date: Wed, 22 Apr 2020 13:23:53 +0800 Subject: [PATCH 1/8] =?UTF-8?q?ci:=20=E8=BF=98=E5=8E=9F=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .releaserc.js | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/.releaserc.js b/.releaserc.js index ec2486a07..46d76b1d6 100644 --- a/.releaserc.js +++ b/.releaserc.js @@ -1,35 +1,8 @@ module.exports = { branch: 'master', plugins: [ - [ - '@semantic-release/commit-analyzer', - { - preset: 'angular', - releaseRules: [ - { type: 'style', release: 'patch' }, - { type: 'refactor', release: 'patch' }, - { type: 'build', release: 'patch' }, - { type: 'chore', release: 'patch' } - ] - } - ], - [ - '@semantic-release/release-notes-generator', - { - presetConfig: { - types: [ - { type: 'feat', section: 'Features' }, - { type: 'fix', section: 'Bug Fixes' }, - { type: 'chore', section: 'Chore' }, - { type: 'docs', section: 'Documents' }, - { type: 'style', section: 'Code Style' }, - { type: 'refactor', section: 'Refactor' }, - { type: 'perf', section: 'Performance improvement' }, - { type: 'test', section: 'Test' } - ] - } - } - ], + '@semantic-release/commit-analyzer', + '@semantic-release/release-notes-generator', [ '@semantic-release/changelog', { From 52e515181915d8dd19461d5baf82859e77323040 Mon Sep 17 00:00:00 2001 From: FairyEver <1711467488@qq.com> Date: Wed, 22 Apr 2020 17:28:03 +0800 Subject: [PATCH 2/8] docs: preview --- README.md | 2 ++ README.zh.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/README.md b/README.md index 6fbaa264f..acd05d6df 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ ![Deploy preview](https://github.com/d2-projects/d2-admin/workflows/Deploy%20preview/badge.svg) [![Netlify Status](https://api.netlify.com/api/v1/badges/a5dd4bbd-da3f-4145-98a9-8012577bdcf5/deploy-status)](https://app.netlify.com/sites/d2-admin/deploys) +The following access addresses are built and deployed by the latest master branch code at the same time. The access effect is completely consistent. Please select the appropriate access link according to your own network situation. + | server | link | server | | --- | --- | --- | | d2.pub | [preview](https://d2.pub/d2-admin/preview) | China server | diff --git a/README.zh.md b/README.zh.md index 64886bdaf..b54983f72 100644 --- a/README.zh.md +++ b/README.zh.md @@ -24,6 +24,8 @@ ![Deploy preview](https://github.com/d2-projects/d2-admin/workflows/Deploy%20preview/badge.svg) [![Netlify Status](https://api.netlify.com/api/v1/badges/a5dd4bbd-da3f-4145-98a9-8012577bdcf5/deploy-status)](https://app.netlify.com/sites/d2-admin/deploys) +下列访问地址均由最新的 master 分支代码同时构建部署,访问效果完全一致,请根据自身网络情况选择合适的访问链接。 + | 位置 | 链接 | 部署位置 | | --- | --- | --- | | d2.pub | [preview](https://d2.pub/d2-admin/preview) | 中国服务器 | From 7f03fbb2abcd9650827947d3da9714255c1885f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=80=9D=E7=BB=B4=E7=A9=BA=E9=97=B4?= Date: Thu, 23 Apr 2020 01:24:44 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=A4=9A=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E9=A1=B5=E6=8B=96=E6=8B=BD=E5=90=8E=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=97=B6=E5=AF=B9=E9=A6=96=E9=A1=B5=E7=9A=84?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/d2admin/modules/page.js | 50 ++++++++++++++++------- 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/src/store/modules/d2admin/modules/page.js b/src/store/modules/d2admin/modules/page.js index 10b6aaa69..598fd88b7 100644 --- a/src/store/modules/d2admin/modules/page.js +++ b/src/store/modules/d2admin/modules/page.js @@ -183,17 +183,16 @@ export default { * @param {Object} payload { tagName: 要关闭的标签名字 } */ async close ({ state, commit, dispatch }, { tagName }) { - // 下个新的页面 - let newPage = state.opened[0] + // 预定下个新页面 + let newPage = {} const isCurrent = state.current === tagName // 如果关闭的页面就是当前显示的页面 if (isCurrent) { // 去找一个新的页面 let len = state.opened.length - for (let i = 1; i < len; i++) { + for (let i = 0; i < len; i++) { if (state.opened[i].fullPath === tagName) { - if (i < len - 1) newPage = state.opened[i + 1] - else newPage = state.opened[i - 1] + newPage = i < len - 1 ? state.opened[i + 1] : state.opened[i - 1] break } } @@ -210,7 +209,7 @@ export default { await dispatch('opened2db') // 最后需要判断是否需要跳到首页 if (isCurrent) { - const { name = '', params = {}, query = {} } = newPage + const { name = 'index', params = {}, query = {} } = newPage let routerObj = { name, params, @@ -233,7 +232,14 @@ export default { }) if (currentIndex > 0) { // 删除打开的页面 并在缓存设置中删除 - state.opened.splice(1, currentIndex - 1).forEach(({ name }) => commit('keepAliveRemove', name)) + for (let i = state.opened.length - 1; i >= 0; i--) { + if (state.opened[i].name === 'index' || i >= currentIndex) { + continue + } + + commit('keepAliveRemove', state.opened[i].name) + state.opened.splice(i, 1) + } } state.current = pageAim if (router.app.$route.fullPath !== pageAim) router.push(pageAim) @@ -253,7 +259,14 @@ export default { if (page.fullPath === pageAim) currentIndex = index }) // 删除打开的页面 并在缓存设置中删除 - state.opened.splice(currentIndex + 1).forEach(({ name }) => commit('keepAliveRemove', name)) + for (let i = state.opened.length - 1; i >= 0; i--) { + if (state.opened[i].name === 'index' || currentIndex >= i) { + continue + } + + commit('keepAliveRemove', state.opened[i].name) + state.opened.splice(i, 1) + } // 设置当前的页面 state.current = pageAim if (router.app.$route.fullPath !== pageAim) router.push(pageAim) @@ -273,11 +286,13 @@ export default { if (page.fullPath === pageAim) currentIndex = index }) // 删除打开的页面数据 并更新缓存设置 - if (currentIndex === 0) { - state.opened.splice(1).forEach(({ name }) => commit('keepAliveRemove', name)) - } else { - state.opened.splice(currentIndex + 1).forEach(({ name }) => commit('keepAliveRemove', name)) - state.opened.splice(1, currentIndex - 1).forEach(({ name }) => commit('keepAliveRemove', name)) + for (let i = state.opened.length - 1; i >= 0; i--) { + if (state.opened[i].name === 'index' || currentIndex === i) { + continue + } + + commit('keepAliveRemove', state.opened[i].name) + state.opened.splice(i, 1) } // 设置新的页面 state.current = pageAim @@ -292,7 +307,14 @@ export default { */ async closeAll ({ state, commit, dispatch }) { // 删除打开的页面 并在缓存设置中删除 - state.opened.splice(1).forEach(({ name }) => commit('keepAliveRemove', name)) + for (let i = state.opened.length - 1; i >= 0; i--) { + if (state.opened[i].name === 'index') { + continue + } + + commit('keepAliveRemove', state.opened[i].name) + state.opened.splice(i, 1) + } // 持久化 await dispatch('opened2db') // 关闭所有的标签页后需要判断一次现在是不是在首页 From e2c4a40119ae7ccde5b94868830a802ba1f5f74d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=80=9D=E7=BB=B4=E7=A9=BA=E9=97=B4?= Date: Thu, 23 Apr 2020 09:50:26 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20element=20=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E8=A1=A5=E4=B8=81=201.=E4=BF=AE=E5=A4=8D=20IE=20?= =?UTF-8?q?=E6=B8=B8=E8=A7=88=E5=99=A8=E4=B8=8B=20el-tabs=20=E5=AE=BD?= =?UTF-8?q?=E5=BA=A6=E4=B8=8D=E8=83=BD=E6=92=91=E6=BB=A1=202.=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=20Chrome=20=E6=B8=B8=E8=A7=88=E5=99=A8=E4=B8=8B=20el-?= =?UTF-8?q?tabs=20=E5=A4=B4=E9=83=A8=E7=BA=BF=E6=A0=BC=E9=94=99=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/style/fixed/element.scss | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/assets/style/fixed/element.scss b/src/assets/style/fixed/element.scss index a6c7fc9b9..4e7f42cf8 100644 --- a/src/assets/style/fixed/element.scss +++ b/src/assets/style/fixed/element.scss @@ -16,4 +16,16 @@ .el-tabs__item:focus.is-active.is-focus:not(:active) { box-shadow: none !important; -} \ No newline at end of file +} + +// 修复IE宽度不能撑满 +.el-table__body, +.el-table__header { + width: 100% !important; +} + +// Chrome下表格头部错位修复 +.el-table th.gutter, +.el-table colgroup.gutter { + display: table-cell !important; +} From 349e08b0a876489b8900897ebbcdc99562baf588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=80=9D=E7=BB=B4=E7=A9=BA=E9=97=B4?= Date: Thu, 23 Apr 2020 11:00:49 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BE=A7=E8=BE=B9?= =?UTF-8?q?=E6=A0=8F=E8=8F=9C=E5=8D=95=E6=8A=98=E5=8F=A0=E5=8A=A8=E7=94=BB?= =?UTF-8?q?=E6=95=88=E6=9E=9C=E5=88=87=E6=8D=A2=E4=B8=8E=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/style/theme/theme-base.scss | 8 +++- .../components/menu-side/index.js | 5 +- src/layout/header-aside/layout.vue | 18 +++++-- src/setting.js | 5 +- src/store/modules/d2admin/modules/account.js | 4 +- src/store/modules/d2admin/modules/menu.js | 48 ++++++++++++++++--- .../demo/playground/store/menu/index.vue | 9 +++- 7 files changed, 78 insertions(+), 19 deletions(-) diff --git a/src/assets/style/theme/theme-base.scss b/src/assets/style/theme/theme-base.scss index b9f3262f3..4d420b90e 100644 --- a/src/assets/style/theme/theme-base.scss +++ b/src/assets/style/theme/theme-base.scss @@ -74,13 +74,15 @@ } .d2-theme-container { .d2-theme-container-aside { - transition: width .3s; position: relative; .d2-layout-header-aside-menu-side { @extend %full; overflow: hidden; } } + .d2-theme-container-transition { + transition: width .3s; + } .d2-theme-container-main { padding: 0px; position: relative; @@ -116,13 +118,15 @@ .d2-theme-header { // logo区域 .logo-group { - transition: width .3s; float: left; text-align: center; img { height: 60px; } } + .logo-transition { + transition: width .3s; + } // 折叠侧边栏切换按钮 .toggle-aside-btn { float: left; diff --git a/src/layout/header-aside/components/menu-side/index.js b/src/layout/header-aside/components/menu-side/index.js index cbf125229..f1bf980c4 100644 --- a/src/layout/header-aside/components/menu-side/index.js +++ b/src/layout/header-aside/components/menu-side/index.js @@ -11,7 +11,7 @@ export default { render (h) { return h('div', { attrs: { class: 'd2-layout-header-aside-menu-side' } }, [ h('el-menu', { - props: { collapse: this.asideCollapse, uniqueOpened: true, defaultActive: this.$route.fullPath }, + props: { collapse: this.asideCollapse, collapseTransition: this.asideTransition, uniqueOpened: true, defaultActive: this.$route.fullPath }, ref: 'menu', on: { select: this.handleMenuSelect } }, this.aside.map(menu => (menu.children === undefined ? elMenuItem : elSubmenu).call(this, h, menu))), @@ -32,7 +32,8 @@ export default { computed: { ...mapState('d2admin/menu', [ 'aside', - 'asideCollapse' + 'asideCollapse', + 'asideTransition' ]) }, watch: { diff --git a/src/layout/header-aside/layout.vue b/src/layout/header-aside/layout.vue index b8318766f..839e44330 100644 --- a/src/layout/header-aside/layout.vue +++ b/src/layout/header-aside/layout.vue @@ -6,7 +6,11 @@
- + @@ -30,7 +34,14 @@
-
+
@@ -109,7 +120,8 @@ export default { keepAlive: state => state.page.keepAlive, grayActive: state => state.gray.active, transitionActive: state => state.transition.active, - asideCollapse: state => state.menu.asideCollapse + asideCollapse: state => state.menu.asideCollapse, + asideTransition: state => state.menu.asideTransition }), ...mapGetters('d2admin', { themeActiveSetting: 'theme/activeSetting' diff --git a/src/setting.js b/src/setting.js index 3d1593795..01161f0d8 100644 --- a/src/setting.js +++ b/src/setting.js @@ -7,9 +7,10 @@ export default { close: 'esc' } }, - // 侧边栏默认折叠状态 + // 侧边栏默认配置 menu: { - asideCollapse: false + asideCollapse: false, + asideTransition: true }, // 在读取持久化数据失败时默认页面 page: { diff --git a/src/store/modules/d2admin/modules/account.js b/src/store/modules/d2admin/modules/account.js index 4e5d3e594..cbd960d09 100644 --- a/src/store/modules/d2admin/modules/account.js +++ b/src/store/modules/d2admin/modules/account.js @@ -77,8 +77,8 @@ export default { await dispatch('d2admin/transition/load', null, { root: true }) // 持久化数据加载上次退出时的多页列表 await dispatch('d2admin/page/openedLoad', null, { root: true }) - // 持久化数据加载侧边栏折叠状态 - await dispatch('d2admin/menu/asideCollapseLoad', null, { root: true }) + // 持久化数据加载侧边栏配置 + await dispatch('d2admin/menu/asideLoad', null, { root: true }) // 持久化数据加载全局尺寸 await dispatch('d2admin/size/load', null, { root: true }) // 持久化数据加载颜色设置 diff --git a/src/store/modules/d2admin/modules/menu.js b/src/store/modules/d2admin/modules/menu.js index d23370804..183387593 100644 --- a/src/store/modules/d2admin/modules/menu.js +++ b/src/store/modules/d2admin/modules/menu.js @@ -9,7 +9,9 @@ export default { // 侧栏菜单 aside: [], // 侧边栏收缩 - asideCollapse: setting.menu.asideCollapse + asideCollapse: setting.menu.asideCollapse, + // 侧边栏折叠动画 + asideTransition: setting.menu.asideTransition }, actions: { /** @@ -44,17 +46,51 @@ export default { }, { root: true }) }, /** - * 从持久化数据读取侧边栏展开或者收缩 + * 设置侧边栏折叠动画 * @param {Object} context + * @param {Boolean} transition is transition */ - async asideCollapseLoad ({ state, dispatch }) { + async asideTransitionSet ({ state, dispatch }, transition) { // store 赋值 - state.asideCollapse = await dispatch('d2admin/db/get', { + state.asideTransition = transition + // 持久化 + await dispatch('d2admin/db/set', { dbName: 'sys', - path: 'menu.asideCollapse', - defaultValue: setting.menu.asideCollapse, + path: 'menu.asideTransition', + value: state.asideTransition, + user: true + }, { root: true }) + }, + /** + * 切换侧边栏折叠动画 + * @param {Object} context + */ + async asideTransitionToggle ({ state, dispatch }) { + // store 赋值 + state.asideTransition = !state.asideTransition + // 持久化 + await dispatch('d2admin/db/set', { + dbName: 'sys', + path: 'menu.asideTransition', + value: state.asideTransition, user: true }, { root: true }) + }, + /** + * 持久化数据加载侧边栏设置 + * @param {Object} context + */ + async asideLoad ({ state, dispatch }) { + // store 赋值 + const menu = await dispatch('d2admin/db/get', { + dbName: 'sys', + path: 'menu', + defaultValue: setting.menu, + user: true + }, { root: true }) + + state.asideCollapse = menu.asideCollapse + state.asideTransition = menu.asideTransition } }, mutations: { diff --git a/src/views/demo/playground/store/menu/index.vue b/src/views/demo/playground/store/menu/index.vue index 56cee0e79..c447dd283 100644 --- a/src/views/demo/playground/store/menu/index.vue +++ b/src/views/demo/playground/store/menu/index.vue @@ -12,6 +12,7 @@ 设置侧栏空菜单 恢复侧栏菜单 + {{`${asideTransition ? '关闭' : '开启'}侧栏动画效果`}} @@ -21,7 +22,7 @@