From 6c99a6e3c276774e506579430fa1446a43dd82d1 Mon Sep 17 00:00:00 2001 From: zcl <25492220@QQ.COM> Date: Wed, 17 Sep 2025 21:04:30 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/bundles/DataTable/tbgirlsdetail.bin | Bin 28154 -> 29332 bytes assets/bundles/DataTable/tbpurchaseconfig.bin | 4 ++-- xchat_cfg | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/bundles/DataTable/tbgirlsdetail.bin b/assets/bundles/DataTable/tbgirlsdetail.bin index 460a08352e93cd5f0061a960eb11093ef2b6cf77..e4975bc9f1ec1a5e8c57b3b9539a588fff7b336c 100644 GIT binary patch delta 5771 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 AQvd(} diff --git a/assets/bundles/DataTable/tbpurchaseconfig.bin b/assets/bundles/DataTable/tbpurchaseconfig.bin index f1d5c68e..b0e0536c 100644 --- a/assets/bundles/DataTable/tbpurchaseconfig.bin +++ b/assets/bundles/DataTable/tbpurchaseconfig.bin @@ -1,2 +1,2 @@ - 充值挡位1 充值挡位2 充值挡位3NN 充值挡位4u/u/ 充值挡位5oo 充值挡位6 -7天会员 30天会员Їϋ增加聊天次数 \ No newline at end of file + 充值挡位11$ 充值挡位2c 充值挡位3aD 充值挡位4 充值挡位5< 充值挡位6 ܇ +7天会员aD 30天会员 增加聊天次数T \ No newline at end of file diff --git a/xchat_cfg b/xchat_cfg index 78ef7789..dd961ccc 160000 --- a/xchat_cfg +++ b/xchat_cfg @@ -1 +1 @@ -Subproject commit 78ef7789308b417b6447d0a9502d38ff43a36f61 +Subproject commit dd961ccc3b390e591abe30e5e7c126adba8379c7 From 53372bd598921e268185358d774f3e50dc80c931 Mon Sep 17 00:00:00 2001 From: chen wei bo <1025839511@qq.com> Date: Wed, 17 Sep 2025 23:33:03 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=8F=AF=E8=81=8A=E5=A4=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/Scripts/chat18x/data/ChatModel.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/assets/Scripts/chat18x/data/ChatModel.ts b/assets/Scripts/chat18x/data/ChatModel.ts index c5c2b3c4..2879833e 100644 --- a/assets/Scripts/chat18x/data/ChatModel.ts +++ b/assets/Scripts/chat18x/data/ChatModel.ts @@ -525,10 +525,9 @@ export class ChatModel { //return false; const girlData = DataManager.I.getDataById(DataId.Girl); const roleData = this.rolesData.get(this.currentGirlId); - const leftTime = girlData.getChatRemainCount( + return girlData.isCanChat( roleData.categoryId, roleData.girlId ); - return leftTime === 0 ? false : true; } } From c36ff6dc766c310a2bf270956719f24983060594 Mon Sep 17 00:00:00 2001 From: chen wei bo <1025839511@qq.com> Date: Thu, 18 Sep 2025 09:13:40 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=81=8A=E5=A4=A9=E5=8D=8F=E8=AE=AE?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=8F=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/Scripts/chat18x/core/ChatAIService.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/Scripts/chat18x/core/ChatAIService.ts b/assets/Scripts/chat18x/core/ChatAIService.ts index 582e2276..e629d0f1 100644 --- a/assets/Scripts/chat18x/core/ChatAIService.ts +++ b/assets/Scripts/chat18x/core/ChatAIService.ts @@ -210,13 +210,13 @@ export class ChatAIService { let userData = { isAi: false, msg: message, - msgId: new Date().getTime(), + msgId: new Date().getTime().toString(), }; msgList.push(userData); let aiData = { isAi: true, msg: response.text, - msgId: new Date().getTime() + 1, + msgId: (new Date().getTime() + 1).toString(), }; msgList.push(aiData); this.reqChatMsg(roleId, msgList); From 1fa5eb7cb0fa68bd5b5293fee500b027a58e6e5a Mon Sep 17 00:00:00 2001 From: chen wei bo <1025839511@qq.com> Date: Thu, 18 Sep 2025 09:37:48 +0800 Subject: [PATCH 4/4] =?UTF-8?q?VIP=E5=A4=B1=E6=95=88=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/Scripts/Main/Common/Utils.ts | 28 ++++++++++--------- assets/Scripts/chat18x/data/WalletData.ts | 2 +- .../chat18x/manager/ChatHistoryManager.ts | 4 +-- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/assets/Scripts/Main/Common/Utils.ts b/assets/Scripts/Main/Common/Utils.ts index c69b2fa8..e78e00dc 100644 --- a/assets/Scripts/Main/Common/Utils.ts +++ b/assets/Scripts/Main/Common/Utils.ts @@ -359,19 +359,21 @@ export default class Utils { // 获取格式化字符串: vip失效时间 public static formatVipLeftTime(expiryTimestamp: number): string { - const dateNow = new Date(); - const timeDiff = Math.abs(expiryTimestamp - dateNow.getTime()); - const hours = Math.floor(timeDiff / (1000 * 60 * 60)); - - if (hours >= 24) { - return ( - (hours % 24).toString() + LanguageUtils.getText("purchasepanel.day") - ); + // 当前时间戳,单位:秒 + const nowSeconds = Math.floor(Date.now() / 1000); + // 差值(秒) + const diffSeconds = Math.max(0, expiryTimestamp - nowSeconds); + // 转换为天、小时、分钟 + const days = Math.floor(diffSeconds / (60 * 60 * 24)); + const hours = Math.floor((diffSeconds % (60 * 60 * 24)) / 3600); + const minutes = Math.floor((diffSeconds % 3600) / 60); + console.log("vip失效剩余时间差(秒):", diffSeconds, "天:", days, "小时:", hours, "分钟:", minutes); + if (days > 0) { + return `${days}${LanguageUtils.getText("purchasepanel.day")}`; } - const minutes = Math.floor((timeDiff / (1000 * 60)) % 60); - //const seconds = Math.floor((timeDiff / 1000) % 60); - return `${hours}${LanguageUtils.getText( - "purchasepanel.hour" - )}:${minutes}${LanguageUtils.getText("purchasepanel.minute")}`; + if (hours > 0) { + return `${hours}${LanguageUtils.getText("purchasepanel.hour")}:${minutes}${LanguageUtils.getText("purchasepanel.minute")}`; + } + return `${minutes}${LanguageUtils.getText("purchasepanel.minute")}`; } } diff --git a/assets/Scripts/chat18x/data/WalletData.ts b/assets/Scripts/chat18x/data/WalletData.ts index cd726fad..cba3c715 100644 --- a/assets/Scripts/chat18x/data/WalletData.ts +++ b/assets/Scripts/chat18x/data/WalletData.ts @@ -8,7 +8,7 @@ import { InnerMsgCode } from "../../Main/Config/InnerMsgCode"; export class WalletData extends BaseData { // 余额 private _balance: number = 0; - // vip失效时间戳 + // vip失效时间戳,秒 private _vipExpire: number = 0; public reset(): void { diff --git a/assets/Scripts/chat18x/manager/ChatHistoryManager.ts b/assets/Scripts/chat18x/manager/ChatHistoryManager.ts index 0cd71a23..d4d6a139 100644 --- a/assets/Scripts/chat18x/manager/ChatHistoryManager.ts +++ b/assets/Scripts/chat18x/manager/ChatHistoryManager.ts @@ -242,7 +242,7 @@ export class ChatHistoryManager { const message: ChatMessage = { role: serverMsg.isAi ? "model" : "user", parts: [{ text: serverMsg.msg }], - timestamp: serverMsg.msgId || Date.now(), + timestamp: Number(serverMsg.msgId) || Date.now(), }; messages.push(message); } @@ -396,7 +396,7 @@ export class ChatHistoryManager { const msg = girlData.getChatRecordMsg(category.toString(), roleId, id); if (msg) { serverMessages.push({ - msgId: id, + msgId: id.toString(), msg: msg, isAi: isAi, });