This commit is contained in:
sijinhui 2024-04-12 16:21:04 +08:00
parent 9001d64faa
commit 9fa4ed27bb
2 changed files with 73 additions and 70 deletions

View File

@ -101,9 +101,7 @@ export default function VoiceInput({
); );
} }
const startRecognition = async () => { const startRecognition = () => {
let token = await get_access_token();
if (voiceInputLoading) { if (voiceInputLoading) {
recognizer.current?.close(); recognizer.current?.close();
setVoiceInputLoading(false); setVoiceInputLoading(false);
@ -116,6 +114,10 @@ export default function VoiceInput({
setTempUserInput(userInput); // 开始的时候拷贝一份用于复原 setTempUserInput(userInput); // 开始的时候拷贝一份用于复原
setVoiceInputText(""); setVoiceInputText("");
const getToken = async () => {
return await get_access_token();
};
getToken().then((token) => {
const speechConfig = ms_audio_sdk.SpeechConfig.fromAuthorizationToken( const speechConfig = ms_audio_sdk.SpeechConfig.fromAuthorizationToken(
token, token,
"eastasia", "eastasia",
@ -147,6 +149,7 @@ export default function VoiceInput({
setVoiceInputLoading(false); setVoiceInputLoading(false);
}, },
); );
});
}; };
const icon = useMemo(() => { const icon = useMemo(() => {

View File

@ -8,18 +8,18 @@ export function getTokenLength(input: string): number {
return encoding.encode(input).length; return encoding.encode(input).length;
} }
export async function fetcher<JSON = any>( // export async function fetcher<JSON = any>(
input: RequestInfo, // input: RequestInfo,
init?: RequestInit, // init?: RequestInit,
): Promise<JSON> { // ): Promise<JSON> {
const response = await fetch(input, { ...init, cache: "no-store" }); // const response = await fetch(input, { ...init, cache: "no-store" });
//
// return response.json();
// }
return response.json(); // export const capitalize = (s: string) => {
} // return s.charAt(0).toUpperCase() + s.slice(1);
// };
export const capitalize = (s: string) => {
return s.charAt(0).toUpperCase() + s.slice(1);
};
export const truncate = (str: string, num: number) => { export const truncate = (str: string, num: number) => {
if (!str) return ""; if (!str) return "";
@ -29,33 +29,33 @@ export const truncate = (str: string, num: number) => {
return str.slice(0, num) + "..."; return str.slice(0, num) + "...";
}; };
export const getBlurDataURL = async (url: string | null) => { // export const getBlurDataURL = async (url: string | null) => {
if (!url) { // if (!url) {
return "data:image/webp;base64,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; // return "data:image/webp;base64,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
} // }
try { // try {
const response = await fetch( // const response = await fetch(
`https://wsrv.nl/?url=${url}&w=50&h=50&blur=5`, // `https://wsrv.nl/?url=${url}&w=50&h=50&blur=5`,
); // );
const buffer = await response.arrayBuffer(); // const buffer = await response.arrayBuffer();
const base64 = Buffer.from(buffer).toString("base64"); // const base64 = Buffer.from(buffer).toString("base64");
//
// return `data:image/png;base64,${base64}`;
// } catch (error) {
// return "data:image/webp;base64,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
// }
// };
return `data:image/png;base64,${base64}`; // export const placeholderBlurhash =
} catch (error) { // "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAoJJREFUWEfFl4lu4zAMRO3cx/9/au6reMaOdkxTTl0grQFCRoqaT+SQotq2bV9N8rRt28xms87m83l553eZ/9vr9Wpkz+ezkT0ej+6dv1X81AFw7M4FBACPVn2c1Z3zLgDeJwHgeLFYdAARYioAEAKJEG2WAjl3gCwNYymQQ9b7/V4spmIAwO6Wy2VnAMikBWlDURBELf8CuN1uHQSrPwMAHK5WqwFELQ01AIXdAa7XawfAb3p6AOwK5+v1ugAoEq4FRSFLgavfQ49jAGQpAE5wjgGCeRrGdBArwHOPcwFcLpcGU1X0IsBuN5tNgYhaiFFwHTiAwq8I+O5xfj6fOz38K+X/fYAdb7fbAgFAjIJ6Aav3AYlQ6nfnDoDz0+lUxNiLALvf7XaDNGQ6GANQBKR85V27B4D3QQRw7hGIYlQKWGM79hSweyCUe1blXhEAogfABwHAXAcqSYkxCtHLUK3XBajSc4Dj8dilAeiSAgD2+30BAEKV4GKcAuDqB4TdYwBgPQByCgApUBoE4EJUGvxUjF3Q69/zLw3g/HA45ABKgdIQu+JPIyDnisCfAxAFNFM0EFNQ64gfS0EUoQP8ighrZSjn3oziZEQpauyKbfjbZchHUL/3AS/Dd30gAkxuRACgfO+EWQW8qwI1o+wseNuKcQiESjALvwNoMI0TcRzD4lFcPYwIM+JTF5x6HOs8yI7jeB5oKhpMRFH9UwaSCDB2Jmg4rc6E2TT0biIaG0rQhNqyhpHBcayTTSXH6vcDL7/sdqRK8LkwTsU499E8vRcAojHcZ4AxABdilgrp4lsXk8oVqgwh7+6H3phqd8J0Kk4vbx/+sZqCD/vNLya/5dT9fAH8g1WdNGgwbQAAAABJRU5ErkJggg==";
return "data:image/webp;base64,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
}
};
export const placeholderBlurhash = // export const toDateString = (date: Date) => {
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAoJJREFUWEfFl4lu4zAMRO3cx/9/au6reMaOdkxTTl0grQFCRoqaT+SQotq2bV9N8rRt28xms87m83l553eZ/9vr9Wpkz+ezkT0ej+6dv1X81AFw7M4FBACPVn2c1Z3zLgDeJwHgeLFYdAARYioAEAKJEG2WAjl3gCwNYymQQ9b7/V4spmIAwO6Wy2VnAMikBWlDURBELf8CuN1uHQSrPwMAHK5WqwFELQ01AIXdAa7XawfAb3p6AOwK5+v1ugAoEq4FRSFLgavfQ49jAGQpAE5wjgGCeRrGdBArwHOPcwFcLpcGU1X0IsBuN5tNgYhaiFFwHTiAwq8I+O5xfj6fOz38K+X/fYAdb7fbAgFAjIJ6Aav3AYlQ6nfnDoDz0+lUxNiLALvf7XaDNGQ6GANQBKR85V27B4D3QQRw7hGIYlQKWGM79hSweyCUe1blXhEAogfABwHAXAcqSYkxCtHLUK3XBajSc4Dj8dilAeiSAgD2+30BAEKV4GKcAuDqB4TdYwBgPQByCgApUBoE4EJUGvxUjF3Q69/zLw3g/HA45ABKgdIQu+JPIyDnisCfAxAFNFM0EFNQ64gfS0EUoQP8ighrZSjn3oziZEQpauyKbfjbZchHUL/3AS/Dd30gAkxuRACgfO+EWQW8qwI1o+wseNuKcQiESjALvwNoMI0TcRzD4lFcPYwIM+JTF5x6HOs8yI7jeB5oKhpMRFH9UwaSCDB2Jmg4rc6E2TT0biIaG0rQhNqyhpHBcayTTSXH6vcDL7/sdqRK8LkwTsU499E8vRcAojHcZ4AxABdilgrp4lsXk8oVqgwh7+6H3phqd8J0Kk4vbx/+sZqCD/vNLya/5dT9fAH8g1WdNGgwbQAAAABJRU5ErkJggg=="; // return new Date(date).toLocaleDateString("en-US", {
// month: "short",
export const toDateString = (date: Date) => { // day: "numeric",
return new Date(date).toLocaleDateString("en-US", { // year: "numeric",
month: "short", // });
day: "numeric", // };
year: "numeric",
});
};
export const random = (min: number, max: number) => { export const random = (min: number, max: number) => {
return Math.floor(Math.random() * (max - min + 1) + min); return Math.floor(Math.random() * (max - min + 1) + min);