You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
431 lines
14 KiB
431 lines
14 KiB
import AppConfig from "../../FrameWork/Config/AppConfig";
|
|
import User from "../../FrameWork/User/User";
|
|
import AppPlatform from "../../FrameWork/Util/AppPlatform";
|
|
import LevelUpManager from "../../Scripts/Manager/LevelUpManager";
|
|
import UserManager from "../../Scripts/Manager/UserManager";
|
|
import Common5 from "./Common5";
|
|
|
|
export default class CommonDefine {
|
|
public static loginCode: string = '';
|
|
//获取登录信息
|
|
public static tryIndex = 0;
|
|
|
|
|
|
public static replayGetLoginInfo(onSuccesscall?: Function) {
|
|
|
|
console.log('replayGetLoginInfo++=')
|
|
this.tryIndex++
|
|
if (this.tryIndex >= 5) {
|
|
return
|
|
}
|
|
|
|
let successcall = (code) => {
|
|
CommonDefine.loginCode = code;
|
|
|
|
let onFail = () => {
|
|
|
|
}
|
|
|
|
let onSuccess = (response) => {
|
|
console.log(response, '数据+++=====')
|
|
if (response.msg == 'OK') {
|
|
User.setUserId(response.openid)
|
|
if (onSuccesscall) {
|
|
onSuccesscall()
|
|
}
|
|
}
|
|
}
|
|
|
|
CommonDefine.getLoginInfo(CommonDefine.loginCode, onFail, onSuccess)
|
|
|
|
|
|
}
|
|
|
|
let failcall = () => {
|
|
|
|
}
|
|
AppPlatform.loginPlatform_custom(successcall, failcall)
|
|
|
|
|
|
}
|
|
|
|
public static getLoginInfo(code, onFail, onSuccess) {
|
|
let url = "https://xmb.ioe-times.com/api/getopenid"
|
|
let headersTab = {}; //头数据
|
|
let xhr: XMLHttpRequest = new XMLHttpRequest();
|
|
xhr.timeout = 15000;
|
|
|
|
//请求过程发生意外的回调
|
|
xhr.onerror = function (error) {
|
|
onSuccess(null);
|
|
console.log("网络请求异常getLoginInfo");
|
|
}
|
|
//超时
|
|
xhr.ontimeout = function (error) {
|
|
onSuccess(null);
|
|
console.log("网络超时getLoginInfo");
|
|
}
|
|
|
|
xhr.onreadystatechange = function () {
|
|
|
|
let readyState = xhr.readyState;
|
|
let status = xhr.status;
|
|
|
|
if (readyState === 4) {
|
|
let tab = { code: 1 }
|
|
if (status >= 200 && status < 300) {
|
|
let responseText = xhr.responseText;
|
|
const response = JSON.parse(responseText);
|
|
console.log(response, 'CommonDefine ++= getLoginInfo data+++++')
|
|
onSuccess(response);
|
|
|
|
} else {
|
|
let statusText = xhr.statusText;
|
|
console.log("接收内容:" + statusText)
|
|
onSuccess(null);
|
|
}
|
|
}
|
|
}
|
|
|
|
xhr.open("POST", url, true);
|
|
|
|
if (!headersTab["Content-Type"]) {
|
|
headersTab["Content-Type"] = "application/json";
|
|
}
|
|
if (headersTab) {
|
|
for (let key in headersTab) {
|
|
xhr.setRequestHeader(key, headersTab[key]);
|
|
}
|
|
}
|
|
|
|
console.log(code, '用户code')
|
|
let params = { GameName: "TiaoZhanRenShengDianFeng", Anonymous_code: "", "Code": code };
|
|
let sendMsg = JSON.stringify(params);
|
|
xhr.send(sendMsg);
|
|
}
|
|
|
|
|
|
|
|
|
|
// public static getServerData(onSuccess: Function, onFail: Function) {
|
|
// let userid = User.getUserId()
|
|
// if (userid == '') {
|
|
// cc.log('userid为空号getServerData')
|
|
// CommonDefine.replayGetLoginInfo()
|
|
// return
|
|
// }
|
|
// let url = "https://xmb.ioe-times.com/api/getdata"
|
|
// let headersTab = {}; //头数据
|
|
// let xhr: XMLHttpRequest = new XMLHttpRequest();
|
|
// xhr.timeout = 15000;
|
|
|
|
// //请求过程发生意外的回调
|
|
// xhr.onerror = function (error) {
|
|
// console.log('网络请求异常getServerData')
|
|
// onFail("网络请求异常");
|
|
// }
|
|
// //超时
|
|
// xhr.ontimeout = function (error) {
|
|
// console.log('网络超时getServerData')
|
|
// onFail("网络超时");
|
|
// }
|
|
|
|
// xhr.onreadystatechange = function () {
|
|
|
|
// let readyState = xhr.readyState;
|
|
// let status = xhr.status;
|
|
|
|
// if (readyState === 4) {
|
|
// let tab = { code: 1 }
|
|
// if (status >= 200 && status < 300) {
|
|
// // console.log(xhr, 'xhr+++++')
|
|
|
|
|
|
// let responseText = xhr.responseText;
|
|
|
|
// // console.log(responseText, 'responseText+++++')
|
|
|
|
|
|
// const response = JSON.parse(responseText);
|
|
// if (response.flag == 0 && response.data != "") {
|
|
// let data = JSON.parse(response.data)
|
|
// console.log(data.GameData, 'getServerData+++++')
|
|
// onSuccess(data.GameData);
|
|
// }
|
|
// else {
|
|
// onFail(null);
|
|
// }
|
|
|
|
// } else {
|
|
// let statusText = xhr.statusText;
|
|
// console.log("接收内容:" + statusText)
|
|
// onFail(null);
|
|
// }
|
|
// } else {
|
|
// onFail();
|
|
// }
|
|
// }
|
|
|
|
// xhr.open("POST", url, true);
|
|
|
|
// if (!headersTab["Content-Type"]) {
|
|
// headersTab["Content-Type"] = "application/json";
|
|
// }
|
|
// if (headersTab) {
|
|
// for (let key in headersTab) {
|
|
// xhr.setRequestHeader(key, headersTab[key]);
|
|
// }
|
|
// }
|
|
|
|
|
|
// let params = { GameID: "TiaoZhanRenShengDianFeng", GameUserID: userid };
|
|
// let sendMsg = JSON.stringify(params);
|
|
// xhr.send(sendMsg);
|
|
// }
|
|
|
|
|
|
|
|
// public static setServerData(sendData, onSuccess: Function, onFail: Function) {
|
|
// let userid = User.getUserId()
|
|
// if (userid == '') {
|
|
// CommonDefine.replayGetLoginInfo()
|
|
// cc.log('userid为空号setServerData')
|
|
// return
|
|
// }
|
|
// let url = "https://xmb.ioe-times.com/api/setdata"
|
|
// let headersTab = {}; //头数据
|
|
// let xhr: XMLHttpRequest = new XMLHttpRequest();
|
|
// xhr.timeout = 15000;
|
|
|
|
// //请求过程发生意外的回调
|
|
// xhr.onerror = function (error) {
|
|
|
|
// onFail("网络请求异常");
|
|
// }
|
|
// //超时
|
|
// xhr.ontimeout = function (error) {
|
|
|
|
// onFail("网络超时");
|
|
// }
|
|
|
|
// xhr.onreadystatechange = function () {
|
|
|
|
// let readyState = xhr.readyState;
|
|
// let status = xhr.status;
|
|
|
|
// if (readyState === 4) {
|
|
// let tab = { code: 1 }
|
|
// if (status >= 200 && status < 300) {
|
|
// let responseText = xhr.responseText;
|
|
// const response = JSON.parse(responseText);
|
|
// console.log('setServerData+++++')
|
|
// onSuccess(response);
|
|
// } else {
|
|
// let statusText = xhr.statusText;
|
|
// console.log("接收内容:" + statusText)
|
|
// onSuccess(null);
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// xhr.open("POST", url, true);
|
|
|
|
// if (!headersTab["Content-Type"]) {
|
|
// headersTab["Content-Type"] = "application/json";
|
|
// }
|
|
// if (headersTab) {
|
|
// for (let key in headersTab) {
|
|
// xhr.setRequestHeader(key, headersTab[key]);
|
|
// }
|
|
// }
|
|
|
|
// let params = { GameID: "TiaoZhanRenShengDianFeng", GameUserID: userid, "GameData": sendData };
|
|
// let sendMsg = JSON.stringify(params);
|
|
// xhr.send(sendMsg);
|
|
// }
|
|
|
|
|
|
public static sendRankData(onSuccess: Function, onFail: Function, isZhouBang: boolean) {
|
|
let level = User.getMyLevel()
|
|
let chenghao = LevelUpManager.getChengHao()
|
|
let userId = User.getUserId()
|
|
let headLink = User.getUserLinkHead()
|
|
let userName = User.getUserName()
|
|
let userNameRandom = User.getUserNameRandom()
|
|
let time = new Date().getTime()
|
|
|
|
let name = ''
|
|
if (userName == '') {
|
|
if (userNameRandom == '') {
|
|
name = ""//假名字
|
|
} else {
|
|
name = userNameRandom
|
|
}
|
|
} else {
|
|
name = userName
|
|
}
|
|
|
|
|
|
|
|
if (User.getUserId() == '') {
|
|
if (ZYSDK.ZYSDK.getUserId()) {
|
|
ZYSDK.ZYSDK.getUserId().then((uid) => {
|
|
console.log('uid+++++++++===', uid)
|
|
User.setUserId(uid)
|
|
console.log('再来一次++++')
|
|
|
|
})
|
|
}
|
|
|
|
console.log('没有获取到userid,重新获取一次??')
|
|
return
|
|
}
|
|
|
|
let url = "https://xx.ioe-times.com/rank/api/v1/rank/setrank"
|
|
let headersTab = {}; //头数据
|
|
let xhr: XMLHttpRequest = new XMLHttpRequest();
|
|
xhr.timeout = 5000;
|
|
|
|
//请求过程发生意外的回调
|
|
xhr.onerror = function (error) {
|
|
|
|
onFail("网络请求异常");
|
|
}
|
|
//超时
|
|
xhr.ontimeout = function (error) {
|
|
|
|
onFail("网络超时");
|
|
}
|
|
|
|
xhr.onreadystatechange = function () {
|
|
|
|
let readyState = xhr.readyState;
|
|
let status = xhr.status;
|
|
|
|
if (readyState === 4) {
|
|
let tab = { code: 1 }
|
|
if (status >= 200 && status < 300) {
|
|
let responseText = xhr.responseText;
|
|
const response = JSON.parse(responseText);
|
|
console.log(response, 'setServerData11+++++')
|
|
onSuccess(response);
|
|
} else {
|
|
let statusText = xhr.statusText;
|
|
console.log("接收内容:" + statusText)
|
|
onSuccess(null);
|
|
}
|
|
}
|
|
}
|
|
|
|
xhr.open("POST", url, true);
|
|
|
|
if (!headersTab["Content-Type"]) {
|
|
headersTab["Content-Type"] = "application/json";
|
|
}
|
|
if (headersTab) {
|
|
for (let key in headersTab) {
|
|
xhr.setRequestHeader(key, headersTab[key]);
|
|
}
|
|
}
|
|
|
|
|
|
if (isZhouBang) {
|
|
let myWeekDayTime = User.getStatistics("myWeekDayTime")
|
|
//不是一周内的新玩家,就去拿前20名,不需要自己的排名
|
|
if (Date.now() > myWeekDayTime) {
|
|
let params = {
|
|
"gid": AppConfig.TT_APP_ID_custom + '_zb', //游戏gid
|
|
"userid": userId, //用户id
|
|
"nickname": name, //昵称
|
|
"pic": headLink, //头像
|
|
"score": -1, //等级
|
|
"remark": JSON.stringify({ chenghao: chenghao }),
|
|
"ts": time, //时间戳13位
|
|
"firstsize": 20,
|
|
};
|
|
let sendMsg = JSON.stringify(params);
|
|
//console.log(params, 'params+++++++++++++===')
|
|
xhr.send(sendMsg);
|
|
} else {
|
|
let params = {
|
|
"gid": AppConfig.TT_APP_ID_custom + '_zb', //游戏gid
|
|
"userid": userId, //用户id
|
|
"nickname": name, //昵称
|
|
"pic": headLink, //头像
|
|
"score": level, //等级
|
|
"remark": JSON.stringify({ chenghao: chenghao }),
|
|
"ts": time //时间戳13位
|
|
};
|
|
let sendMsg = JSON.stringify(params);
|
|
//console.log(params, 'params+++++++++++++===')
|
|
xhr.send(sendMsg);
|
|
}
|
|
} else {
|
|
let params = {
|
|
"gid": AppConfig.TT_APP_ID_custom, //游戏gid
|
|
"userid": userId, //用户id
|
|
"nickname": name, //昵称
|
|
"pic": headLink, //头像
|
|
"score": level, //等级
|
|
"remark": JSON.stringify({ chenghao: chenghao }),
|
|
"ts": time //时间戳13位
|
|
};
|
|
let sendMsg = JSON.stringify(params);
|
|
//console.log(params, 'params+++++++++++++===')
|
|
xhr.send(sendMsg);
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* 新的读取数据库备份数据接口
|
|
* @param finishCall 读取成功后的回调(重新加载场景)
|
|
*/
|
|
public static getServerData(finishCall?) {
|
|
let userID = User.getUserId()
|
|
|
|
if (userID == '') {
|
|
//读取数据
|
|
console.log('存档数据拉取中')
|
|
let comSuccesscall = (GameData) => {
|
|
console.error('存档数据拉取成功')
|
|
|
|
ZYSDK.ZYSDK.getUserId().then((uid) => {
|
|
console.log('uid+++++++++===', uid)
|
|
User.setUserId(uid)
|
|
})
|
|
// User.setUserId('userIdcomSuccesscall')
|
|
User.setFirstIn(false);
|
|
|
|
UserManager.readDataByUrl(GameData)
|
|
if (finishCall) {
|
|
finishCall()
|
|
}
|
|
}
|
|
|
|
let comFailcall = () => {
|
|
console.error('存档数据拉取失败')
|
|
}
|
|
ZYSDK.ZYSDK.getGameData(comSuccesscall, comFailcall)
|
|
} else {
|
|
console.log('不需要拉取存档数据')
|
|
}
|
|
}
|
|
|
|
public static saveData(isShow = false) {
|
|
if (Common5.saveTime == 0) {
|
|
let sendData = UserManager.sendDataToUrl()
|
|
Common5.saveTime = 30
|
|
ZYSDK.ZYSDK.setGameData(sendData, () => {
|
|
|
|
console.error('保存数据成功')
|
|
|
|
}, (error) => {
|
|
console.error(error, '保存数据失败')
|
|
})
|
|
} else {
|
|
console.log('保存数据过于频繁')
|
|
}
|
|
}
|
|
|
|
}
|
|
|