模拟数据:技师的详细数据

This commit is contained in:
chen wei bo
2025-09-03 17:35:41 +08:00
parent 7ad2261867
commit cd05c4d3a8
5 changed files with 271 additions and 142 deletions
@@ -15,7 +15,7 @@ export class MockGirlService implements IGirlService {
return ({ code: 100, error: { message } } as unknown) as ApiResponse<T>;
}
private genBrief(id: number, name: string, age: number, tagKey: string, priceType: number, price: number, avatar: string, star: number): proto.cs.IGirlBrief {
private genBrief(id: number, name: string, age: number, tagKey: string, priceType: number, price: number, avatar: string, star: number, category: number, listAvatarPath: string): proto.cs.IGirlBrief {
return {
id,
name,
@@ -25,22 +25,35 @@ export class MockGirlService implements IGirlService {
price,
avatar,
star,
category,
listAvatarPath,
};
}
private genPhoto(pic: string, isRelease: boolean, price: number): proto.cs.IGirlPhoto {
private genPhoto(imageType: number, imagePrice: number, path: string, isRelease: boolean, ): proto.cs.IPurchaseCommercialImage {
return {
pic,
imageType,
imagePrice,
path,
isRelease,
price,
};
}
private genDetail(brief: proto.cs.IGirlBrief, desc: string, photos: proto.cs.IGirlPhoto[], isRelease: boolean, chatCount: number): proto.cs.IGirlDetail {
private genVideo(path: string, emotion: number, videoPrice: number, isRelease: boolean): proto.cs.IPurchaseCommercialVideo {
return {
path,
emotion,
videoPrice,
isRelease,
};
}
private genDetail(brief: proto.cs.IGirlBrief, desc: string, images: proto.cs.IPurchaseCommercialImage[], videos: proto.cs.IPurchaseCommercialVideo[], isRelease: boolean, chatCount: number): proto.cs.IGirlDetail {
return {
brief,
desc,
photos,
images,
videos,
isRelease,
chatCount,
};
@@ -61,7 +74,9 @@ export class MockGirlService implements IGirlService {
let price = 9.9;
let avatar = configData.getAvatarPathById(recId);
let star = 3;
let oneData = this.genBrief(recId, name, age, tagKey, priceType, price, avatar, star);
let category = configData.getCategoryById(recId);
let listAvatarPath = configData.getListAvatarPathPathById(recId);
let oneData = this.genBrief(recId, name, age, tagKey, priceType, price, avatar, star, category, listAvatarPath);
// 返回数据
const girls = [oneData];
return this.ok({ girls });
@@ -106,7 +121,10 @@ export class MockGirlService implements IGirlService {
// 星级兜底:1~5
const star = (id % 5) + 1;
return this.genBrief(id, name, age, tagKey, priceType, price, avatar, star);
const category = configData.getCategoryById(id);
const listAvatarPath = configData.getListAvatarPathPathById(id);
return this.genBrief(id, name, age, tagKey, priceType, price, avatar, star, category, listAvatarPath);
});
// 返回数据
return this.ok({ girls });
@@ -121,7 +139,7 @@ export class MockGirlService implements IGirlService {
const girlDetailConfig = ConfigManager.I.getDataById<GirlDetailConfig>(ConfigId.GirlDetail);
// id
const girlId = req.id;
// 简要数据
let name = girlConfig.getNameById(girlId);
let age = Number(girlConfig.getAgeById(girlId));
let tagKey = girlConfig.getTagKeyById(girlId);
@@ -129,24 +147,37 @@ export class MockGirlService implements IGirlService {
let price = 9.9;
let avatar = girlConfig.getAvatarPathById(girlId);
let star = 3;
let briefData = this.genBrief(girlId, name, age, tagKey, priceType, price, avatar, star);
let category = girlConfig.getCategoryById(girlId);
let listAvatarPath = girlConfig.getListAvatarPathPathById(girlId);
let briefData = this.genBrief(girlId, name, age, tagKey, priceType, price, avatar, star, category, listAvatarPath);
let desc = girlDetailConfig.getDetailDescById(girlId);
let isRelease = Math.random() < 0.4;
let chatCount = 10;
// 图片
let photoData = [];
let photoCount = girlDetailConfig.getCommercialImagesCount(girlId);
for (let i = 0; i < photoCount; i++) {
let imageType = girlDetailConfig.getImageTypeById(girlId, i);
let imagePath = girlDetailConfig.getImagePathById(girlId, i);
let isImageRelease = Math.random() < 0.4;
let imagePrice = 9.9;
let onePhotoData = this.genPhoto(imagePath, isImageRelease, imagePrice);
photoData.push(onePhotoData);
let isRelease = Math.random() < 0.4;
let imagePrice = girlDetailConfig.getImagePriceById(girlId, i);
let oneData = this.genPhoto(imageType, imagePrice, imagePath, isRelease);
photoData.push(oneData);
}
let detail = this.genDetail(briefData, desc, photoData, isRelease, chatCount);
// 视频
let videoData = [];
let videoCount = girlDetailConfig.getCommercialVideosCount(girlId);
for (let i = 0; i < videoCount; i++) {
let videoPath = girlDetailConfig.getVideoPathById(girlId, i);
let videoEmotion = girlDetailConfig.getVideoEmotionById(girlId, i);
let videoPrice = girlDetailConfig.getVideoPriceById(girlId, i);
let isRelease = Math.random() < 0.4;
let oneData = this.genVideo(videoPath, videoEmotion, videoPrice, isRelease);
videoData.push(oneData);
}
// 详细数据
let detail = this.genDetail(briefData, desc, photoData, videoData, isRelease, chatCount);
// 返回数据
return this.ok({ detail });
}