Files
youlegames/codes/games/client/Projects/tgly/js/class_login.js
2026-02-04 23:47:45 +08:00

150 lines
5.0 KiB
JavaScript

var class_login = class_login || {
// ================= 所有实例的共享数据 ================= //
//服务器地址
ServerUrl: "http://120.25.60.74:5401/index.html",
// ServerUrl: "http://127.0.0.1:5401/index.html",
//构造函数
new: function(_name, _cookname_sid, _cookname_scode, _urlpara_sid, _loginhtml) {
//创建实例
var inst = {};
// ================= 实例的公有属性 ================= //
//实例名
inst.name = _name;
//sid的cookie名
inst.cook_sid = _cookname_sid;
//scode的cookie名
inst.cook_scode = _cookname_scode;
//sid的url参数名
inst.urlp_sid = _urlpara_sid;
//login.html文件名
inst.loginhtml = _loginhtml;
//sid值
inst.sid = null;
//scode值
inst.scode = null;
//userid值
inst.userid = null;
// ================= 实例的公有方法 ================= //
//检查是否授权登录过
inst.CheckLogin = function() {
return class_login.CheckLogin(inst);
};
//登录
inst.Login = function(_func_succ, _func_fail) {
class_login.Login(inst, _func_succ, _func_fail);
};
//变动游戏币
inst.ChangeCoin = function(_action, _coin, _gameid, _roomid, _func_succ, _func_fail) {
class_login.ChangeCoin(inst, _action, _coin, _gameid, _roomid, _func_succ, _func_fail);
};
return inst;
},
// ================= 所有实例的共享方法 ================= //
//检查是否授权登录过
CheckLogin: function(_inst) {
var sid = min_getCookie(_inst.cook_sid);
var scode = min_getCookie(_inst.cook_scode);
if (!sid) {
sid = min_getQueryString(_inst.urlp_sid);
if (sid) {
min_setCookie(_inst.cook_sid, sid);
}
}
var result = {};
result.sid = sid;
result.scode = scode;
return result;
},
//登录
Login: function(_inst, _func_succ, _func_fail) {
//检查是否授权登录过
var check = _inst.CheckLogin();
if (!check.sid || !check.scode) {
window.location.href = _inst.loginhtml;
} else {
//根据sid和scode用户信息
var pack = {};
pack.app = "server";
pack.route = "user";
pack.rpc = "GetUserInfo";
pack.data = {};
pack.data.to = _inst.name;
pack.data.sid = check.sid;
pack.data.scode = check.scode;
pack = JSON.stringify(pack);
var cfg = {};
cfg.url = class_login.ServerUrl;
cfg.data = pack;
cfg.type = "POST";
cfg.success = function(str){
var json = JSON.parse(str);
if (json.data.result.status == 1) {
_inst.sid = check.sid;
_inst.scode = check.scode;
_inst.userid = json.data.result.data.userid;
if (_func_succ) {
_func_succ(json.data.result.data);
}
} else {
if (_func_fail) {
_func_fail("获取用户信息失败");
}
}
};
cfg.error = function(str){
if (_func_fail) {
_func_fail("获取用户信息失败")
}
};
min_http(cfg);
}
},
//变动游戏币
ChangeCoin: function(_inst, _action, _coin, _gameid, _roomid, _func_succ, _func_fail) {
var pack = {};
pack.app = "server";
pack.route = "user";
pack.rpc = "ChangeCoin";
pack.data = {};
pack.data.to = _inst.name;
pack.data.sid = _inst.sid;
pack.data.scode = _inst.scode;
pack.data.userid = _inst.userid;
pack.data.action = _action;
pack.data.coin = _coin;
pack.data.gameid = _gameid;
pack.data.roomid = _roomid;
pack = JSON.stringify(pack);
var cfg = {};
cfg.url = class_login.ServerUrl;
cfg.data = pack;
cfg.type = "POST";
cfg.success = function(str){
var json = JSON.parse(str);
if (json.data.result.status == 1) {
if (_func_succ) {
_func_succ(json.data.result.data);
}
} else {
if (_func_fail) {
_func_fail("修改游戏币失败");
}
}
};
cfg.error = function(str){
if (_func_fail) {
_func_fail("修改游戏币失败");
}
};
min_http(cfg);
}
}
var FeiYou = class_login.new("FeiYou", "fy_sid", "fy_scode", "sid", "login_feiyou.html");
var YouLe = class_login.new("YouLe", "yl_sid", "yl_scode", "sid", "login_youle.html");