Files
fc/dev/project/library/imports/4f/4fd8faad-81a4-4894-be15-adf59843fd6e.js
T

256 lines
12 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"use strict";
cc._RF.push(module, '4fd8fqtgaRIlL4VrfWYQ/1u', 'Coresdk');
// Scripts/erolabs/Coresdk.ts
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Coresdk = void 0;
var Result_1 = require("./Result");
var APIUtil_1 = require("./APIUtil");
var ConfigLoader_1 = require("./ConfigLoader");
var DeepLink_1 = require("./DeepLink");
var Util_1 = require("./Util");
var Coresdk = /** @class */ (function () {
function Coresdk() {
}
Coresdk.getInstance = function () {
if (!Coresdk.instance) {
Coresdk.instance = new Coresdk();
Coresdk.instance.apiUtil = new APIUtil_1.APIUtil();
Coresdk.instance.configLoader = new ConfigLoader_1.ConfigLoader();
// 試著取出token
var token = cc.sys.localStorage.getItem(Coresdk.prefKeyToken);
if (!token)
token = "";
Coresdk.instance.token = token;
}
return Coresdk.instance;
};
Coresdk.prototype.setLanguage = function (language) {
Coresdk.getInstance().setLanguage(language);
};
Coresdk.prototype.initialize = function (gameId, platform, language, callback) {
var _this = this;
Coresdk.getInstance().gameId = gameId;
Coresdk.getInstance().platform = platform;
Coresdk.getInstance().language = language;
// 先取得 applicationIdentifier
DeepLink_1.DeepLink.getPackageName(function (applicationIdentifier) {
Coresdk.getInstance().applicationIdentifier = applicationIdentifier;
// 更新設定檔及確認domain 網址
Coresdk.getInstance().configLoader.initialize(function (isSuccess, result) {
if (isSuccess) {
_this.isCoresdkInitialized = true;
Coresdk.getInstance().config = result;
// 輸出組態檔相關資訊
// console.log("ApiDomain:", JSON.stringify(result) );
}
if (callback)
callback(isSuccess);
});
});
};
Coresdk.prototype.openLogin = function (callback) {
var _this = this;
var token = Coresdk.getInstance().getToken();
// console.log( "autoLogin3333" );
if (token.length > 0) {
Coresdk.requestProfile(Coresdk.getInstance().config ? Coresdk.getInstance().config.ApiDomain : "https://sadpki-portal.ebuajk.com/api", token, function (_) { return callback(_); });
return;
}
// 組合成指定網址
var endpoint = "/login/";
var applicationIdentifier = Coresdk.getInstance().applicationIdentifier;
var callbackUrl = Util_1.get_deeplink_url(applicationIdentifier, "");
var game_id = Coresdk.getInstance().gameId;
var platform = Coresdk.getInstance().platform;
var language = Coresdk.getInstance().language;
var head = Coresdk.getInstance().config ? Coresdk.getInstance().config.Domain : "https://sadpki-portal.ebuajk.com";
console.log("headddd" + head);
var url = head + endpoint + "?" + "login=true" + "&callback=" + callbackUrl + "&game_id=" + game_id + "&platform=" + platform + "&lang=" + language;
console.log("autoLoginAdress" + url);
DeepLink_1.DeepLink.openURL(url, function (deeplinkurl) {
// 取得回傳網址中的token
console.log("deeplinkurl" + deeplinkurl);
var token = Util_1.url_find_key(deeplinkurl, "token");
_this.setToken(token);
// 向 web api 要求 profile 資訊
Coresdk.requestProfile(Coresdk.getInstance().config ? Coresdk.getInstance().config.ApiDomain : "https://sadpki-portal.ebuajk.com/api", token, function (_) { return callback(_); });
});
};
Coresdk.prototype.openLogout = function (callback) {
var _this = this;
// 組合成指定網址
var endpoint = "/login/";
var applicationIdentifier = Coresdk.getInstance().applicationIdentifier;
var language = Coresdk.getInstance().language;
var callbackUrl = Util_1.get_deeplink_url(applicationIdentifier, "");
var url = Coresdk.getInstance().config.Domain + endpoint + "?" + "logout=true" + "&callback=" + callbackUrl + "&lang=" + language;
DeepLink_1.DeepLink.openURL(url, function (_) {
_this.setToken("");
var result = new Result_1.LogoutResult();
result.exception = "";
callback(result);
});
};
Coresdk.prototype.openPayment = function () {
// 組合成指定網址
var endpoint = "/payment/";
var token = Coresdk.getInstance().getToken();
var domain = Coresdk.getInstance().config.PaymentDomain;
var language = Coresdk.getInstance().language;
var url = domain + endpoint + "?jwt=" + token + "&lang=" + language;
// open with browser
Util_1.open_url(url);
};
Coresdk.prototype.getUserCoins = function () {
// 組合成指定網址
var endpoint = "/getUserCoins";
// var url = ;
var query = new Result_1.Dictionary();
query["merchantId"] = "";
query["serviceId"] = "";
var token = Coresdk.getInstance().getToken();
var domain = Coresdk.getInstance().config ? Coresdk.getInstance().config.ApiDomain : "https://sadpki-portal.ebuajk.com/api";
var url = domain + endpoint;
Coresdk.getInstance().apiUtil.requestAPI(url, query, token, "", function (res) {
// this.coins = url_find_key( res.Data, "coins");
var data = JSON.parse(res.Data);
Coresdk.getInstance().coins = data.coins;
// console.log( this.coins + "获取ecoin返回数据-----" + JSON.stringify( data ) );
});
// open with browser
// Coresdk.getInstance().apiUtil.requestAPI(url, deeplinkurl => {
// this.coins = url_find_key( deeplinkurl, "coins");
// console.log( JSON.stringify( deeplinkurl ) + "地址顶顶顶顶" + this.coins );
// });
};
Coresdk.prototype.openAccountBindGame = function (game_account, callback) {
var _this = this;
// 組合成指定網址
var endpoint = "/bind/";
var applicationIdentifier = Coresdk.getInstance().applicationIdentifier;
var callbackUrl = Util_1.get_deeplink_url(applicationIdentifier, "");
var game_id = Coresdk.getInstance().gameId;
var platform = Coresdk.getInstance().platform;
var language = Coresdk.getInstance().language;
var url = Coresdk.getInstance().config.Domain + endpoint + "?" + "game_id=" + game_id + "&game_account=" + game_account + "&callback=" + callbackUrl + "&platform=" + platform + "&lang=" + language;
console.log("绑定游客账号返回相关bindgame" + url);
DeepLink_1.DeepLink.openURL(url, function (deeplinkurl) {
var token = Util_1.url_find_key(deeplinkurl, "token");
console.log(deeplinkurl + "绑定游客账号返回相关bindgamesssss" + url);
var bind = Util_1.url_find_key(deeplinkurl, "bind");
if (bind == "success") {
_this.setToken(token);
// 向 web api 要求 profile 資訊
Coresdk.requestProfile(Coresdk.getInstance().config.ApiDomain, token, function (_) { return callback(_); });
return;
}
var errorRet = new Result_1.ProfileResult();
errorRet.isSuccess = false;
errorRet.exception = "bind_failed";
callback(errorRet);
});
};
Coresdk.prototype.postAccountBindGame = function (game_account, callback) {
// 組合成指定網址
var endpoint = "/accountBindGame";
var game_id = Coresdk.getInstance().gameId;
Coresdk.postAccountBindGame(Coresdk.getInstance().config.ApiDomain, Coresdk.getInstance().getToken(), game_id, game_account, function (result) {
if (result.isSuccess) {
Coresdk.requestProfile(Coresdk.getInstance().config.ApiDomain, Coresdk.getInstance().getToken(), callback);
return;
}
var profileResult = new Result_1.ProfileResult();
profileResult.isSuccess = false;
profileResult.exception = result.reason;
if (callback)
callback(profileResult);
});
};
Coresdk.prototype.getToken = function () {
return this.token;
};
Coresdk.prototype.getCoins = function () {
return Coresdk.getInstance().coins;
};
Coresdk.prototype.getLoginURL = function () {
if (!this.isCoresdkInitialized) {
console.log("Please initialize() first.");
return "";
}
return Coresdk.getInstance().config.Domain + "/login/";
};
Coresdk.prototype.setToken = function (value) {
Coresdk.getInstance().token = value;
cc.sys.localStorage.setItem(Coresdk.prefKeyToken, value);
};
Coresdk.requestProfile = function (domain, token, callback) {
var endpoint = "/getUserInfo";
var url = domain + endpoint;
var query = new Result_1.Dictionary();
query["merchantId"] = "";
query["serviceId"] = "";
Coresdk.getInstance().apiUtil.requestAPI(url, query, token, "", function (res) {
var result = Coresdk.parseProfileResult(res);
if (callback) {
callback(result);
}
});
};
Coresdk.postAccountBindGame = function (domain, token, game_id, game_account, callback) {
var endpoint = "/accountBindGame";
var url = domain + endpoint;
var platform = Coresdk.getInstance().platform;
var query = new Result_1.Dictionary();
var body = "game_id=" + game_id +
"&game_account=" + game_account +
"&platform=" + platform;
Coresdk.getInstance().apiUtil.requestAPI(url, query, token, body, function (res) {
var result = new Result_1.AccountBindGameResult();
if (res.Exception != null && res.Exception.length > 0) {
result.isSuccess = false;
result.result = "-1";
result.reason = res.Exception;
}
else {
var d = JSON.parse(res.Data);
result.result = d["result"];
result.reason = d["reason"];
result.isSuccess = result.result == "0000";
}
if (callback)
callback(result);
});
};
Coresdk.parseProfileResult = function (res) {
var result = new Result_1.ProfileResult();
result.exception = res.Exception;
result.isSuccess = res.Exception ? false : true;
if (result.isSuccess) {
var d = JSON.parse(res.Data);
result.data = new Result_1.ProfileData();
result.data.result = d.result;
result.data.server_time = d.server_time;
result.data.user_info = new Result_1.UserInfo();
if (d.user_info) {
result.data.user_info.account = d.user_info.account;
result.data.user_info.account_status = d.user_info.account_status;
result.data.user_info.birthday = d.user_info.birthday;
result.data.user_info.coins = d.user_info.coins;
result.data.user_info.country = d.user_info.country;
result.data.user_info.free_coins = d.user_info.free_coins;
result.data.user_info.gender = d.user_info.gender;
result.data.user_info.hobbies = d.user_info.hobbies;
result.data.user_info.nickname = d.user_info.nickname;
result.data.user_info.user_id = d.user_info.user_id;
}
}
return result;
};
Coresdk.prefKeyToken = "coresdk.token";
return Coresdk;
}());
exports.Coresdk = Coresdk;
cc._RF.pop();