diff --git a/packages/global/support/user/utils.ts b/packages/global/support/user/utils.ts new file mode 100644 index 000000000..b0db78a92 --- /dev/null +++ b/packages/global/support/user/utils.ts @@ -0,0 +1,16 @@ +export const getRandomUserAvatar = () => { + const defaultAvatars = [ + '/imgs/avatar/RoyalBlueAvatar.svg', + '/imgs/avatar/PurpleAvatar.svg', + '/imgs/avatar/AdoraAvatar.svg', + '/imgs/avatar/OrangeAvatar.svg', + '/imgs/avatar/RedAvatar.svg', + '/imgs/avatar/GrayModernAvatar.svg', + '/imgs/avatar/TealAvatar.svg', + '/imgs/avatar/GreenAvatar.svg', + '/imgs/avatar/BrightBlueAvatar.svg', + '/imgs/avatar/BlueAvatar.svg' + ]; + + return defaultAvatars[Math.floor(Math.random() * defaultAvatars.length)]; +}; diff --git a/packages/service/support/user/schema.ts b/packages/service/support/user/schema.ts index ee0763f60..97de98295 100644 --- a/packages/service/support/user/schema.ts +++ b/packages/service/support/user/schema.ts @@ -3,22 +3,10 @@ const { Schema } = connectionMongo; import { hashStr } from '@fastgpt/global/common/string/tools'; import type { UserModelSchema } from '@fastgpt/global/support/user/type'; import { UserStatusEnum, userStatusMap } from '@fastgpt/global/support/user/constant'; +import { getRandomUserAvatar } from '@fastgpt/global/support/user/utils'; export const userCollectionName = 'users'; -const defaultAvatars = [ - '/imgs/avatar/RoyalBlueAvatar.svg', - '/imgs/avatar/PurpleAvatar.svg', - '/imgs/avatar/AdoraAvatar.svg', - '/imgs/avatar/OrangeAvatar.svg', - '/imgs/avatar/RedAvatar.svg', - '/imgs/avatar/GrayModernAvatar.svg', - '/imgs/avatar/TealAvatar.svg', - '/imgs/avatar/GreenAvatar.svg', - '/imgs/avatar/BrightBlueAvatar.svg', - '/imgs/avatar/BlueAvatar.svg' -]; - const UserSchema = new Schema({ status: { type: String, @@ -47,7 +35,7 @@ const UserSchema = new Schema({ }, avatar: { type: String, - default: defaultAvatars[Math.floor(Math.random() * defaultAvatars.length)] + default: getRandomUserAvatar() }, promotionRate: { diff --git a/projects/app/src/components/core/chat/ChatContainer/ChatBox/index.tsx b/projects/app/src/components/core/chat/ChatContainer/ChatBox/index.tsx index d2a363db0..939d152aa 100644 --- a/projects/app/src/components/core/chat/ChatContainer/ChatBox/index.tsx +++ b/projects/app/src/components/core/chat/ChatContainer/ChatBox/index.tsx @@ -104,14 +104,9 @@ const ChatBox = ({ showVoiceIcon = true, showEmptyIntro = false, active = true, - shareId, - outLinkUid, - teamId, - teamToken, onStartChat }: Props) => { const ScrollContainerRef = useRef(null); - const router = useRouter(); const { t } = useTranslation(); const { toast } = useToast(); const { feConfigs } = useSystemStore(); @@ -925,10 +920,6 @@ const ChatBox = ({ isLastChild={index === chatRecords.length - 1} {...{ showVoiceIcon, - shareId, - outLinkUid, - teamId, - teamToken, statusBoxData, questionGuides, onMark: onMark( @@ -1004,17 +995,13 @@ const ChatBox = ({ onCloseUserLike, onMark, onReadUserDislike, - outLinkUid, questionGuides, retryInput, - shareId, showEmpty, showMarkIcon, showVoiceIcon, statusBoxData, t, - teamId, - teamToken, userAvatar, variableList?.length, welcomeText diff --git a/projects/app/src/pages/api/core/chat/outLink/init.ts b/projects/app/src/pages/api/core/chat/outLink/init.ts index 27a03975f..eaf9a0660 100644 --- a/projects/app/src/pages/api/core/chat/outLink/init.ts +++ b/projects/app/src/pages/api/core/chat/outLink/init.ts @@ -12,6 +12,7 @@ import { getAppLatestVersion } from '@fastgpt/service/core/app/version/controlle import { FlowNodeTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; import { NextAPI } from '@/service/middleware/entry'; import { UserModelSchema } from '@fastgpt/global/support/user/type'; +import { getRandomUserAvatar } from '@fastgpt/global/support/user/utils'; async function handler(req: NextApiRequest, res: NextApiResponse) { let { chatId, shareId, outLinkUid } = req.query as InitOutLinkChatProps; @@ -48,7 +49,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { chatId, appId: app._id, title: chat?.title, - userAvatar: tmb?.user?.avatar, + userAvatar: getRandomUserAvatar(), variables: chat?.variables, app: { chatConfig: getAppChatConfig({