diff --git a/web/src/components/customPic/index.vue b/web/src/components/customPic/index.vue
index 3952e7a3a..fe5ecbde4 100644
--- a/web/src/components/customPic/index.vue
+++ b/web/src/components/customPic/index.vue
@@ -9,7 +9,7 @@
-
+
@@ -34,6 +34,10 @@ const props = defineProps({
type: String,
required: false,
default: ''
+ },
+ preview: {
+ type: Boolean,
+ default: false
}
})
@@ -61,6 +65,7 @@ const file = computed(() => {
}
return props.picSrc
})
+const previewSrcList = computed(() => props.preview ? [file.value] : [])
diff --git a/web/src/permission.js b/web/src/permission.js
index 09cc94612..61a727ed9 100644
--- a/web/src/permission.js
+++ b/web/src/permission.js
@@ -51,7 +51,11 @@ router.beforeEach(async(to, from) => {
}
// token 可以解析但是却是不存在的用户 id 或角色 id 会导致无限调用
if (userStore.userInfo?.authority?.defaultRouter != null) {
- return { name: userStore.userInfo.authority.defaultRouter }
+ if (router.hasRoute(userStore.userInfo.authority.defaultRouter)) {
+ return { name: userStore.userInfo.authority.defaultRouter }
+ } else {
+ return { path: '/layout/404' }
+ }
} else {
// 强制退出账号
userStore.ClearStorage()
@@ -72,7 +76,11 @@ router.beforeEach(async(to, from) => {
if (!routerStore.asyncRouterFlag && whiteList.indexOf(from.name) < 0) {
await getRouter(userStore)
if (userStore.token) {
- return { ...to, replace: true }
+ if (router.hasRoute(userStore.userInfo.authority.defaultRouter)) {
+ return { ...to, replace: true }
+ } else {
+ return { path: '/layout/404' }
+ }
} else {
return {
name: 'Login',
diff --git a/web/src/pinia/modules/user.js b/web/src/pinia/modules/user.js
index eb20d07d6..e9473723b 100644
--- a/web/src/pinia/modules/user.js
+++ b/web/src/pinia/modules/user.js
@@ -65,7 +65,13 @@ export const useUserStore = defineStore('user', () => {
asyncRouters.forEach(asyncRouter => {
router.addRoute(asyncRouter)
})
- await router.replace({ name: userInfo.value.authority.defaultRouter })
+
+ if (!router.hasRoute(userInfo.value.authority.defaultRouter)) {
+ ElMessage.error("请联系管理员进行授权")
+ } else {
+ await router.replace({ name: userInfo.value.authority.defaultRouter })
+ }
+
loadingInstance.value.close()
const isWin = ref(/windows/i.test(navigator.userAgent))
diff --git a/web/src/view/example/upload/upload.vue b/web/src/view/example/upload/upload.vue
index c5d230d50..38706de0e 100644
--- a/web/src/view/example/upload/upload.vue
+++ b/web/src/view/example/upload/upload.vue
@@ -33,7 +33,7 @@
-
+