Files
vue3-element-admin/src/api/remote-control.ts
T

19 lines
677 B
TypeScript

import request from "@/utils/request";
export async function openRemoteControlSignal(sn: string) {
const defaultUrl = new URL(
"/ws/signal",
import.meta.env.VITE_APP_API_URL || window.location.origin,
);
if (defaultUrl.protocol === "https:") defaultUrl.protocol = "wss:";
const url = new URL(import.meta.env.VITE_WEBRTC_SIGNAL_URL || defaultUrl.href);
if (url.protocol !== "wss:") throw new Error("远程协助需要 WSS 信令服务器");
const ticket = await request<unknown, string>({
url: "/api/v1/device/remote-control/ticket",
method: "post",
params: { sn },
});
url.searchParams.set("ticket", ticket);
return new WebSocket(url);
}