fix: 替换 web 端 crypto.randomUUID 为 uuid 库以支持 HTTP 环境

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
claude-code-best
2026-04-19 10:32:18 +08:00
parent 481e2a58a9
commit f9d011164a
5 changed files with 8 additions and 8 deletions

View File

@@ -444,7 +444,7 @@ function AskUserPanel({
const handleSubmit = () => {
const mapped: Record<string, unknown> = {};
for (const [qIdx, val] of Object.entries(answers)) {
const q = questions[parseInt(qIdx)];
const q = questions[parseInt(qIdx, 10)];
if (!q) continue;
if (typeof val === "number") {
mapped[qIdx] = q.options?.[val]?.label || String(val);

View File

@@ -97,7 +97,7 @@ export function AskUserPanelView({
const handleSubmit = () => {
const mapped: Record<string, unknown> = {};
for (const [qIdx, val] of Object.entries(answers)) {
const q = questions[parseInt(qIdx)];
const q = questions[parseInt(qIdx, 10)];
if (!q) continue;
if (typeof val === "number") mapped[qIdx] = q.options?.[val]?.label || String(val);
else if (Array.isArray(val)) mapped[qIdx] = val.map((i) => q.options?.[i]?.label || String(i));

View File

@@ -1,4 +1,5 @@
import type { SetStateAction } from "react";
import { v4 as uuidv4 } from "uuid";
import {
apiFetchSession,
apiFetchSessionHistory,
@@ -421,7 +422,7 @@ export class RCSChatAdapter {
// Send to backend
await apiSendEvent(this.sessionId, {
type: "user",
uuid: crypto.randomUUID(),
uuid: uuidv4(),
content: text,
message: { content: text },
});

View File

@@ -1,4 +1,5 @@
import type { ChatTransport, UIMessage, UIMessageChunk } from "ai";
import { v4 as uuidv4 } from "uuid";
import { getUuid } from "../api/client";
import type { SessionEvent, EventPayload } from "../types";
@@ -112,7 +113,7 @@ export class RCSTransport implements ChatTransport<UIMessage> {
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
type: "user",
uuid: crypto.randomUUID(),
uuid: uuidv4(),
content: text,
message: { content: text },
}),

View File

@@ -1,5 +1,6 @@
import { type ClassValue, clsx } from "clsx";
import { twMerge } from "tailwind-merge";
import { v4 as uuidv4 } from "uuid";
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
@@ -42,10 +43,7 @@ export function truncate(str: string | null | undefined, max: number): string {
}
export function generateMessageUuid(): string {
if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
return crypto.randomUUID();
}
return `msg_${Date.now()}_${Math.random().toString(16).slice(2)}`;
return uuidv4();
}
export function extractEventText(payload: Record<string, unknown> | null | undefined): string {