12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import store from '@/store/index'
- const getters = {
- sidebar: state => state.app.sidebar,
- size: state => state.app.size,
- device: state => state.app.device,
- visitedViews: state => state.tagsView.visitedViews,
- cachedViews: state => state.tagsView.cachedViews,
- currentUser: state => state.user,
- token: state => state.user.token,
- avatar: state => state.user.avatar,
- name: state => state.user.name,
- nickName: state => state.user.nickName,
- introduction: state => state.user.introduction,
- school: state => state.user.busiSchool?.first(),
- firstClassName: state => state.user.busiSchool?.first()?.grade?.first()?.clazz?.first()?.className,
- roleList: state => state.user.roleList || [],
- roles: (state, getters) => getters.roleList.map(r => r.roleKey),
- currentRole: (state, getters) => getters.roleList.find(r => r.isCurrentRole),
- isFrontStudent: (state, getters) => getters.currentRole?.roleKey == 'frontStudent',
- isFrontTeacher: (state, getters) => getters.currentRole?.roleKey == 'frontTeacher',
- isFrontHeadteacher: (state, getters) => getters.currentRole?.roleKey == 'frontHeadteacher',
- isFrontMaster: (state, getters) => getters.currentRole?.roleKey == 'frontMaster',
- isAdmin: (state, getters) => getters.currentRole?.roleKey == 'admin',
- isCommon: (state, getters) => getters.currentRole?.roleKey == 'common',
- isSenior: state => state.user.period == 'senior',
- isJunior: state => state.user.period == 'junior',
- isPrimary: state => state.user.period == 'primary',
- period: state => state.user.period,
- permissions: state => state.user.permissions,
- permission_routes: state => state.permission.routes,
- topbarRouters: state => state.permission.topbarRouters,
- defaultRoutes: state => state.permission.defaultRoutes,
- sidebarRouters: state => state.permission.sidebarRouters,
- isWideScreen: state => state.permission.isWideScreen,
- studentParams: state => state.settings.studentParams,
- hasPermissions: (state, getters) => {
- return function(value) {
- const all_permission = '*:*:*'
- const permissions = getters.permissions
- if (value && value instanceof Array && value.length > 0) {
- const permissionFlag = value
- return permissions.some(permission => all_permission === permission || permissionFlag.includes(permission))
- } else {
- throw new Error(`请设置操作权限标签值`)
- }
- }
- }
- }
- export default getters
|