From e82ee73704c140127ed46c8f4fd1183acbb7e97f Mon Sep 17 00:00:00 2001 From: RuoYi Date: Wed, 20 Nov 2024 10:47:31 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=A4=B4=E5=83=8Fhttp(s)?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/user.js | 7 +++++-- src/utils/validate.js | 20 ++++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) 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) }