Merge branch 'main' of 47.107.44.202:xionglijia/18xchat
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { AiCharacter } from "../../schema/schema";
|
||||
import { AiCharacters } from "../../schema/schema";
|
||||
import { ConfigManager } from "../manager/ConfigManager";
|
||||
|
||||
/**
|
||||
@@ -46,7 +46,7 @@ export class RoleConfigLoader {
|
||||
/**
|
||||
* 获取所有配置的角色ID
|
||||
*/
|
||||
public static getAllRoles(): AiCharacter[] {
|
||||
public static getAllRoles(): AiCharacters[] {
|
||||
return ConfigManager.tables.TbAiCharacters.getDataList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,11 +67,16 @@ export class GirlData extends BaseData {
|
||||
let allData = this.parseAllGirlBrief(respOrList);
|
||||
if (!allData) return;
|
||||
const bucket = this.ensureBucket(categoryId);
|
||||
// 用一个临时 Set 保存已有的 id,加速去重
|
||||
const existed = new Set<number>(bucket.girlIds);
|
||||
for (const g of allData) {
|
||||
const id = g.id;
|
||||
bucket.briefs.set(id, g);
|
||||
// TODO,去重
|
||||
bucket.girlIds.push(id);
|
||||
// 去重
|
||||
if (!existed.has(id)) {
|
||||
bucket.girlIds.push(id);
|
||||
existed.add(id);
|
||||
}
|
||||
}
|
||||
console.log("保存技师的简要数据: ", bucket);
|
||||
}
|
||||
@@ -183,6 +188,27 @@ export class GirlData extends BaseData {
|
||||
return oneData.category;
|
||||
}
|
||||
|
||||
/** 获取主题枚举,根据 id */
|
||||
public getGrilCategoryById(girlId: number): number {
|
||||
const cats = this.ensureCategories();
|
||||
|
||||
for (const bucket of cats.values()) {
|
||||
// 先查简要信息
|
||||
const brief = bucket.briefs.get(girlId);
|
||||
if (brief && brief.category) {
|
||||
return brief.category;
|
||||
}
|
||||
// 兜底:若只缓存了详情,也从详情里的 brief 取
|
||||
const detail = bucket.details.get(girlId);
|
||||
if (detail?.brief && typeof detail.brief.category) {
|
||||
return detail.brief.category;
|
||||
}
|
||||
}
|
||||
|
||||
// 未找到
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** 获取list头像路径 */
|
||||
public getGrilListAvatar(categoryId: string, girlId: number): string {
|
||||
let oneData = this.getGrilBrief(categoryId, girlId);
|
||||
|
||||
@@ -21,8 +21,7 @@ class SystemBrowserOpener implements IPaymentOpener {
|
||||
// 如需内嵌 WebView,可封装一个组件并在 open 里显示;此处给空壳
|
||||
class InAppWebViewOpener implements IPaymentOpener {
|
||||
async open(url: string) {
|
||||
// TODO: 实现你的 WebView 弹窗并加载 url;可拦截 redirect_uri 关闭弹窗
|
||||
sys.openURL(url); // 临时:用系统浏览器兜底
|
||||
sys.openURL(url); // 系统浏览器
|
||||
}
|
||||
canReturnSignal() { return true; } // 拦截回跳时可立即开始轮询
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@ import LanguageUtils from "../../../Main/Common/LanguageUtils";
|
||||
import Utils from "../../../Main/Common/Utils";
|
||||
import { InnerMsgCode } from "../../../Main/Config/InnerMsgCode";
|
||||
import { SimpleToggle } from "../components/SimpleToggle";
|
||||
import { GirlDetail, purchase } from "../../../schema/schema";
|
||||
import { DataManager, DataId } from "../../data/DataManager";
|
||||
import { GirlData } from "../../data/GirlData";
|
||||
import { GirlService } from "db://assets/Scripts/chat18x/network/services/GirlService";
|
||||
@@ -137,9 +136,8 @@ export class GirlDetailPanel extends li_BaseView {
|
||||
tagKey: string;
|
||||
category: number;
|
||||
async refresh(index: number) {
|
||||
// TODO,暂时这样获取,修改后从GirlData获取
|
||||
const girlConfig = ConfigManager.tables.TbGirls.get(this.id);
|
||||
this.category = girlConfig.category;
|
||||
const girlData = DataManager.I.getDataById<GirlData>(DataId.Girl);
|
||||
this.category = girlData.getGrilCategoryById(this.id);
|
||||
// 请求详细数据
|
||||
const reqData = {
|
||||
id: this.id,
|
||||
@@ -147,7 +145,6 @@ export class GirlDetailPanel extends li_BaseView {
|
||||
let res = await GirlService.I.reqGetGirlDetail(reqData);
|
||||
if (res && res.code === proto.cs.EnmRetCode.SUCCESS) {
|
||||
// 保存数据
|
||||
const girlData = DataManager.I.getDataById<GirlData>(DataId.Girl);
|
||||
girlData.setGirlDetails(this.category.toString(), res.data);
|
||||
// 根据数据,刷新界面
|
||||
this.nameKey = girlData.getGrilName(this.category.toString(), this.id);
|
||||
|
||||
@@ -4,7 +4,6 @@ import ResManager from "db://assets/Scripts/Main/Manager/ResManager";
|
||||
import { ViewManager } from "db://assets/Scripts/Main/Manager/ViewManager";
|
||||
import { GButton } from "db://assets/Scripts/Main/Common/GButton";
|
||||
import { GirlDetailPanel } from "../ui/panels/GirlDetailPanel";
|
||||
import { purchase } from "../../schema/schema";
|
||||
import proto from 'db://assets/Scripts/proto/proto.pb.js';
|
||||
import { DataManager, DataId } from "../data/DataManager";
|
||||
import { GirlData } from "../data/GirlData";
|
||||
|
||||
@@ -4,7 +4,7 @@ import { ViewManager } from "db://assets/Scripts/Main/Manager/ViewManager";
|
||||
import ResManager from "db://assets/Scripts/Main/Manager/ResManager";
|
||||
import Utils from "db://assets/Scripts/Main/Common/Utils";
|
||||
import { NavigationManager } from "../manager/NavigationManager";
|
||||
import { Girl, PriceType } from "../../schema/schema";
|
||||
import { PriceType } from "../../schema/schema";
|
||||
import LanguageUtils from "../../Main/Common/LanguageUtils";
|
||||
import { InnerMsgCode } from "../../Main/Config/InnerMsgCode";
|
||||
import { DataManager, DataId } from "../data/DataManager";
|
||||
|
||||
@@ -3,7 +3,6 @@ import { GButton } from "db://assets/Scripts/Main/Common/GButton";
|
||||
import ResManager from "db://assets/Scripts/Main/Manager/ResManager";
|
||||
import Utils from "db://assets/Scripts/Main/Common/Utils";
|
||||
import { NavigationManager } from "../manager/NavigationManager";
|
||||
import { TbThemes, Theme } from "../../schema/schema";
|
||||
import LanguageUtils from "../../Main/Common/LanguageUtils";
|
||||
import { InnerMsgCode } from "../../Main/Config/InnerMsgCode";
|
||||
import { DataManager, DataId } from "../data/DataManager";
|
||||
|
||||
Reference in New Issue
Block a user