通讯服务层

This commit is contained in:
chen wei bo
2025-08-27 17:34:08 +08:00
parent 38646c6fe3
commit 27b9517fdd
8 changed files with 154 additions and 0 deletions
@@ -0,0 +1,24 @@
import { ApiClient } from "../client/ApiClient";
import type { Endpoint } from "../client/endpoints";
import type { ApiResponse } from "../client/types";
import proto from 'db://assets/Scripts/proto/proto.pb.js';
export class ChatService {
private static _I: ChatService | null = null;
public static get I(): ChatService {
if (!ChatService._I) ChatService._I = new ChatService();
return ChatService._I;
}
private constructor(private api = ApiClient.I) {}
// 购买聊天次数
public async reqBuyChat(req: proto.cs.ICSBuyChatReq): Promise<ApiResponse<proto.cs.ICSBuyChatRes>> {
let epData: Endpoint<proto.cs.ICSBuyChatReq, proto.cs.ICSBuyChatRes> = {
path: "api/logic/buyChat",
method: "POST",
codec: "json",
needsAuth: true
};
return this.api.call(epData, req);
}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "16cb7bbc-91fd-4987-ac99-79f4cf1e732b",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,46 @@
import { ApiClient } from "../client/ApiClient";
import type { Endpoint } from "../client/endpoints";
import type { ApiResponse } from "../client/types";
import proto from 'db://assets/Scripts/proto/proto.pb.js';
export class GirlService {
private static _I: GirlService | null = null;
public static get I(): GirlService {
if (!GirlService._I) GirlService._I = new GirlService();
return GirlService._I;
}
private constructor(private api = ApiClient.I) {}
// 每日推荐
public async reqDailyRecommend(req: proto.cs.ICSDailyRecommendReq): Promise<ApiResponse<proto.cs.ICSDailyRecommendRes>> {
let epData: Endpoint<proto.cs.ICSDailyRecommendReq, proto.cs.ICSDailyRecommendRes> = {
path: "api/logic/dailyRecommend",
method: "POST",
codec: "json",
needsAuth: true
};
return this.api.call(epData, req);
}
// 获取技师列表
public async reqGetGirlList(req: proto.cs.ICSGetGirlListReq): Promise<ApiResponse<proto.cs.ICSGetGirlListRes>> {
let epData: Endpoint<proto.cs.ICSGetGirlListReq, proto.cs.ICSGetGirlListRes> = {
path: "api/logic/getGirls",
method: "POST",
codec: "json",
needsAuth: true
};
return this.api.call(epData, req);
}
// 获取技师详细信息
public async reqGetGirlDetail(req: proto.cs.ICSGetGirlDetailReq): Promise<ApiResponse<proto.cs.ICSGetGirlDetailRes>> {
let epData: Endpoint<proto.cs.ICSGetGirlDetailReq, proto.cs.ICSGetGirlDetailRes> = {
path: "api/logic/girlDetail",
method: "POST",
codec: "json",
needsAuth: true
};
return this.api.call(epData, req);
}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "c115537a-22f6-43a3-be0a-dc5c3a8ca1b7",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,24 @@
import { ApiClient } from "../client/ApiClient";
import type { Endpoint } from "../client/endpoints";
import type { ApiResponse } from "../client/types";
import proto from 'db://assets/Scripts/proto/proto.pb.js';
export class ShopService {
private static _I: ShopService | null = null;
public static get I(): ShopService {
if (!ShopService._I) ShopService._I = new ShopService();
return ShopService._I;
}
private constructor(private api = ApiClient.I) {}
// 获取商品列表
public async reqShopList(req: proto.cs.ICSGetShopReq): Promise<ApiResponse<proto.cs.ICSGetShopRes>> {
let epData: Endpoint<proto.cs.ICSGetShopReq, proto.cs.ICSGetShopRes> = {
path: "api/logic/shop",
method: "POST",
codec: "json",
needsAuth: true
};
return this.api.call(epData, req);
}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "ba67b42d-8326-4aa9-8ef3-fb99821ac345",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,24 @@
import { ApiClient } from "../client/ApiClient";
import type { Endpoint } from "../client/endpoints";
import type { ApiResponse } from "../client/types";
import proto from 'db://assets/Scripts/proto/proto.pb.js';
export class ThemeService {
private static _I: ThemeService | null = null;
public static get I(): ThemeService {
if (!ThemeService._I) ThemeService._I = new ThemeService();
return ThemeService._I;
}
private constructor(private api = ApiClient.I) {}
// 获取大厅分类列表
public async reqHallTheme(req: proto.cs.ICSHallThemeReq): Promise<ApiResponse<proto.cs.ICSHallThemeRes>> {
let epData: Endpoint<proto.cs.ICSHallThemeReq, proto.cs.ICSHallThemeRes> = {
path: "api/logic/hallTheme",
method: "POST",
codec: "json",
needsAuth: true
};
return this.api.call(epData, req);
}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "dc24010f-aa24-4e1a-8ef3-bc543a72cdf8",
"files": [],
"subMetas": {},
"userData": {}
}