Browse Source

feat: 用户头像新增支持http(s)链接

master
insistence 2 months ago
parent
commit
27fe0e04f6
  1. 7
      ruoyi-fastapi-frontend/src/store/modules/user.js
  2. 18
      ruoyi-fastapi-frontend/src/utils/validate.js

7
ruoyi-fastapi-frontend/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

18
ruoyi-fastapi-frontend/src/utils/validate.js

@ -1,9 +1,21 @@
/**
* 判断value字符串是否为空
* @param {string} value
* @returns {Boolean}
*/
export function isEmpty(value) {
if (value == null || value == "" || value == undefined || value == "undefined") {
return true
}
return false
}
/**
* 判断url是否是http或https
* @param {string} path
* @param {string} url
* @returns {Boolean}
*/
export function isHttp(url) {
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)
}

Loading…
Cancel
Save