Compare commits
4 Commits
1a6096406e
...
57bb8f0e21
Author | SHA1 | Date | |
---|---|---|---|
![]() |
57bb8f0e21 | ||
![]() |
c336935589 | ||
![]() |
753d4c6a9a | ||
![]() |
bfc3bc3100 |
|
@ -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;
|
||||
|
|
|
@ -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 微信云
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue
Block a user