diff --git a/src/store/modules/user.js b/src/store/modules/user.js index d127d9e..24e6871 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,5 +1,6 @@ import { login, logout, getInfo } from '@/api/login' import { getToken, setToken, removeToken } from '@/utils/auth' +import { isHttp, isEmpty } from "@/utils/validate" import defAva from '@/assets/images/profile.jpg' const useUserStore = defineStore( @@ -35,8 +36,10 @@ const useUserStore = defineStore( return new Promise((resolve, reject) => { getInfo().then(res => { const user = res.user - const avatar = (user.avatar == "" || user.avatar == null) ? defAva : import.meta.env.VITE_APP_BASE_API + user.avatar; - + let avatar = user.avatar || "" + if (!isHttp(avatar)) { + avatar = (isEmpty(avatar)) ? defAva : import.meta.env.VITE_APP_BASE_API + avatar + } if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组 this.roles = res.roles this.permissions = res.permissions diff --git a/src/utils/validate.js b/src/utils/validate.js index 71d0d06..8d32dc0 100644 --- a/src/utils/validate.js +++ b/src/utils/validate.js @@ -1,9 +1,21 @@ /** - * 判断url是否是http或https - * @param {string} path + * 判断value字符串是否为空 + * @param {string} value * @returns {Boolean} */ - export function isHttp(url) { +export function isEmpty(value) { + if (value == null || value == "" || value == undefined || value == "undefined") { + return true; + } + return false; +} + +/** + * 判断url是否是http或https + * @param {string} url + * @returns {Boolean} + */ +export function isHttp(url) { return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1 } @@ -12,7 +24,7 @@ * @param {string} path * @returns {Boolean} */ - export function isExternal(path) { +export function isExternal(path) { return /^(https?:|mailto:|tel:)/.test(path) }