Skip to content

Commit 868d5db

Browse files
committed
fix(demo): menuHeaderRender
- move check permission -
1 parent 91670fc commit 868d5db

File tree

10 files changed

+28
-24
lines changed

10 files changed

+28
-24
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"lint:nofix": "vue-cli-service lint --no-fix"
1212
},
1313
"dependencies": {
14-
"@ant-design-vue/pro-layout": "^0.3.12",
14+
"@ant-design-vue/pro-layout": "^1.0.1",
1515
"@antv/data-set": "^0.10.2",
1616
"ant-design-vue": "^1.6.2",
1717
"axios": "^0.19.0",

src/core/lazy_use.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ import VueCropper from 'vue-cropper'
5353
import Dialog from '@/components/Dialog'
5454
import MultiTab from '@/components/MultiTab'
5555
import PageLoading from '@/components/PageLoading'
56-
import PermissionHelper from '@/utils/helper/permission'
56+
import PermissionHelper from '@/core/permission/permission'
5757
import './directives/action'
5858

5959
Vue.use(ConfigProvider)

src/utils/helper/permission.js renamed to src/core/permission/permission.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ export const PERMISSION_ENUM = {
1010
'export': { key: 'export', label: '导出' }
1111
}
1212

13+
/**
14+
* <a-button v-if="$auth('form.edit')">Button</a-button>
15+
* @param Vue
16+
*/
1317
function plugin (Vue) {
1418
if (plugin.installed) {
1519
return

src/core/use.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import 'ant-design-vue/dist/antd.less'
1010
import VueClipboard from 'vue-clipboard2'
1111
import MultiTab from '@/components/MultiTab'
1212
import PageLoading from '@/components/PageLoading'
13-
import PermissionHelper from '@/utils/helper/permission'
13+
import PermissionHelper from '@/core/permission/permission'
1414
// import '@/components/use'
1515
import './directives/action'
1616

src/layouts/BasicLayout.vue

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
<template>
22
<pro-layout
3-
:title="title"
43
:menus="menus"
54
:collapsed="collapsed"
65
:mediaQuery="query"
76
:isMobile="isMobile"
87
:handleMediaQuery="handleMediaQuery"
98
:handleCollapse="handleCollapse"
10-
:logo="logoRender"
119
:i18nRender="i18nRender"
1210
v-bind="settings"
1311
>
@@ -18,6 +16,16 @@
1816
<ads v-if="isProPreviewSite && !collapsed"/>
1917
<!-- Ads end -->
2018

19+
<!-- 1.0.0+ 版本 pro-layout 提供 API,
20+
我们推荐使用这种方式进行 LOGO 和 title 自定义
21+
-->
22+
<template v-slot:menuHeaderRender>
23+
<div>
24+
<logo-svg />
25+
<h1>{{ title }}</h1>
26+
</div>
27+
</template>
28+
2129
<setting-drawer :settings="settings" @change="handleSettingChange" />
2230
<template v-slot:rightContentRender>
2331
<right-content :top-menu="settings.layout === 'topmenu'" :is-mobile="isMobile" :theme="settings.theme" />
@@ -47,6 +55,7 @@ export default {
4755
SettingDrawer,
4856
RightContent,
4957
GlobalFooter,
58+
LogoSvg,
5059
Ads
5160
},
5261
data () {
@@ -151,9 +160,6 @@ export default {
151160
}
152161
break
153162
}
154-
},
155-
logoRender () {
156-
return <LogoSvg />
157163
}
158164
}
159165
}

src/main.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,18 @@ import themePluginConfig from '../config/themePluginConfig'
1616
import './mock'
1717

1818
import bootstrap from './core/bootstrap'
19-
import './core/lazy_use'
19+
import './core/lazy_use' // use lazy load components
2020
import './permission' // permission control
2121
import './utils/filter' // global filter
22-
import './global.less'
22+
import './global.less' // global style
2323

2424
Vue.config.productionTip = false
2525

2626
// mount axios to `Vue.$http` and `this.$http`
2727
Vue.use(VueAxios)
28+
// use pro-layout components
2829
Vue.component('pro-layout', ProLayout)
30+
Vue.component('page-container', PageHeaderWrapper)
2931
Vue.component('page-header-wrapper', PageHeaderWrapper)
3032

3133
window.umi_plugin_ant_themeVar = themePluginConfig.theme
@@ -34,6 +36,7 @@ new Vue({
3436
router,
3537
store,
3638
i18n,
39+
// init localstorage, vuex
3740
created: bootstrap,
3841
render: h => h(App)
3942
}).$mount('#app')

src/permission.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { i18nRender } from '@/locales'
1010

1111
NProgress.configure({ showSpinner: false }) // NProgress Configuration
1212

13-
const whiteList = ['login', 'register', 'registerResult'] // no redirect whitelist
13+
const allowList = ['login', 'register', 'registerResult'] // no redirect allowList
1414
const loginRoutePath = '/user/login'
1515
const defaultRoutePath = '/dashboard/workplace'
1616

@@ -61,8 +61,8 @@ router.beforeEach((to, from, next) => {
6161
}
6262
}
6363
} else {
64-
if (whiteList.includes(to.name)) {
65-
// 在免登录白名单,直接进入
64+
if (allowList.includes(to.name)) {
65+
// 在免登录名单,直接进入
6666
next()
6767
} else {
6868
next({ path: loginRoutePath, query: { redirect: to.fullPath } })

src/utils/permissions.js

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/views/other/UserList.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@
165165
import pick from 'lodash.pick'
166166
import { STable } from '@/components'
167167
import { getRoleList, getServiceList } from '@/api/manage'
168-
import { PERMISSION_ENUM } from '@/utils/helper/permission'
168+
import { PERMISSION_ENUM } from '@/core/permission/permission'
169169
170170
const STATUS = {
171171
1: '启用',

src/views/other/modules/RoleModal.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323

2424
<script>
2525
import { getPermissions } from '@/api/manage'
26-
import { actionToObject } from '@/utils/permissions'
2726
import pick from 'lodash.pick'
2827
2928
export default {
@@ -123,7 +122,7 @@ export default {
123122
getPermissions().then(res => {
124123
const result = res.result
125124
that.permissions = result.map(permission => {
126-
const options = actionToObject(permission.actionData)
125+
const options = JSON.parse(permission.actionData) || []
127126
permission.checkedAll = false
128127
permission.selected = []
129128
permission.indeterminate = false

0 commit comments

Comments
 (0)