cb/assets/Script/module/Pay/Utils.ts
2025-07-30 14:37:19 +08:00

978 lines
36 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { MiniGameSdk } from "../../Sdk/MiniGameSdk";
export default class Utils {
static uid: string = "";
static session_key = "";
static appid: string = "";
static openid: string = "";
static outTradeNo: string = "";
static httpip: string = `https://laf.nika4games.com/`;
//#region 安卓支付
/**获取用户信息*/
static getUserInfo(callBack) {
wx.login({
success(res) {
console.log("登录成功");
console.log(res);
if (res.code) {
Utils.POST("login", { code: res.code }, ret => {
console.log("请求结果:", res);
console.log(ret);
Utils.openid = ret.data.openid;
Utils.session_key = ret.data.session_key;
Utils.uid = ret.data._id;
callBack(ret);
})
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
}
/**道具直购接口*/
static buyProp(id, count, price, systemType, productId, callBack) {
console.log("请求uid:" + Utils.uid, "请求id:" + id, "请求数量:" + count, "请求价格:" + price);
Utils.POST("wx/orderPaySig", { uid: Utils.uid, itemid: id, itemCount: count, itemPrice: price }, res => {
if (res.code == 1) {
Utils.outTradeNo = res.data.outTradeNo;
const data = {
price: price,
payment_name: productId,
payment_num: 1,
type: systemType,
}
cc.fx.GameTool.shushu_Track("init_order", data);
console.log("创建的最新订单的订单号:", Utils.outTradeNo);
// let timeoutId: number;
// const timeoutDuration = 30000; // 30 秒超时时间
// // 设置超时定时器
// timeoutId = setTimeout(() => {
// console.error('支付请求超时');
// callBack("请求支付超时");
// }, timeoutDuration);
//@ts-ignore
wx.requestMidasPaymentGameItem({
signData: res.data.signData,
paySig: res.data.paySig,
signature: res.data.signature,
success(res, errCode) {
// clearTimeout(timeoutId); // 清除超时定时器
console.log('成功', res, errCode);
callBack(res);
},
fail({ errMsg, errCode }) {
// clearTimeout(timeoutId); // 清除超时定时器
console.log('失败');
console.log(errMsg, errCode)
let data = {
errMsg: errMsg,
errCode: errCode,
err: "请求支付失败",
}
callBack(data);
}
})
}
});
}
static getPayInfo(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 poll = () => {
if (attempt >= delays.length) {
MiniGameSdk.API.showToast("网络异常,如付款成功,重进游戏可领取奖励");
callBack({ code: 0, data: { pay_state: -1 }, message: '轮询超时' });
return;
}
console.log("请求uid:", Utils.uid);
console.log("outTradeNo:", Utils.outTradeNo);
Utils.POST("wx/getPayInfo", { uid: Utils.uid, outTradeNo: Utils.outTradeNo }, res => {
console.log("查询字符结果:", res);
if (res.code === 1 && (res.data.pay_state === 1 || res.data.pay_state === 2)) {
callBack(res);
} else {
attempt++;
setTimeout(poll, delays[attempt - 1]);
}
});
};
poll();
}
static setPayInfo(callBack, order) {
const delays = [1000, 3000, 6000, 9000, 12000];// 延迟时间数组
let attempt = 0; // 重试次数
const sendRequest = () => {
if (attempt > delays.length) {
// 达到最大重试次数,调用回调并返回错误信息
callBack({ code: 0, message: '请求失败,已达到最大重试次数' });
return;
}
let orderTemp = Utils.outTradeNo;
if (order) orderTemp = order;
console.log("告知服务器发货的订单号:", orderTemp);
Utils.POST("wx/getOrderReward", { outTradeNo: orderTemp }, res => {
console.log("告知服务器发货:", res);
if (res.code === 1) {
console.log("告知服务器发货成功:", res);
// 请求成功,调用回调并返回结果
callBack(res);
} else {
// 请求失败,增加重试次数并设置下一次请求的延迟
console.log("告知服务器发货失败:", res);
attempt++;
if (attempt <= delays.length) {
setTimeout(sendRequest, delays[attempt - 1]);
} else {
callBack({ code: 0, message: '请求失败,已达到最大重试次数' });
}
}
});
};
sendRequest();
}
//#region ios支付
/**跳转客服*/
static GoKEFu(iosPayInfo, callBack) {
cc.fx.GameConfig.GM_INFO.iosOutTradeNo = null;
cc.fx.GameConfig.GM_INFO.iosOutTradeNo = `wcx_` + Math.round(Math.random() * 10 ** 13) + Date.now();
const data = {
tpye: "ios",
outTradeNo: cc.fx.GameConfig.GM_INFO.iosOutTradeNo,
propName: iosPayInfo.payment_name,
count: iosPayInfo.payment_count,
price: iosPayInfo.price,//价格单位是分
}
const shushu_data = {
outTradeNo: cc.fx.GameConfig.GM_INFO.iosOutTradeNo,
price: iosPayInfo.price,
payment_name: iosPayInfo.payment_name,
payment_num: iosPayInfo.payment_count,
type: "ios",
}
cc.fx.GameTool.shushu_Track("init_order", shushu_data);
//@ts-ignore
wx.openCustomerServiceConversation({
sessionFrom: JSON.stringify(data), // 会话来源(可选)
showMessageCard: false, // 是否展示消息卡片
success() {
callBack();
console.log('客服会话已打开');
},
fail() {
callBack();
}
});
}
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]);
}
});
};
poll();
}
//#endregion
//#region 微信云
// static initServer(){
// if(cc.sys.platform!=cc.sys.WECHAT_GAME)return;
// //@ts-ignore
// wx.cloud.init({
// env: 'cloudbase-1gl7iex89268f11e'
// })
// }
// static getUserCode(){
// //@ts-ignore
// wx.login({
// success (res) {
// console.log("登录成功");
// console.log(res);
// if (res.code) {
// //@ts-ignore
// wx.cloud.callFunction({
// // 云函数名称
// name: 'login',
// // 传给云函数的参数
// data: {
// code:res.code,
// },
// success: function(ret) {
// console.log("请求成功");
// console.log("请求结果:");
// console.log(ret);
// Utils.openid=ret.data.openid;
// Utils.session_key=ret.data.session_key;
// Utils.uid=ret.data._id;
// },
// fail:function(res){
// console.log("请求失败");
// console.log(res);
// }
// })
// } else {
// console.log('登录失败!' + res.errMsg)
// }
// }
// })
// }
// static PayOder(){
// if(cc.sys.platform!=cc.sys.WECHAT_GAME)return;
// //@ts-ignore
// wx.cloud.callFunction({
// // 云函数名称
// name: 'userPayOrder',
// // 传给云函数的参数
// data: {
// itemid:"10011",
// itemCount:1,
// itemPrice:100
// },
// success: function(res) {
// console.log("请求成功");
// console.log(res)
// if(res.result.code==1){
// Utils.outTradeNo=res.result.data.outTradeNo;
// console.log("订单号:"+Utils.outTradeNo);
// //@ts-ignore
// wx.requestMidasPaymentGameItem({
// signData:res.result.data.signData,
// paySig: res.result.data.paySig,
// signature: res.result.data.signature,
// success(res, errCode) {
// console.log('成功', res, errCode);
// },
// fail({errMsg,errCode}) {
// console.error('失败');
// console.error(errMsg, errCode)
// }
// })
// }
// },
// fail:function(res){
// console.log("请求失败");
// console.log(res);
// }
// })
// }
// static getPayInfo1(callBack){
// if(cc.sys.platform!=cc.sys.WECHAT_GAME)return;
// //@ts-ignore
// wx.cloud.callFunction({
// // 云函数名称
// name: 'userGetPayState',
// // 传给云函数的参数
// data: {
// outTradeNo:Utils.outTradeNo
// },
// success: function(res) {
// console.log("请求成功");
// console.log(res)
// callBack("成功");
// },
// fail:function(res){
// console.log("请求失败");
// console.log(res);
// callBack("失败");
// }
// })
// }
// static toke(){
// if(cc.sys.platform!=cc.sys.WECHAT_GAME)return;
// //@ts-ignore
// wx.cloud.callFunction({
// // 云函数名称
// name: 'uerToken',
// // 传给云函数的参数
// data: {
// },
// success: function(res) {
// console.log("请求成功");
// console.log(res)
// },
// fail:function(res){
// console.log("请求失败");
// console.log(res);
// }
// })
// }
//#endregion
//#region POST请求
/**
* POST请求
*
* @static
* @param {*} url
* @param {object} [param={}]
* @param {*} callback
* @memberof HttpUtil
*/
public static POST(url, param: object | any, callback) {
var xhr = cc.loader.getXMLHttpRequest();
let dataStr = '';
Object.keys(param).forEach(key => {
dataStr += key + '=' + encodeURIComponent(param[key]) + '&';
})
if (dataStr !== '') {
dataStr = dataStr.substr(0, dataStr.lastIndexOf('&'));
}
url = this.httpip + url;
console.log("请求地址:" + url);
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
let response: any = xhr.responseText;
if (xhr.status >= 200 && xhr.status < 300) {
let httpStatus = xhr.statusText;
// callback(true, JSON.parse(response));
try {
response = JSON.parse(response);
} catch {
response = { data: "数据有误", code: 0 };
}
callback(response);
} else {
callback({ data: "网络请求失败,请检查网络连接", code: 0 });
}
}
};
xhr.send(dataStr);
}
static http_sendRequest(path, data, handler, extraUrl = null) {
let xhr = cc.loader.getXMLHttpRequest();
xhr.timeout = 5000;//超时时间
if (data == null) {
data = {};
}
if (extraUrl == null) {
//@ts-ignore
if (Utils.isDebug) {
extraUrl = "http://localhost:9003";
} else {
extraUrl = this.httpip;
}
}
//解析请求路由以及格式化请求参数
let sendtext = "?";
for (let k in data) {
if (sendtext != "?") {
sendtext += "&";
}
sendtext += (k + '=' + data[k]);
}
//组装完整的URL
let requestURL = extraUrl + "/" + path + encodeURI(sendtext);
// console.log("发送请求:");
// console.log(requestURL);
//发送请求 Get形式发送请求
xhr.open("GET", requestURL, true);
if (cc.sys.isNative) {//如果是手机就设置请求头
xhr.setRequestHeader("Accept-Encoding", "gzip,deflate");
}
//计时判断是否超时
let hasRetried = false;
let timer = setTimeout(function () {
//xhr.hasRetried=true;
hasRetried = true;
xhr.abort();
console.log("http timeOut......");
retryFun();
}, 5000);
//重新发送请求
let retryFun = function () {
Utils.http_sendRequest(path, data, handler, extraUrl);
}
//监听反馈
xhr.onreadystatechange = function () {
clearTimeout(timer);
if (xhr.readyState === 4 && (xhr.status >= 200 && xhr.status < 300)) {
let ret = null;
let respText = xhr.responseText;
try {
ret = JSON.parse(respText);
} catch (e) {
console.log("http error:" + e);
ret = {
code: 1,
msg: e
}
}
if (handler) {
handler(ret);
}
handler = null;
} else if (xhr.readyState === 4) {
// if(xhr.hasRetried){
// return;
// }
if (hasRetried) {
return;
}
console.log('other readystate ==' + xhr.readyState + ', status:' + xhr.status);
if (xhr.readyState == 4 && xhr.status == 0) {
handler({
err: 1,
msg: "网络连接失败,请稍后再试"
});
return;
}
setTimeout(function () {
retryFun();
}, 5000);
} else {
//console.log('other readystate:' + xhr.readyState + ', status:' + xhr.status);
}
}
try {
xhr.send();
} catch (e) {
retryFun();
}
return xhr;
}
//#region laf云函数 游戏内数据用
//获取用户数据,包含头像昵称注册时间
static getUserData(callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let data = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'read',
}
Utils.POST("userData", data, res => {
console.log("获得userData数据:", res);
if (res.code === 1) {
console.log("服务器:获取用户数据成功", res);
if (callBack) callBack(res);
} else {
console.log("服务器:获取用户数据失败", res);
if (callBack) callBack(res);
}
});
}
}
//上传用户信息
static setUserData(data, callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'save',
userData: data
}
Utils.POST("userData", setData, res => {
console.log("获得userData数据:", res);
if (res.code === 1) {
console.log("服务器:获取用户数据成功", res);
if (callBack) callBack(res);
} else {
console.log("服务器:获取用户数据失败", res);
if (callBack) callBack(res);
}
});
}
}
//获得金币信息
static getUserCoin(callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'read',
}
Utils.POST("userCoin", setData, res => {
console.log("获得userCoin数据:", res);
if (res.code === 1) {
console.log("服务器:获得金币成功", res);
if (callBack) callBack(res);
} else {
console.log("服务器:获得金币失败", res);
if (callBack) callBack(res);
}
});
}
}
//上传金币信息
static setUserCoin(callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'save',
coinAmount: Math.floor(cc.fx.GameConfig.GM_INFO.coin)
}
console.log("服务器:上传金币", Math.floor(cc.fx.GameConfig.GM_INFO.coin));
Utils.POST("userCoin", setData, res => {
console.log("获得userCoin数据:", res);
if (res.code === 1) {
console.log("服务器:上传金币成功", res);
if (callBack) callBack(res);
} else {
console.log("服务器:上传金币失败", res);
if (callBack) callBack(res);
}
});
}
}
//获得关卡等级信息
static getUserLevel(callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'read',
}
Utils.POST("userLevel", setData, res => {
console.log("获得userLevel数据:", res);
if (res.code === 1) {
console.log("服务器:获得等级成功", res);
if (callBack) callBack(res);
} else {
console.log("服务器:获得等级失败", res);
if (callBack) callBack(res);
}
});
}
}
//上传关卡等级信息
static setUserLevel(callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'save',
levelAmount: parseInt(cc.fx.GameConfig.GM_INFO.level)
}
Utils.POST("userLevel", setData, res => {
console.log("获得userLevel数据:", res);
if (res.code === 1) {
console.log("服务器:上传等级成功", res);
if (callBack) callBack(res);
} else {
console.log("服务器:上传等级失败", res);
if (callBack) callBack(res);
}
});
}
}
//获得用户道具信息
static getUserProp(callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'read',
}
Utils.POST("userProp", setData, res => {
console.log("获得userProp数据:", res);
if (res.code === 1) {
console.log("服务器:获得道具成功", res);
if (callBack) callBack(res);
} else {
console.log("服务器:获得道具失败", res);
if (callBack) callBack(res);
}
});
}
}
//上传道具信息
static setUserProp(propid, amount, callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = null;
if (propid == 0) {
setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'save',
propType: propid,
propData: JSON.stringify(amount),
}
}
else {
setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'save',
propType: propid,
propData: amount,
}
}
console.log("上传道具类型", propid, "上传道具数量:", amount);
Utils.POST("userProp", setData, res => {
console.log("获得userProp数据:", res);
if (res.code === 1) {
console.log("服务器:上传道具成功", res);
if (callBack) callBack(res);
} else {
console.log("服务器:上传道具失败", res);
if (callBack) callBack(res);
}
});
}
}
//获得关卡等级信息
static getUserHealth(callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'read',
}
Utils.POST("userHealth", setData, res => {
console.log("获得userHealth数据:", res);
if (res.code === 1) {
console.log("服务器:获得体力成功", res);
if (callBack) callBack(res);
} else {
console.log("服务器:获得体力失败", res);
if (callBack) callBack(res);
}
});
}
}
//上传关卡等级信息
static setUserHealth(timestamp, callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'save',
healthAmount: cc.fx.GameConfig.GM_INFO.hp,
timestamp: timestamp
}
Utils.POST("userHealth", setData, res => {
console.log("获得userHealth数据:", res);
if (res.code === 1) {
console.log("服务器:上传体力成功", res);
if (callBack) callBack(res);
} else {
console.log("服务器:上传体力失败", res);
if (callBack) callBack(res);
}
});
}
}
//获得关卡等级信息
static getUserPowerTime(callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'read',
}
Utils.POST("userPower", setData, res => {
console.log("获得userPower数据:", res);
if (res.code === 1) {
console.log("服务器:获得无限体力成功", res);
if (callBack) callBack(res);
} else {
console.log("服务器:获得无限体力失败", res);
if (callBack) callBack(res);
}
});
}
}
//上传关卡等级信息
static setUserPowerTime(userPowerTime, callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'save',
userPowerTime: userPowerTime
}
Utils.POST("userPower", setData, res => {
console.log("获得userPower数据:", res);
if (res.code === 1) {
console.log("服务器:上传无限体力成功", res);
if (callBack) callBack(res);
} else {
console.log("服务器:上传无限体力失败", res);
if (callBack) callBack(res);
}
});
}
}
//获得monthlyCard信息 少用
static monthGetReward(callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
}
Utils.POST("monthGetReward", setData, res => {
// console.log("获得monthGetReward数据:", res);
if (res.code === 1) {
// console.log("服务器:领取获得monthGetReward成功'✅ ", res);
if (callBack) callBack(res);
} else {
// console.log("服务器:获得monthGetReward失败'❌ ", res);
if (callBack) callBack(res);
}
});
}
}
static getMonthlyCard(callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
// console.log("获取monthlyCard信息:", uid, monthCardTime);
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'read',
}
Utils.POST("monthlyCard", setData, res => {
// console.log("获得monthlyCard数据:", res);
if (res.code === 1) {
// console.log("服务器:获取monthlyCard成功'✅ ", res);
if (callBack) callBack(res);
} else {
// console.log("服务器:获取monthlyCard失败'❌ ", res);
if (callBack) callBack(res);
}
});
}
}
//上传monthlyCard信息
static setMonthlyCard(monthCardTime, callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
// console.log("上传monthlyCard信息:", uid, monthCardTime);
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'save',
monthCardTime: monthCardTime,
}
Utils.POST("monthlyCard", setData, res => {
// console.log("获得monthlyCard数据:", res);
if (res.code === 1) {
// console.log("服务器:上传monthlyCard成功'✅ ", res);
if (callBack) callBack(res);
} else {
// console.log("服务器:上传monthlyCard失败'❌ ", res);
if (callBack) callBack(res);
}
});
}
}
//canRebonGift信息
static canRebonGift(callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
}
Utils.POST("canRebonGift", setData, res => {
if (res.code === 1) {
console.log("服务器:canRebonGift'✅ ", res);
if (callBack) callBack(res);
} else {
if (callBack) callBack(res);
}
});
}
}
//购买
//上传monthlyCard信息
static rebornGift(rebornGift, callBack) {
if (typeof wx !== 'undefined' && wx !== null) {
let uid = cc.fx.StorageMessage.getStorage("uid");
// console.log("上传monthlyCard信息:", uid, monthCardTime);
//旧的读取数据设置数据方法,以强联网为主
if (uid != undefined && uid != "" && uid != null) {
cc.fx.GameConfig.GM_INFO.uid = uid;
}
let setData = {
uid: cc.fx.GameConfig.GM_INFO.uid,
action: 'save',
rebornGift: rebornGift,
}
Utils.POST("rebornGift", setData, res => {
// console.log("获得rebornGift数据:", res);
if (res.code === 1) {
console.log("服务器:上传rebornGift成功'✅ ", res);
if (callBack) callBack(res);
} else {
// console.log("服务器:上传rebornGift失败'❌ ", res);
if (callBack) callBack(res);
}
});
}
}
// 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:"补满体力"
// };
}