import type { ApiResponse } from "../client/types"; import proto from "db://assets/Scripts/proto/proto.pb.js"; import type { IPlayerDataService } from "./IPlayerDataService"; export class MockPlayerDataService implements IPlayerDataService { private delay(ms = 160) { return new Promise(r => setTimeout(r, ms)); } // 按你项目的 ApiResponse 真实结构调整这里 private ok(data: T): ApiResponse { return ({ ok: true, data } as unknown) as ApiResponse; } // 如需模拟失败 // private err(message = "mock myInfo error"): ApiResponse { // return ({ ok: false, error: { message } } as unknown) as ApiResponse; // } // 获取个人信息 async reqMyInfo(_req: proto.cs.ICSMyInfoReq): Promise> { await this.delay(); // 由于我们并不知道 ICSMyInfoRes 的具体字段,这里提供一个“最安全”的空对象返回; // 如果你有明确字段(例如 name/diamond/vipExpire 等),可在此构造并 as-cast: // const res = { name: "Player-001", diamond: 123, vipExpire: Math.floor(Date.now()/1000) } as unknown as proto.cs.ICSMyInfoRes; const res = ({} as unknown) as proto.cs.ICSMyInfoRes; return this.ok(res); } }