19 lines
677 B
TypeScript
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);
|
|
}
|