RuoYi
2024-11-20 e82ee73704c140127ed46c8f4fd1183acbb7e97f
用户头像http(s)链接支持
已修改2个文件
27 ■■■■ 文件已修改
src/store/modules/user.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/validate.js 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 @@
        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
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)
}