feat: 檢驗用戶的 設備 ID

This commit is contained in:
CrescentLeaf
2025-09-21 12:28:44 +08:00
parent 83719f5f44
commit e5dd3ade51
9 changed files with 67 additions and 38 deletions

View File

@@ -21,9 +21,10 @@ const _data_cached = JSON.parse(_dec)
declare global {
interface Window {
data: {
split_sizes: number[];
split_sizes: number[]
apply(): void
access_token?: string
device_id: string
}
}
}

View File

@@ -2,19 +2,24 @@ import { io, Socket } from 'socket.io-client'
import { CallMethod, ClientEvent } from './ApiDeclare.ts'
import ApiCallbackMessage from './ApiCallbackMessage.ts'
import User from "./client_data/User.ts"
import data from "../Data.ts";
import data from "../Data.ts"
type UnknownObject = { [key: string]: unknown }
class Client {
static myUserProfile?: User
static socket?: Socket
static events: { [key: string]: (data: UnknownObject) => UnknownObject } = {}
static events: { [key: string]: (data: UnknownObject) => UnknownObject | undefined } = {}
static connect() {
if (data.device_id == null)
data.device_id = crypto.randomUUID()
this.socket?.disconnect()
this.socket && delete this.socket
this.socket = io({
transports: ['websocket']
transports: ['websocket'],
auth: {
device_id: data.device_id
},
})
this.socket!.on("The_White_Silk", (name: string, data: UnknownObject, callback: (ret: UnknownObject) => void) => {
try {