Compare commits

...

4 Commits

Author SHA1 Message Date
YZ\249929363 57bb8f0e21 Merge branch 'main' of https://git.sparkus.cn/yangzhao/cb
# Conflicts:
#	assets/Script/JiaZai.ts
2025-08-08 16:20:01 +08:00
YZ\249929363 c336935589 暂存 2025-08-08 16:19:10 +08:00
YZ\249929363 753d4c6a9a Merge branch 'main' of https://git.sparkus.cn/yangzhao/cb 2025-08-08 15:31:41 +08:00
YZ\249929363 bfc3bc3100 暂存 2025-08-08 15:31:24 +08:00
4 changed files with 74 additions and 52 deletions

View File

@ -110,7 +110,7 @@ export default class Revive extends cc.Component {
else if (data.code == 2) {
this.closeLoad();
console.log("轮训超时");
MiniGameSdk.API.showToast("订单已关闭");
MiniGameSdk.API.showToast("请检查网络,如充值成功,请重新登录领取");
const dataFail = {
outTradeNo: iosOutTradeNo,
pay_amount: iosAmount,
@ -181,7 +181,6 @@ export default class Revive extends cc.Component {
let shopComp = shop.getComponent("shop");
if (shopComp) {
shopComp.openShop();
shopComp.init();
}
}
cc.fx.GameConfig.GM_INFO.revive = 1;

View File

@ -62,6 +62,7 @@ export default class Utils {
payment_num: 1,
type: systemType,
}
console.log("创建订单", Utils.outTradeNo);
cc.fx.GameTool.shushu_Track("init_order", data);
//console.log("创建的最新订单的订单号:", Utils.outTradeNo);
// let timeoutId: number;
@ -186,7 +187,7 @@ export default class Utils {
payment_num: iosPayInfo.payment_count,
type: "ios",
}
//console.log("ios创建订单信息:", data);
console.log("ios创建订单信息:", data);
cc.fx.GameTool.shushu_Track("init_order", shushu_data);
//@ts-ignore
wx.openCustomerServiceConversation({
@ -202,47 +203,64 @@ export default class Utils {
}
});
}
// static getIosPayInfo(order, callBack) {
// // 延迟时间数组,按照 1 秒 3 次、2 秒 5 次、5 秒 6 次、15 秒 5 次的规则生成
// const iosOutTradeNo = order;
// console.log("请求uid:" + Utils.uid);
// console.log("outTradeNo:" + iosOutTradeNo);
// Utils.POST("wx/iosgetPayInfo", { outTradeNo: iosOutTradeNo }, res => {
// console.log("查询字符结果IOS");
// console.log(res);
// if (res.code === 1) {
// callBack(res);
// } else {
// callBack(res);
// }
// });
// }
static getIosPayInfo(order, callBack) {
// 延迟时间数组,按照 1 秒 3 次、2 秒 5 次、5 秒 6 次、15 秒 5 次的规则生成
const delays = [
...Array(3).fill(1000),
...Array(5).fill(2000),
...Array(6).fill(5000),
...Array(5).fill(15000)
];
let attempt = 0; // 轮询次数
const iosOutTradeNo = order;
const poll = () => {
if (attempt >= delays.length) {
MiniGameSdk.API.showToast("网络异常,如充值成功,重进游戏可领取奖励");
callBack({ code: 2, data: null, message: '轮询超时' });
return;
}
//console.log("请求uid:" + Utils.uid);
//console.log("outTradeNo:" + iosOutTradeNo);
Utils.POST("wx/iosgetPayInfo", { outTradeNo: iosOutTradeNo }, res => {
//console.log("查询字符结果IOS");
//console.log(res);
if (res.code === 1) {
callBack(res);
} else if (res.code === 0) {
callBack(res);
}
else {
attempt++;
setTimeout(poll, delays[attempt - 1]);
}
});
};
// 延迟 0.5 秒执行后续逻辑
setTimeout(() => {
poll();
// 最大重试次数
const maxRetries = 3;
let retryCount = 0;
// 标志位,用于记录 callBack 是否已经被调用
let isCallBackCalled = false;
const makeRequest = () => {
if (retryCount > maxRetries) {
if (!isCallBackCalled) {
MiniGameSdk.API.showToast("网络异常,如充值成功,重进游戏可领取奖励");
callBack({ code: 2, data: null, message: '轮询超时,达到最大重试次数' });
isCallBackCalled = true;
}
return;
}
// 设置超时定时器
const timeoutId = setTimeout(() => {
retryCount++;
console.log(`请求超时,第 ${retryCount} 次重新申请接口`);
makeRequest();
}, 3000);
const iosOutTradeNo = order;
console.log("请求uid:" + Utils.uid);
console.log("outTradeNo:" + iosOutTradeNo);
Utils.POST("wx/iosgetPayInfo", { outTradeNo: iosOutTradeNo }, res => {
console.log("查询字符结果IOS");
console.log(res);
// 清除超时定时器
clearTimeout(timeoutId);
if (!isCallBackCalled) {
callBack(res);
isCallBackCalled = true;
}
});
};
makeRequest();
}, 500);
}
//#endregion
//#region 微信云

View File

@ -119,6 +119,7 @@ export default class NewClass extends cc.Component {
else if (data.code == 2) {
this.closeLoad();
console.log("轮训超时");
MiniGameSdk.API.showToast("请检查网络,如充值成功,请重新登录领取");
// MiniGameSdk.API.showToast("订单已关闭");
const dataFail = {
outTradeNo: iosOutTradeNo,
@ -236,7 +237,6 @@ export default class NewClass extends cc.Component {
let shopComp = shop.getComponent("shop");
if (shopComp) {
shopComp.openShop();
shopComp.init();
}
}

View File

@ -200,19 +200,23 @@ export default class NewClass extends cc.Component {
if (systemInfo.platform === 'ios') {
if (cc.sys.platform === cc.sys.WECHAT_GAME) {
console.log("从后台进入前台订单号:", cc.fx.GameConfig.GM_INFO.iosOutTradeNo);
this.closeLoad();
if (cc.fx.GameConfig.GM_INFO.iosOutTradeNo != null && cc.fx.GameConfig.GM_INFO.iosOutTradeNo != "") {
console.log("有苹果订单号,开始轮训");
const iosOutTradeNo = cc.fx.GameConfig.GM_INFO.iosOutTradeNo;
cc.fx.GameConfig.GM_INFO.iosOutTradeNo = "";
this.openLoad();
// this.closeLoad();
// this.openLoad();
this.btn_Touch = true;
Utils.getIosPayInfo(iosOutTradeNo,
(data) => {
console.log("获得轮训结果:", data);
const iosID = data.data?.payment_name || this.iosProductId;
let iosAmount = data.data?.goodsPrice || this.iosPrice;
iosAmount = parseInt(iosAmount);
if (iosID == "reborn_Gift" || iosID == "month_Card") {
return;
}
if (data.code == 1) {
console.log("购买成功");
console.log("商品id:", iosID);
@ -281,7 +285,7 @@ export default class NewClass extends cc.Component {
else if (data.code == 2) {
this.closeLoad();
console.log("轮训超时");
MiniGameSdk.API.showToast("订单已关闭");
MiniGameSdk.API.showToast("请检查网络,如充值成功,请重新登录领取");
const dataFail = {
outTradeNo: iosOutTradeNo,
pay_amount: iosAmount,
@ -292,7 +296,7 @@ export default class NewClass extends cc.Component {
}
cc.fx.GameTool.shushu_Track("payment_fail", dataFail);
}
this.closeLoad();
this.btn_Touch = true;
cc.fx.GameConfig.GM_INFO.iosOutTradeNo = null;
})
@ -466,7 +470,6 @@ export default class NewClass extends cc.Component {
console.error('获取系统信息失败', e);
}
// Utils.GoKEFu();
if (systemType == "ios") {
// MiniGameSdk.API.showToast("IOS系统暂不支持支付");
// this.btn_Touch = true;
@ -483,7 +486,14 @@ export default class NewClass extends cc.Component {
console.log("准备跳客服回话:");
console.log(this.iosProductId);
Utils.GoKEFu(iosPayInfo, (res) => {
this.closeLoad();
if (res == "success") {
console.log("客服回话成功");
}
else {
console.log("客服回话失败");
cc.fx.GameConfig.GM_INFO.iosOutTradeNo = null;
this.closeLoad();
}
});
}
else {
@ -715,11 +725,6 @@ export default class NewClass extends cc.Component {
}
}
openmonthCard() {
if (cc.sys.platform === cc.sys.WECHAT_GAME && this.onShowListener) {
console.log("shop移除onshow11111");
//@ts-ignore
wx.offShow(this.onShowListener);
}
const winCOIN = cc.find("Canvas"); // 假设 Canvas 节点
if (winCOIN) {
const wincoin = winCOIN.getComponent(SceneManager);