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