/////////////////////////////////////////////////////////////// //////////// cls_youle_platform_config: 系统配置 ////////////// /////////////////////////////////////////////////////////////// var cls_youle_platform_config = cls_youle_platform_config || { //构造函数 new: function(_url_config){ var config = {}; //方法 config.method = {}; //读取配置文件的内容 config.method.get_config = function(){ cls_youle_platform_config.get_config(config); } //获取参数配置 config.method.get_paravalue = function(paraname, agentid, gameid, channelid, marketid){ return cls_youle_platform_config.get_paravalue(config, paraname, agentid, gameid, channelid, marketid); } //获取游戏列表_下载页面 config.method.get_gamelist_downhtml = function(agentid, channelid){ return cls_youle_platform_config.get_gamelist_downhtml(config, agentid, channelid); } //获取游戏列表_游戏大厅 config.method.get_gamelist_gamehall = function(agentid, channelid, marketid){ return cls_youle_platform_config.get_gamelist_gamehall(config, agentid, channelid, marketid); } //获取代理城市列表 config.method.get_agentlist = function(agentid, channelid){ return cls_youle_platform_config.get_agentlist(config, agentid, channelid); } //获取子游戏服务器列表 config.method.get_gameserver_list = function(agentid){ return cls_youle_platform_config.get_gameserver_list(config, agentid); } //配置文件地址 config.url = _url_config; //配置文件内容 config.data = null; //定时器定时读取配置文件 config.timer_getdata = min_ontime(config.method.get_config, 30 * 1000); return config; }, //读取配置文件的内容 get_config: function(o_config){ var cfg = {}; cfg.url = o_config.url + "?" + min_timestamp(); cfg.type = "POST"; cfg.data = ""; cfg.success = function(str){ if (str){ try{ var data = JSON.parse(str); o_config.data = data; } catch(e){ } } }; cfg.error = function(str){}; min_http(cfg); }, //获取参数配置 get_paravalue: function(o_config, paraname, agentid, gameid, channelid, marketid){ var paravalue = null; //遍历数组,匹配key,获取参数值 var do_get_para = function(arylist, keyname, keyvalue){ if (arylist && keyname && keyvalue){ for (var i = 0; i < arylist.length; i++){ if (arylist[i][keyname] == keyvalue){ if (arylist[i][paraname]){ paravalue = arylist[i][paraname]; } return arylist[i]; } } } return null; } if (!o_config.data){ return paravalue; } if (o_config.data[paraname]){ paravalue = o_config.data[paraname]; } var _o_agent = do_get_para(o_config.data.agentlist, "agentid", agentid); if (!_o_agent){ return paravalue; } var _o_game = do_get_para(_o_agent.gamelist, "gameid", gameid); if (!_o_game){ return paravalue; } var _o_channel = do_get_para(_o_game.channellist, "channelid", channelid); if (!_o_channel){ return paravalue; } var _o_market = do_get_para(_o_channel.marketlist, "marketid", marketid); if (!_o_market){ return paravalue; } return paravalue; }, //获取游戏列表_下载页面 get_gamelist_downhtml: function(o_config, agentid, channelid){ var gamelist = []; if (!o_config.data){ return gamelist; } if (!o_config.data.agentlist){ return gamelist; } for (var i = 0; i < o_config.data.agentlist.length; i++){ if (o_config.data.agentlist[i].agentid == agentid){ var _o_agent = o_config.data.agentlist[i]; if (_o_agent.gamelist){ for (var j = 0; j < _o_agent.gamelist.length; j++) { var _o_game = _o_agent.gamelist[j]; var o_game = {}; o_game.name = _o_game.gamename; o_game.image = _o_game.game_down_image; o_game.state = _o_game.game_down_state; o_game.memo = _o_game.game_down_memo; if (_o_game.channellist){ for (var k = 0; k < _o_game.channellist.length; k++) { var _o_channel = _o_game.channellist[k]; if (_o_channel.channelid == channelid){ var _ios_marketid = _o_channel.ios_defdownload_marketid; var _and_marketid = _o_channel.and_defdownload_marketid; if (_o_channel.marketlist){ for (var m = 0; m < _o_channel.marketlist.length; m++) { var _o_market = _o_channel.marketlist[m]; if (_o_market.marketid == _ios_marketid){ o_game.ios_down = _o_market.app_download; o_game.ios_size = _o_market.app_size; o_game.ios_marketid = _ios_marketid; } if (_o_market.marketid == _and_marketid){ o_game.android_down = _o_market.app_download; o_game.android_size = _o_market.app_size; } } } if (o_game.ios_down && o_game.android_down){ gamelist.push(o_game); } break; } } } } } break; } } return gamelist; }, //获取游戏列表_游戏大厅 get_gamelist_gamehall: function(o_config, agentid, channelid, marketid){ var gamelist = []; if (!o_config.data){ return gamelist; } if (!o_config.data.agentlist){ return gamelist; } for (var i = 0; i < o_config.data.agentlist.length; i++){ if (o_config.data.agentlist[i].agentid == agentid){ var _o_agent = o_config.data.agentlist[i]; if (_o_agent.gamelist){ for (var j = 0; j < _o_agent.gamelist.length; j++){ var _o_game = _o_agent.gamelist[j]; if (_o_game.gameid != "G2hw0ubng0zcoI0r4mx3H2yr4GejidwO"){ var o_game = {}; o_game.gameid = _o_game.gameid; o_game.gamename = _o_game.gamename; o_game.gamedir = _o_game.game_hall_dir; o_game.gameimage = _o_game.game_hall_image; o_game.gameversion = _o_game.game_version; o_game.gamezip = _o_game.game_zip; o_game.zipsize = _o_game.game_size; if (_o_game.channellist){ for (var k = 0; k < _o_game.channellist.length; k++) { var _o_channel = _o_game.channellist[k]; if (_o_channel.channelid == channelid){ if (_o_channel.game_version > 0){ o_game.gameversion = _o_channel.game_version; } if (_o_channel.game_zip){ o_game.gamezip = _o_channel.game_zip; } if (_o_channel.game_size){ o_game.zipsize = _o_channel.game_size; } if (_o_channel.marketlist){ for (var m = 0; m < _o_channel.marketlist.length; m++) { var _o_market = _o_channel.marketlist[m]; if (_o_market.marketid == marketid){ if (_o_market.game_version > 0){ o_game.gameversion = _o_market.game_version; } if (_o_market.game_zip){ o_game.gamezip = _o_market.game_zip; } if (_o_market.game_size){ o_game.zipsize = _o_market.game_size; } break; } } } gamelist.push(o_game); break; } } } } } } break; } } return gamelist; }, //获取代理城市列表 get_agentlist: function(o_config, agentid, channelid){ var agentlist = []; if (!o_config.data){ return gamelist; } if (!o_config.data.agentlist){ return gamelist; } for (var i = 0; i < o_config.data.agentlist.length; i++){ if (o_config.data.agentlist[i].agentid == agentid || o_config.data.agentlist[i].relagentid == agentid){ var o_agent = {}; o_agent.agentid = o_config.data.agentlist[i].agentid; o_agent.name = o_config.data.agentlist[i].agentname; o_agent.channelid = o_config.data.agentlist[i].gamelist[0].channellist[0].channelid; agentlist.push(o_agent); } } return agentlist; }, //获取子游戏服务器列表 get_gameserver_list: function(o_config, agentid){ var iplist = []; var paraname = "game_server_http"; var do_pushto_iplist = function(ip){ var idx = min_ary_indexof(iplist, ip); if (idx == -1){ iplist.push(ip); } } if (!o_config.data || !o_config.data.agentlist){ return iplist; } var idx_agent = min_ary_indexof(o_config.data.agentlist, agentid, "agentid"); if (idx_agent == -1){ return iplist; } var o_agent = o_config.data.agentlist[idx_agent]; if (!o_agent){ return iplist; } if (o_config.data[paraname]){ do_pushto_iplist(o_config.data[paraname]); } if (o_agent[paraname]){ do_pushto_iplist(o_agent.data[paraname]); } if (o_agent.gamelist){ for (var j = 0; j < o_agent.gamelist.length; j++) { var o_game = o_agent.gamelist[j]; if (o_game[paraname]){ do_pushto_iplist(o_game[paraname]); } } } return iplist; } } //系统配置 youle_platform.config = cls_youle_platform_config.new("http://testgame.youlehdyx.com/update_json/ceshi_json.txt"); youle_platform.config.method.get_config();