// window.PACKAGE_VERSION = "0.1.19";
|
// window.CHANNEL = ""; // 深海融合的爱微游、疯狂游乐园的渠道
|
window.PACKAGE_NAME = "闪烁之光口袋版"; // 渠道号
|
window.SH_RH_PID = "0"; //深海融合区别爱微游,游乐园的pid ,
|
// window.AIWEIYOU_PID = "PM001163"; //爱微游PID:PM001163
|
// window.YOULECHANG_PID = "PM001164"; //游乐场PID:PM001164
|
window.SH_RH_IS_SUBSCRIBE = false //是否关注过了
|
window.SH_RH_IS_SHARE = false //是否分享过了
|
window.SH_RH_IS_REALNAME = false //是否实名过了
|
window.SH_RH_IS_WALLOW = true //是否防沉迷
|
window.SH_RH_IS_SHOW_SUBSCRIBE = false //是否显示关注功能
|
window.SH_RH_IS_SHOW_SHARE = false //是否显示分享功能
|
window.SH_RH_IS_SHOW_REALNAME = false //是否显示实名功能
|
window.SH_RH_IS_SHOW_BINDPHONE = false //是否显示手机绑定功能
|
|
var LoginController = require("login_controller");
|
var RoleController = require("role_controller");
|
var WelfareController = require("welfare_controller");
|
|
var SH_RH = function () {
|
this.uid = null;
|
};
|
|
//游戏加载完成、初始化SDK
|
SH_RH.initSDK = function () {
|
cli_log.log_activate_device(); //加载文件开始上报激活设备
|
cli_log.log_flash();
|
this.login();
|
};
|
|
//调起SDK登录界面
|
SH_RH.login = function () {
|
console.log("PACKAGE_VERSION=====>", PACKAGE_VERSION);
|
console.log("调用深海融合SDK登录");
|
if (!window.ShSdk) return
|
console.log(ShSdk);
|
// message("登录成功!");
|
|
//游戏加载完成上报
|
if (cli_log && cli_log.log_loading_end) {
|
cli_log.log_loading_end();
|
};
|
|
if (!ShSdk) return;
|
ShSdk.login(function (data) {
|
console.log("深海融合SDK登录结果")
|
window.SH_RH_TOKENID = data.tokenid;
|
var href = window.location.href;
|
var arr = href.split("?");
|
let list = {};
|
for (var i = 0; i < arr.length; i++) {
|
var pair = arr[i].split("&");
|
for (let j = 0; j < pair.length; j++) {
|
var _arr = pair[j].split("=");
|
list[_arr[0]] = _arr[1];
|
}
|
}
|
window.SH_RH_PID = list["pid"];
|
window.CHANNEL = window.SH_RH_PID;
|
|
if (window.CHANNEL == "PM001318") { //大混服
|
window.PLATFORM_NAME = "shmix";
|
} else { //爱微游,疯狂游乐场
|
window.PLATFORM_NAME = "sh"
|
}
|
// console.log("list==》", list);
|
|
if (list["focus"] != null) {
|
window.SH_RH_IS_SUBSCRIBE = Number(list["focus"]) == 1;
|
}
|
if (list["verify"] != null) {
|
window.SH_RH_IS_REALNAME = Number(list["verify"]) == 1;
|
}
|
if (list["wallow" != null]) {
|
window.SH_RH_IS_WALLOW = Number(list["wallow"]) == 1;
|
}
|
// console.log("获取到的window.SH_RH_PID==>", window.SH_RH_PID)
|
|
this.postFunc(function (result) {
|
this.uid = result.msg.uid;
|
this.sign = result.msg.sign;
|
// this.qd_uid = result.msg.uid;
|
|
var login_data = {};
|
login_data.usrName = "shrh_" + this.uid;
|
login_data.password = "wx123456";
|
|
//注册账号完成上报
|
if (cli_log && cli_log.log_reg_account) {
|
cli_log.log_reg_account(login_data.usrName);
|
};
|
|
// console.log("深海融合初始化成功,开始请求服务器列表", result);
|
LoginController.getInstance().loginPlatformRequest(login_data);
|
}.bind(this))
|
|
|
// if (window.SH_RH_PID == "PM001164") {
|
// this.subscribe({ apiType: 'isSubscribe' });
|
// }
|
// this.subscribe({ apiType: 'isSubscribe' });
|
this.subscribe({ apiType: 'enabled' });
|
this.share({ apiType: 'enabled' });
|
if (PLATFORM_NAME == "shmix") {
|
this.bindphone({ apiType: 'enabled' });
|
this.realname({ apiType: 'enabled' });
|
}
|
}.bind(this));
|
}
|
|
SH_RH.postFunc = function (callback) {
|
var xhr = cc.loader.getXMLHttpRequest();
|
var url = "https://s1-h5mlf-h5sszg.shiyuegame.com/api.php/pf/diai/login/";
|
url = url + "?tokenid=" + SH_RH_TOKENID;
|
url = url + "&cps=" + SH_RH_PID;
|
xhr.open("POST", url);
|
//xhr.open("GET", ServerLink+link+"?"+parm,false);
|
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
xhr.send();
|
xhr.onreadystatechange = function () {
|
if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status <= 207)) {
|
var result = JSON.parse(xhr.responseText);
|
// console.log("result==>", result)
|
if (result["error"] == -1) {
|
message(result["msg"]);
|
return;
|
}
|
callback(result);
|
}
|
};
|
}
|
|
SH_RH.sdkBackLogin = function () {
|
}
|
|
SH_RH.getCurrChannel = function () {
|
return window.CHANNEL
|
}
|
|
SH_RH.getSubChannel = function () {
|
|
}
|
|
SH_RH.getSign = function () {
|
return this.sign || ""
|
}
|
|
SH_RH.getUid = function () {
|
return this.uid || "";
|
}
|
|
|
// 链接游戏服,登陆游戏
|
SH_RH.loginGame = function () {
|
var login_data = [];
|
var _account = "shrh_" + this.uid;
|
var sign = this.sign;
|
// console.log("_account==>", _account);
|
|
login_data = [
|
{ key: "channel", val: SH_RH_PID },
|
{ key: "package_name", val: PACKAGE_NAME },
|
{ key: "package_version", val: PACKAGE_VERSION },
|
{ key: "platform", val: PLATFORM },
|
{ key: "account", val: _account },
|
{ key: "token", val: SH_RH_TOKENID },
|
{ key: "sign", val: sign }
|
];
|
|
// console.log("login_data==>", login_data);
|
|
LoginController.getInstance().cusSDKLogin_2(login_data);
|
}
|
|
//充值
|
SH_RH.pay = function (money, buyNum, prodId, productName, productDesc, extension, coinNum) {
|
var payCallFunc = function () {
|
let loginData = LoginController.getInstance().getModel().getLoginData();
|
if (loginData.srv_id == "") return;
|
var roleVo = RoleController.getInstance().getRoleVo();
|
if (roleVo == null) return;
|
let srv_id = "";
|
if (roleVo && roleVo.srv_id) {
|
srv_id = roleVo.srv_id;
|
} else if (loginData.srv_id) {
|
srv_id = loginData.srv_id;
|
}
|
let index = srv_id.indexOf("_");
|
if (index != -1) {
|
srv_id = Number(srv_id.slice(index + 1, srv_id.length));
|
} else {
|
srv_id = 0;
|
}
|
|
// productName = productName || (money * 10) + "钻石";
|
let p_name = this.chargeData[Number(money)];
|
if(PLATFORM_NAME == "shmix"){
|
p_name = this.chargeData2[Number(money)];
|
}
|
productName = p_name;
|
// productDesc = productDesc || productName;
|
|
//时间戳
|
var date_time = Math.ceil(Date.now() / 1000);
|
|
//充值订单号
|
var game_number = SH_RH_PID;//游戏编号PM******;
|
game_number = game_number + "_" + this.uid; //uid
|
game_number = game_number + "_" + date_time; //时间戳
|
|
// console.log("充值订单号game_number==>", game_number)
|
|
//充值拓展内容
|
var severInfo = roleVo.srv_id.split("_");
|
var platform = severInfo[0] || "";
|
var zone_id = severInfo[1];
|
var cps = SH_RH_PID;
|
var channel = SH_RH_PID;
|
|
var _extension = roleVo.rid + "$$" + platform + "$$" + zone_id +
|
"$$" + channel + "$$" + prodId + "$$" + productName + "$$" + cps + "$$" + date_time;
|
// console.log("拓展参数_extension==>", _extension)
|
var base_64 = require("base64").Base64;
|
_extension = base_64.encode(_extension);
|
// console.log("base64拓展参数_extension==>", _extension);
|
var params = {
|
game_no: game_number,//游戏订单号,由前端拼接
|
order_money: money * 100,//充值金额,单位 分
|
order_name: productName,//订单名称
|
role_name: roleVo.name,//角色名,
|
role_id: roleVo.rid,//角色ID
|
role_level: roleVo.lev,//角色等级
|
server_id: srv_id,//区服编号
|
server_name: loginData.srv_name, //区服名称
|
ext: _extension //扩展信息,通知发货时会原样返回
|
};
|
// console.log("充值params==>", params);
|
|
ShSdk.pay(params, function (data) {
|
var msg = "";
|
// console.log("充值返回data==>", data)
|
if (data.ret == "SUCCESS") { //前端通知,不能做为实际发货的凭证,真实情况以服务端通知为准
|
msg = "充值完成";
|
} else {
|
msg = "关闭充值";
|
}
|
message("充值返回:" + msg);
|
}.bind(this))
|
}.bind(this)
|
require("tips_controller").getInstance().showFirstCharge(payCallFunc)
|
//'game_code','channel_code','ifa','system','sys_ver','uid','game_no','order_money','order_name','role_name','server_id' ,'ext'
|
|
}
|
|
SH_RH.setRoleInfo = function (data) {
|
let loginData = LoginController.getInstance().getModel().getLoginData();
|
if (loginData.srv_id == "") return;
|
let roleVo = RoleController.getInstance().getRoleVo() || data;
|
// console.log("roleVo,data===", roleVo, data)
|
let srv_id = "";
|
if (roleVo && roleVo.srv_id) {
|
srv_id = roleVo.srv_id;
|
} else if (loginData.srv_id) {
|
srv_id = loginData.srv_id;
|
}
|
let index = srv_id.indexOf("_");
|
if (index != -1) {
|
srv_id = Number(srv_id.slice(index + 1, srv_id.length));
|
} else {
|
srv_id = 0;
|
}
|
let r_id = roleVo.rid;
|
if (PLATFORM_NAME == "sh") {
|
r_id = this.uid;
|
}
|
this.role_info = {
|
role_id: r_id || 0,//角色ID
|
role_name: roleVo && roleVo.name || "",//角色名
|
role_level: roleVo && roleVo.lev || 1,//角色等级
|
server_id: srv_id,//区服编号
|
server_name: loginData.srv_name, //区服名称
|
has_gold: roleVo && roleVo.gold || 0,//角色所持有货币数
|
vip_level: roleVo && roleVo.vip_lev || 0,//角色vip等级 没有可以不传或传0
|
role_power: roleVo && roleVo.power || 0, //int 战力、武力之类角色的核心数值,没有可以传0(尽量上传)
|
create_time: roleVo && roleVo.reg_time || 0 //角色创建时间,时间戳,单位:秒
|
};
|
// console.log("role_info==>", this.role_info, roleVo);
|
}
|
|
//创建角色
|
SH_RH.createRole = function (data) {
|
this.setRoleInfo(data);
|
|
// console.log("创角提交一次上报---->", this.role_info);
|
ShSdk.createRole(this.role_info);
|
}
|
|
//创建角色2次提交
|
SH_RH.createRole2 = function (data) {
|
// this.setRoleInfo(data);
|
console.log("创角提交二次上报---->", data);
|
ShSdk.createRole(data);
|
}
|
|
//角色登录提交
|
SH_RH.submitLogin = function () {
|
// if (gcore.SysEnv.get("shrh_account") == this.uid) {
|
// return
|
// }
|
// gcore.SysEnv.set("shrh_account", this.uid);
|
|
|
// if (this.role_info && this.role_info.rid == 0 || this.role_info.reg_time == 0) {
|
this.setRoleInfo();
|
// }
|
|
console.log("角色登录提交一次--role_info==>", this.role_info);
|
|
if (PLATFORM_TYPR == "SH_RH") {
|
try {
|
ShSdk.enterGame(this.role_info); //try是为了兼容历史版本
|
console.log("登录上报方法成功-----")
|
} catch (err) {
|
ShSdk.neterGame(this.role_info);
|
console.log("登录上报方法成功------")
|
}
|
}
|
}
|
|
//角色升级
|
SH_RH.roleUpLevel = function (value) {
|
this.setRoleInfo();
|
if (this.role_info && this.role_info.reg_time == 0) return
|
if (value != null && value > 1) {
|
this.role_info.role_level = value;
|
ShSdk.roleUpLevel(this.role_info);
|
// console.log("角色升级上报提交--->", this.role_info);
|
} else {
|
// console.log("角色升级上报提交失败--->", this.role_info, value);
|
}
|
}
|
|
//关注
|
//传入param
|
SH_RH.subscribe = function (obj) {
|
//var params = { apiType: 'enabled' };//apiType 请求类型:enabled:获取关注功能是否允许设置,isSubscribe:是否已关注,askShow:请求调起关注二维码
|
var params = obj;
|
try {
|
ShSdk.subscribe(params, function (data) {
|
//data= {cpStatus:0};
|
//cpStatus:0 失败,1成功
|
console.log("关注回调:",params, data);
|
// message("关注回调data.cpStatus=" + data.cpStatus)
|
if (params.apiType == "enabled") {
|
if (Number(data.cpStatus) == 0) { //不允许
|
window.SH_RH_IS_SHOW_SUBSCRIBE = false;
|
console.log("关注回调:不允许")
|
} else { // 已关注
|
window.SH_RH_IS_SHOW_SUBSCRIBE = true;
|
console.log("关注回调:允许")
|
this.subscribe({ apiType: 'isSubscribe' });
|
}
|
} else if (params.apiType == "isSubscribe") {
|
// console.log("请求到的关注状态:", data)
|
// message("获取到的关注状态:" + data.cpStatus);
|
if (Number(data.cpStatus) == 0) { //未关注
|
window.SH_RH_IS_SUBSCRIBE = false;
|
// message("未关注");
|
} else { // 已关注
|
window.SH_RH_IS_SUBSCRIBE = true;
|
// message("已关注");
|
}
|
} else if (params.apiType == "askShow") {
|
if (data.cpStatus == 0) { //失败
|
// console.log("调用未成功,未关注", data)
|
} else { // 调用成功
|
// console.log("调用成功", data)
|
}
|
}
|
params = {apiType:"null"};
|
}.bind(this));
|
} catch (err) {
|
console.log("subscribe_err:", err);
|
}
|
}
|
//分享配置
|
SH_RH.share = function (params) {
|
// var params = { apiType: "enabled", shareParam: "" };
|
/*说明:
|
1.params 中apiType(enabled|setShare)表示:
|
enabled:获取关注功能是否允许设置
|
setShare:设置(请求)分享
|
|
2.params 中shareParam,设置分享的内容,setShare时,并且需要配置分享内容配置有效,具体内容格式:
|
shareParam={
|
title: string;//标题
|
desc: string;//描述
|
imgUrl: string;//选填,分享的图片url(类图文)
|
}
|
*/
|
try {
|
ShSdk.shareSdk(params, function (data) {
|
//data= {cpStatus:0};
|
//cpStatus:0 失败,1成功
|
console.log("分享回调params",params,data);
|
if (params.apiType == "enabled") {
|
if (Number(data.cpStatus) == 0) { //不允许
|
window.SH_RH_IS_SHOW_SHARE = false;
|
console.log("分享回调:不允许")
|
} else {
|
window.SH_RH_IS_SHOW_SHARE = true;
|
console.log("分享回调:允许")
|
}
|
}
|
if (data.cpStatus == 0) { // 失败
|
// console.log("分享调起失败!", data);
|
} else { //成功
|
// console.log("分享调起成功!", data)
|
}
|
params = {apiType:"null"};
|
}.bind(this));
|
} catch (err) {
|
console.log("shareSdk_err:", err);
|
}
|
|
if (this.share_callback == null) {
|
this.shareCallback();
|
this.share_callback = true;
|
}
|
}
|
|
//分享回调
|
SH_RH.shareCallback = function () {
|
// console.log("分享回调方法加载")
|
try {
|
ShSdk.setShareCallback(function (data) {
|
// console.log(data)
|
//data= {type:"timeline","msg":"success"};
|
/*说明:
|
type(timeline|friend) 分享类型:timeline 朋友圈,friend 好友;
|
msg 分享结果:success表示分享成功,cancel表示取消或失败;
|
*/
|
if (data.msg == "success") {
|
window.SH_RH_IS_SHARE = true;
|
WelfareController.getInstance().shrhShareStatus();
|
if (data.type == "timeline") {
|
message("分享朋友圈成功!");
|
} else {
|
message("分享好友成功!");
|
}
|
} else {
|
message("分享失败!")
|
}
|
});
|
} catch (err) {
|
console.log("shareCallback_err:", err);
|
}
|
}
|
|
//实名认证
|
SH_RH.realname = function (params) {
|
// console.log("实名认证进入", params)
|
ShSdk.realname(params, function (data) {
|
console.log("实名data",params,data)
|
if (data.ret == 'SUCCESS') {
|
if (params.apiType == "enabled") {
|
window.SH_RH_IS_SHOW_REALNAME = true;
|
console.log("需要实名。。。")
|
}else{
|
window.SH_RH_IS_REALNAME = true;
|
console.log("实名成功==>", data);
|
}
|
WelfareController.getInstance().shrhRealNameStatus(true);
|
} else { //未实名
|
// console.log("关闭实名认证==>", data);
|
if (params.apiType == "enabled") { ////大混服屏蔽实名
|
window.SH_RH_IS_REALNAME = true;
|
window.SH_RH_IS_SHOW_REALNAME = false;
|
// WelfareController.getInstance().shrhRealNameStatus(true);
|
console.log("不需要实名。。。")
|
}
|
}
|
params = {apiType:"null"};
|
});
|
}
|
|
//绑定手机
|
SH_RH.bindphone = function (params) {
|
console.log("手机绑定回调:", params)
|
ShSdk.bindphone(params, function (data) {
|
console.log("手机绑定回调:", params, data)
|
if (data.ret == 'SUCCESS') {
|
if (params.apiType == "enabled") {//允许
|
window.SH_RH_IS_SHOW_BINDPHONE = true;
|
console.log("手机绑定回调:允许")
|
} else if (params.apiType == "askShow") {
|
WelfareController.getInstance().send16698();
|
}
|
} else {
|
if (params.apiType == "enabled") {
|
window.SH_RH_IS_SHOW_BINDPHONE = false;
|
console.log("手机绑定回调:不允许")
|
} else if (params.apiType == "askShow") {
|
}
|
}
|
params = {apiType:"null"};
|
});
|
}
|
|
SH_RH.logout = function () {
|
ShSdk.logout();
|
}
|
|
//聊天室监控
|
SH_RH.chatMonitor = function (data) {
|
return
|
let loginData = LoginController.getInstance().getModel().getLoginData();
|
if (loginData.srv_id == "") return;
|
let roleVo = RoleController.getInstance().getRoleVo() || data;
|
let srv_id = "";
|
if (roleVo && roleVo.srv_id) {
|
srv_id = roleVo.srv_id;
|
} else if (loginData.srv_id) {
|
srv_id = loginData.srv_id;
|
}
|
let index = srv_id.indexOf("_");
|
if (index != -1) {
|
srv_id = Number(srv_id.slice(index + 1, srv_id.length));
|
} else {
|
srv_id = 0;
|
}
|
let gameid = "";
|
let key = "";
|
let _sign = "gameid=" + gameid + "&type=" + data.type + "&uid=" + this.qd_uid + "&key=" + key;
|
|
ShSdk.chatMonitor({
|
type: data.type || 4,//聊天类型, //(1:私聊,2:房间,3:区服(单服),4:世界(全服),5:帮会)
|
serverid: srv_id,//消息发送者区服id, //(选服界面的显示的区服id,数字部分)
|
uid: this.qd_uid,//消息发送者平台uid,
|
nick: roleVo.name,//消息发送者角色名,
|
fromch: "爱微游",//消息发送者渠道名称(爱微游用户填:爱微游),
|
touid: data.to_srv_id,//消息接收者平台uid,房间聊天时为房间id,其他情况可以为空,
|
tonick: data.to_name,//消息接收者角色名,私聊不能为空,其他情况可以为空,
|
toch: "爱微游",//消息接收者渠道名称,私聊不能为空,其他情况可以为空,
|
msg: data.msg,//消息内容,
|
ip: 1,//用户IP,
|
sign: 1,//MD5(gameid={gameid}&type={type}&uid={uid}&key={key}), key通过平台分配
|
})
|
}
|
|
//选择服务器 dataType为1;创建角色的时候,dataType为2;进入游戏时,dataType为3;等级提升时,dataType为4;退出游戏时,
|
SH_RH.sdkSubmitUserData = function (dataType, rdata) {
|
return
|
let loginData = LoginController.getInstance().getModel().getLoginData();
|
if (loginData && loginData.srv_id == "") return;
|
if (dataType == 1) {
|
if (cli_log && cli_log.log_select_server) {
|
cli_log.log_select_server(loginData.usrName);
|
};
|
if (!this.log_select_flag) return
|
this.log_select_flag = true;
|
} else if (dataType == 2) {
|
if (cli_log && cli_log.log_create_role) {
|
cli_log.log_create_role(loginData.usrName);
|
};
|
}
|
// let account = LoginPlatForm.getInstance().getInfo().openid;
|
// let roleVo = RoleController.getInstance().getRoleVo() || rdata;
|
// let srv_id;
|
// if (roleVo && roleVo.srv_id) {
|
// srv_id = roleVo.srv_id;
|
// } else if (loginData.srv_id) {
|
// srv_id = loginData.srv_id;
|
// }
|
// let index = srv_id.indexOf("_");
|
// if (index != -1) {
|
// srv_id = Number(srv_id.slice(index + 1, srv_id.length));
|
// } else {
|
// srv_id = 0;
|
// }
|
// let serverId = srv_id; //serverId(roleVo && roleVo.srv_id || loginData.srv_id)
|
// let serverName = loginData.srv_name;
|
// let roleId = roleVo && roleVo.rid || 0;
|
// let roleName = roleVo && roleVo.name || "";
|
// let roleCTime = roleVo && roleVo.reg_time || 0;
|
// let roleLev = roleVo && roleVo.lev || 1;
|
// let vipLev = roleVo && roleVo.vip_lev || 0;
|
// let gold = roleVo && roleVo.gold || 0;
|
// let power = roleVo && roleVo.power || 0;
|
// var data_info = { dataType: dataType, gold: gold, roleId: roleID, roleName: roleName, roleLev: roleLev, serverId: serverId, vipLev: vipLev, roleCTime: roleCTime, };
|
}
|
|
//充值常量表 gold->name
|
SH_RH.chargeData = {
|
[6]: "普通充值6元",
|
[30]: "普通充值30元",
|
[68]: "普通充值68元",
|
[98]: "普通充值98元",
|
[128]: "普通充值128元",
|
[198]: "普通充值198元",
|
[328]: "普通充值328元",
|
[648]: "普通充值648元",
|
[18]: "等级礼包",
|
[1]: "1元礼包",
|
[3]: "3元礼包",
|
[12]: "v2礼包",
|
[448]: "每周常驻礼包",
|
[50]: "中档红包",
|
}
|
|
SH_RH.chargeData2 = {
|
[6]: "60钻石",
|
[30]: "300钻石",
|
[68]: "680钻石",
|
[98]: "980钻石",
|
[128]: "1280钻石",
|
[198]: "1980钻石",
|
[328]: "3280钻石",
|
[648]: "6480钻石",
|
[18]: "等级礼包",
|
[1]: "1元礼包",
|
[3]: "3元礼包",
|
[12]: "v2礼包",
|
[448]: "每周常驻礼包",
|
[50]: "中档红包",
|
}
|
|
module.exports = SH_RH;
|