修复ios充值暂存

This commit is contained in:
YZ\249929363 2025-08-04 16:54:33 +08:00
parent 7d17b6559d
commit 963403919f
10 changed files with 184 additions and 167 deletions

View File

@ -270,7 +270,7 @@ export default class GameManager extends cc.Component {
//console.log("______________________________有未发放奖励", cc.fx.GameConfig.GM_INFO.allOutTradeNo);
}
if (data.data.shareLv) {
console.log("有补发信息", data.data.shareLv)
console.log("有分享信息", data.data.shareLv)
if (data.data.shareLv.length > 0) {
console.log(data.data.shareLv[0]);
console.log("设置分享等级", data.data.shareLv[0].lv);

View File

@ -667,9 +667,6 @@ export default class JiaZai extends cc.Component {
console.log("设置轮训结果:", res);
this.closeLoad();
if (res.code === 1) {
if (order.itemid == "reborn_Gift") {
return;
}
console.log("7.14_________正式发货");
let coinTemp = 0;
if (order.itemid == "gold_1") { coinTemp = 1200; }
@ -687,6 +684,9 @@ export default class JiaZai extends cc.Component {
cc.fx.GameConfig.GM_INFO.hp_Max = 7;
cc.fx.GameConfig.GM_INFO.hp = 7;
}
else if (order.itemid == "reborn_Gift") {
coinTemp = 1000;
}
let title = "充值补发奖励金币:" + coinTemp;
// MiniGameSdk.API.showToast(title);
cc.fx.GameTool.shopBuy(productId, true);
@ -712,7 +712,7 @@ export default class JiaZai extends cc.Component {
let price = order.price || 0;
const dataSuccess = {
outTradeNo: order.outTradeNo,
price: price,
pay_amount: price,
payment_name: productId,
payment_num: 1,
type: systemType,

View File

@ -57,7 +57,7 @@ export default class Revive extends cc.Component {
console.log("购买成功");
const dataSuccess = {
outTradeNo: iosOutTradeNo,
price: this.iosPrice,
pay_amount: this.iosPrice,
payment_name: this.iosProductId,
payment_num: this.iosCount,
type: "ios",
@ -152,35 +152,35 @@ export default class Revive extends cc.Component {
Utils.rebornGift(1, (data) => {
console.log("购买'✅ ", data.code);
if (data.code == 1) {
}
})
// update (dt) {}
}
//发奖励
revivew() {
MapConroler._instance.setPropNum();
const jiazaiNode = cc.find("Canvas"); // 假设 JiaZai 挂在 Canvas 节点
const jiazaiComp = jiazaiNode.getComponent(JiaZai);
if (jiazaiComp) {
setTimeout(() => {
jiazaiComp.updateCoin();
}, 300);
} else {
console.log("无法获取JiaZai组件");
}
let shop = cc.find("Canvas/shop");
if (shop) {
let shopComp = shop.getComponent("shop");
if (shopComp) {
shopComp.openShop();
}
}
cc.fx.GameConfig.GM_INFO.revive = 1;
setTimeout(() => {
this.node.active = false;
}, 200);
MapConroler._instance.runRewiveCopy();
MapConroler._instance.setPropNum();
const jiazaiNode = cc.find("Canvas"); // 假设 JiaZai 挂在 Canvas 节点
const jiazaiComp = jiazaiNode.getComponent(JiaZai);
if (jiazaiComp) {
setTimeout(() => {
jiazaiComp.updateCoin();
}, 300);
} else {
console.log("无法获取JiaZai组件");
}
let shop = cc.find("Canvas/shop");
if (shop) {
let shopComp = shop.getComponent("shop");
if (shopComp) {
shopComp.openShop();
}
}
cc.fx.GameConfig.GM_INFO.revive = 1;
setTimeout(() => {
this.node.active = false;
}, 200);
MapConroler._instance.runRewiveCopy();
}
buyProduct(customData) {
// cc.fx.GameTool.shopBuy("revive", false);
@ -305,7 +305,7 @@ export default class Revive extends cc.Component {
this.btn_Touch = true;
const dataSuccess = {
outTradeNo: Utils.outTradeNo,
price: price,
pay_amount: price,
payment_name: productId,
payment_num: 1,
type: systemType,

View File

@ -62,6 +62,11 @@ export default class Reward extends cc.Component {
*/
init(data) {
this.actionOver = false;
if (!data) {
this.actionOver = true;
this.node.destroy();
return;
}
const num = Math.min(data.length, 9); // 确保 num 不超过 9
const spacing = 10; // 间隔,默认 10
if (this.rewardNode && num > 0) {

View File

@ -411,7 +411,7 @@ export default class SceneManager extends cc.Component {
}
openRewardWindow(data) {
console.log("_____________________打開獎勵弹窗");
console.log("_____________________打开奖励弹窗", data);
if (!SceneManager.cachedRewardPrefab) {
cc.error('Reward prefab is not loaded yet.');
return;

View File

@ -167,17 +167,19 @@ export default class Utils {
payment_num: iosPayInfo.payment_count,
type: "ios",
}
console.log("ios创建订单信息:", data);
cc.fx.GameTool.shushu_Track("init_order", shushu_data);
//@ts-ignore
wx.openCustomerServiceConversation({
sessionFrom: JSON.stringify(data), // 会话来源(可选)
showMessageCard: false, // 是否展示消息卡片
success() {
callBack();
console.log('客服会话已打开');
callBack("success");
console.log('客服会话已successr');
},
fail() {
callBack();
console.log('客服会话已over');
callBack("fail");
}
});
}
@ -216,7 +218,10 @@ export default class Utils {
});
};
poll();
setTimeout(() => {
poll();
}, 500);
}
//#endregion
@ -1018,19 +1023,5 @@ export default class Utils {
});
}
}
// const propName={
//   gold_1: "金币包1",
//   gold_2: "金币包2",
//   gold_3: "金币包3",
//   gold_4: "金币包4",
//   gold_5: "金币包5",
//   gold_6: "金币包6",
//   unlimited_health_bundle_1:"无限体力组合包1",
//   unlimited_health_bundle_2:"无限体力组合包2",
//   unlimited_health_bundle_3:"无限体力组合包3",
//   freeze_in_game:"局内购买冻结",
//   hammer_in_game:"局内购买锤子",
//   wand_in_gamerefill:"局内购买魔棒",
//   health:"补满体力"
// };
}

View File

@ -974,7 +974,8 @@ var GameTool = {
let getCoin = 0;
var rewardData = null;
console.log(productId);
console.log("发放奖励");
switch (productId) {
case "gold_1":
cc.fx.GameTool.changeCoin(1200);
@ -1110,8 +1111,6 @@ var GameTool = {
}
this.getShopProp(propData3, compensate);
break;
}

View File

@ -64,7 +64,7 @@ export default class NewClass extends cc.Component {
console.log("购买成功");
const dataSuccess = {
outTradeNo: iosOutTradeNo,
price: this.iosPrice,
pay_amount: this.iosPrice,
payment_name: this.iosProductId,
payment_num: this.iosCount,
type: "ios",
@ -182,16 +182,16 @@ export default class NewClass extends cc.Component {
// cc.fx.GameTool.changeCoin(6000);
const jiazaiNode = cc.find("Canvas"); // 假设 JiaZai 挂在 Canvas 节点
const jiazaiComp = jiazaiNode.getComponent(JiaZai);
jiazaiComp.getMonthlyCardValidityDays().then(days => {
cc.fx.GameConfig.GM_INFO.monthTime = days;
NumberToImage.numberToImageNodes(days, 35, 20, "month_", this.monthCardTime, true);
});
jiazaiComp.getMonthlyCardValidityDays().then(days => {
cc.fx.GameConfig.GM_INFO.monthTime = days;
NumberToImage.numberToImageNodes(days, 35, 20, "month_", this.monthCardTime, true);
});
if (jiazaiComp) {
setTimeout(() => {
jiazaiComp.setHealthInfo(false);
jiazaiComp.startTimeCutDown();
jiazaiComp.updateCoin();
}, 300);
} else {
console.log("无法获取JiaZai组件");
@ -405,7 +405,7 @@ export default class NewClass extends cc.Component {
this.btn_Touch = true;
const dataSuccess = {
outTradeNo: Utils.outTradeNo,
price: price,
pay_amount: price,
payment_name: productId,
payment_num: 1,
type: systemType,

View File

@ -13941,7 +13941,7 @@
"component": "",
"_componentId": "48bfeZuYFZE2qmgxbW2IigB",
"handler": "closeShop",
"customEventData": ""
"customEventData": "exit"
},
{
"__type__": "cc.PrefabInfo",
@ -14892,12 +14892,12 @@
"Stamina": {
"__id__": 319
},
"coinAnim": {
"__id__": 377
},
"monthCardTime": {
"__id__": 28
},
"coinAnim": {
"__id__": 377
},
"_id": ""
},
{

View File

@ -55,6 +55,7 @@ export default class NewClass extends cc.Component {
if (cc.sys.platform === cc.sys.WECHAT_GAME) {
// 定义监听函数
this.onShowListener = () => {
console.log("回到前台");
this.onShow();
};
//@ts-ignore
@ -80,19 +81,20 @@ export default class NewClass extends cc.Component {
this.updatePower();
this.setHealthInfo(true);
this.updateIcon();
NumberToImage.numberToImageNodes(cc.fx.GameConfig.GM_INFO.coin, 30, 15, "coin_", this.coin, true);
}
//打开商店界面
openShop() {
Utils.outTradeNo = null;
// 商品数据数组
const products = [
{ product_id: "gold_1", name: "金币包1", price: 600, coin: 1200, title: "3x2六档金币" },
{ product_id: "gold_1", name: "金币包1", price: 600, coin: 1200, title: "3x2六档金币" },
{ product_id: "gold_2", name: "金币包2", price: 3600, coin: 8000, title: "" },
{ product_id: "gold_3", name: "金币包3", price: 6800, coin: 16000, title: "" },
{ product_id: "gold_4", name: "金币包4", price: 12800, coin: 32000, title: "" },
{ product_id: "gold_5", name: "金币包5", price: 32800, coin: 100000, title: "" },
{ product_id: "gold_6", name: "金币包6", price: 64800, coin: 240000, title: "" },
{ product_id: "gold_1", price: 600, coin: 1200, title: "3x2六档金币" },
{ product_id: "gold_1", price: 600, coin: 1200, title: "3x2六档金币" },
{ product_id: "gold_2", price: 3600, coin: 8000, title: "" },
{ product_id: "gold_3", price: 6800, coin: 16000, title: "" },
{ product_id: "gold_4", price: 12800, coin: 32000, title: "" },
{ product_id: "gold_5", price: 32800, coin: 100000, title: "" },
{ product_id: "gold_6", price: 64800, coin: 240000, title: "" },
];
for (let i = 2; i <= 7 && i < this.itemList.children.length; i++) {
const spriteComp = this.itemList.children[i].children[0].getComponent(cc.Sprite);
@ -152,9 +154,11 @@ export default class NewClass extends cc.Component {
this.startCoinAnim(5000);
}
//关闭商店界面
closeShop() {
closeShop(data, currentCoin) {
// 移除 wx.onShow 监听器
if (cc.sys.platform === cc.sys.WECHAT_GAME && this.onShowListener) {
console.log("!!!!!!!!!!移除onshow");
console.log(currentCoin);
//@ts-ignore
wx.offShow(this.onShowListener);
}
@ -182,109 +186,124 @@ export default class NewClass extends cc.Component {
}
onShow() {
console.log("从后台进入前台 onShow");
//如果月卡打开就return
if (this.monthCard) {
return;
}
if (cc.sys.platform === cc.sys.WECHAT_GAME) {
console.log("从后台进入前台订单号:", cc.fx.GameConfig.GM_INFO.iosOutTradeNo);
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.btn_Touch = true;
Utils.getIosPayInfo(iosOutTradeNo,
(data) => {
console.log("获得轮训结果:", data);
if (data.code == 1) {
console.log("购买成功");
const dataSuccess = {
outTradeNo: iosOutTradeNo,
price: this.iosPrice,
payment_name: this.iosProductId,
payment_num: this.iosCount,
type: "ios",
}
cc.fx.GameTool.shushu_Track("payment", dataSuccess);
let name = "购买金币道具:" + this.iosProductId;
let version = cc.fx.GameTool.getWechatGameVersion();
if (version == "正式版") {
MiniGameSdk.API.yinli_Pay(this.iosPrice, iosOutTradeNo, name)
}
const systemInfo = wx.getSystemInfoSync();
if (systemInfo.platform === 'ios') {
if (cc.sys.platform === cc.sys.WECHAT_GAME) {
console.log("从后台进入获取当前商品名称:", this.iosProductId);
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.btn_Touch = true;
console.log("_________正式发货", "gold_1");
MiniGameSdk.API.showToast("充值成功");
cc.fx.GameTool.shopBuy("gold_5", false);
// Utils.getIosPayInfo(iosOutTradeNo,
// (data) => {
// console.log("获得轮训结果:", data);
// if (data.code == 1) {
// console.log("购买成功");
// const iosID = data.data.payment_name;
// console.log("商品id:", iosID);
// const dataSuccess = {
// outTradeNo: iosOutTradeNo,
// pay_amount: this.iosPrice,
// payment_name: iosID,
// payment_num: this.iosCount,
// type: "ios",
// }
// cc.fx.GameTool.shushu_Track("payment", dataSuccess);
// let name = "购买金币道具:" + this.iosProductId;
// let version = cc.fx.GameTool.getWechatGameVersion();
// if (version == "正式版") {
// MiniGameSdk.API.yinli_Pay(this.iosPrice, iosOutTradeNo, name)
// }
Utils.setPayInfo(
(res) => {
this.closeLoad();
//console.log("设置轮训结果:", res);
if (res.code === 1) {
console.log("_________正式发货");
MiniGameSdk.API.showToast("充值成功");
cc.fx.GameTool.shopBuy(this.iosProductId, false);
if (this.iosProductId == "unlimited_health_bundle_1" ||
this.iosProductId == "unlimited_health_bundle_2" ||
this.iosProductId == "unlimited_health_bundle_3"
) {
this.updatePower();
}
//console.log("充值成功获得金币");
}
else {
MiniGameSdk.API.showToast("网络异常,充值奖励将在登录后再次发放");
const dataFail4 = {
outTradeNo: iosOutTradeNo,
price: this.iosPrice,
payment_name: this.iosProductId,
payment_num: this.iosCount,
type: "ios",
fail_reason: "成功付款,但是发货时请求服务器失败,充值成功未发货",
}
cc.fx.GameTool.shushu_Track("payment_fail", dataFail4);
}
NumberToImage.numberToImageNodes(cc.fx.GameConfig.GM_INFO.coin, 30, 15, "coin_", this.coin, true);
if (this.node.parent.getComponent("JiaZai"))
this.node.parent.getComponent("JiaZai").updateCoin();
else if (this.node.parent.getComponent("SceneManager")) {
this.node.parent.getComponent("SceneManager").updateCoin();
}
}, iosOutTradeNo)
}
else if (data.code == 0) {
console.log("用户自己取消充值");
MiniGameSdk.API.showToast("充值失败");
this.closeLoad();
this.btn_Touch = true;
const dataFail = {
outTradeNo: iosOutTradeNo,
price: this.iosPrice,
payment_name: this.iosProductId,
payment_num: this.iosCount,
type: "ios",
fail_reason: "用户取消充值",
}
cc.fx.GameTool.shushu_Track("payment_fail", dataFail);
}
else if (data.code == 2) {
this.closeLoad();
console.log("轮训超时");
MiniGameSdk.API.showToast("订单已关闭");
const dataFail = {
outTradeNo: iosOutTradeNo,
price: this.iosPrice,
payment_name: this.iosProductId,
payment_num: this.iosCount,
type: "ios",
fail_reason: "用户充值后,轮训结果超时",
}
cc.fx.GameTool.shushu_Track("payment_fail", dataFail);
}
// Utils.setPayInfo(
// (res) => {
// this.closeLoad();
// //console.log("设置轮训结果:", res);
// if (res.code === 1) {
// console.log("_________正式发货", iosID);
// MiniGameSdk.API.showToast("充值成功");
// cc.fx.GameTool.shopBuy(iosID, false);
// if (iosID == "unlimited_health_bundle_1" ||
// iosID == "unlimited_health_bundle_2" ||
// iosID == "unlimited_health_bundle_3"
// ) {
// this.updatePower();
// }
// //console.log("充值成功获得金币");
// }
// else {
// MiniGameSdk.API.showToast("网络异常,充值奖励将在登录后再次发放");
// const dataFail4 = {
// outTradeNo: iosOutTradeNo,
// price: this.iosPrice,
// payment_name: iosID,
// payment_num: this.iosCount,
// type: "ios",
// fail_reason: "成功付款,但是发货时请求服务器失败,充值成功未发货",
// }
// cc.fx.GameTool.shushu_Track("payment_fail", dataFail4);
// }
// NumberToImage.numberToImageNodes(cc.fx.GameConfig.GM_INFO.coin, 30, 15, "coin_", this.coin, true);
// if (this.node.parent.getComponent("JiaZai"))
// this.node.parent.getComponent("JiaZai").updateCoin();
// else if (this.node.parent.getComponent("SceneManager")) {
// this.node.parent.getComponent("SceneManager").updateCoin();
// }
// }, iosOutTradeNo)
// }
// else if (data.code == 0) {
// console.log("用户自己取消充值");
// MiniGameSdk.API.showToast("充值失败");
// this.closeLoad();
// this.btn_Touch = true;
// const dataFail = {
// outTradeNo: iosOutTradeNo,
// price: this.iosPrice,
// payment_name: this.iosProductId,
// payment_num: this.iosCount,
// type: "ios",
// fail_reason: "用户取消充值",
// }
// cc.fx.GameTool.shushu_Track("payment_fail", dataFail);
// }
// else if (data.code == 2) {
// this.closeLoad();
// console.log("轮训超时");
// MiniGameSdk.API.showToast("订单已关闭");
// const dataFail = {
// outTradeNo: iosOutTradeNo,
// price: this.iosPrice,
// payment_name: this.iosProductId,
// payment_num: this.iosCount,
// type: "ios",
// fail_reason: "用户充值后,轮训结果超时",
// }
// cc.fx.GameTool.shushu_Track("payment_fail", dataFail);
// }
this.btn_Touch = true;
cc.fx.GameConfig.GM_INFO.iosOutTradeNo = null;
})
// this.btn_Touch = true;
// cc.fx.GameConfig.GM_INFO.iosOutTradeNo = null;
// })
}
else {
this.closeLoad();
}
}
}
}
openLoad() {
@ -378,6 +397,7 @@ export default class NewClass extends cc.Component {
let price = 100;
let count = 1;
id = productId;
console.log("购买商品id:", productId);
switch (productId) {
case "gold_1":
price = 600;
@ -437,6 +457,8 @@ export default class NewClass extends cc.Component {
this.iosPrice = price;
this.iosProductId = productId;
this.iosCount = 1;
console.log("准备跳客服回话:");
console.log(this.iosProductId);
Utils.GoKEFu(iosPayInfo, (res) => {
this.closeLoad();
});
@ -517,7 +539,7 @@ export default class NewClass extends cc.Component {
this.btn_Touch = true;
const dataSuccess = {
outTradeNo: Utils.outTradeNo,
price: price,
pay_amount: price,
payment_name: productId,
payment_num: 1,
type: systemType,