feat(Avatar): 更新Avatar组件以使用环境变量

This commit is contained in:
zyh 2024-10-22 06:23:17 +00:00
parent 8ae3280bbd
commit 3955a13050
2 changed files with 16 additions and 2 deletions

View File

@ -1,4 +1,5 @@
import { useState } from 'react';
import { env } from '~/config/env.client';
interface AvatarProps {
src: string;
@ -7,13 +8,13 @@ interface AvatarProps {
}
export function Avatar({ src, alt, className = '' }: AvatarProps) {
const [imgSrc, setImgSrc] = useState(src.startsWith('http') ? src : `${window.ENV.OSS_HOST}${src}`);
const [imgSrc, setImgSrc] = useState(src.startsWith('http') ? src : `${env.OSS_HOST}${src}`);
const [error, setError] = useState(false);
const handleError = () => {
setError(true);
// 设置一个默认的头像 URL
setImgSrc(`${window.ENV.OSS_HOST}/avatars/default-avatar.png`);
setImgSrc(`${env.OSS_HOST}/avatars/default-avatar.png`);
};
return (

13
app/config/env.client.ts Normal file
View File

@ -0,0 +1,13 @@
declare global {
interface Window {
ENV: {
OSS_HOST: string;
};
}
}
export const env = {
get OSS_HOST() {
return window.ENV?.OSS_HOST ?? '';
},
};