feat: 增加token获取

master
xjs 2025-11-12 17:29:50 +08:00
parent 48fe17a4cb
commit 87ffa1d4f9
2 changed files with 28 additions and 1 deletions

View File

@ -74,3 +74,19 @@ export const fetchWishList = async ({
return { result: [], message: response.message };
}
};
export const getCozeToken = async({
options,
}: {
options?: { signal?: AbortSignal; headers?: Record<string, string> };
}) => {
const response = await getRequest("https:///api.v3.ycymedu.com/api/sysDictData/secrtToken", {Id:740405293269061}, options);
if (response.code === 200) {
return { result: response.result };
} else {
return { result: [], message: response.message };
}
}

View File

@ -15,6 +15,9 @@ import {
} from "react";
import { useToast } from "@/hooks/use-toast";
import { MessageHandlerStrategy } from "@/hooks/useRealtimeClient";
import { useAbortController } from "@/hooks/useAbortController";
import { useSearchParams } from "react-router-dom";
import { getCozeToken } from "@/apis/user";
type RoomInfo = {
appId: string;
@ -69,7 +72,7 @@ export const RealtimeClientProvider = ({
}: {
children: ReactNode;
}) => {
const token = import.meta.env.VITE_COZE_TOKEN;
let token = "";
const botId = import.meta.env.VITE_COZE_BOT_ID;
const voiceId = import.meta.env.VITE_COZE_VOICE_ID;
const connectorId = "1024";
@ -97,6 +100,9 @@ export const RealtimeClientProvider = ({
const messageHandlerStrategy = useRef(new MessageHandlerStrategy());
const { getSignal } = useAbortController();
const [searchParams]= useSearchParams();
const userToken = searchParams.get("token") || '';
/** 初始化客户端并设置监听 */
const initClient = async ({
initMessage,
@ -106,6 +112,11 @@ export const RealtimeClientProvider = ({
fileInfo?: FileInfo;
}) => {
if(token === ''){
const resp = await getCozeToken({options:{signal:getSignal(),headers: { Authorization: `Bearer ${userToken}` }}})
token = resp.result as string
}
const client = new RealtimeClient({
accessToken: token,