You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

677 lines
19 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
**/
var TM = {};
TM.registerHandle = function(_funcname, func){
if(_funcname){
if(typeof TM[_funcname] != "undefined" && typeof TM[_funcname] != "null"){
var _fun = TM[_funcname];
if(typeof _fun == "function"){
return true;
}
}
eval("TM."+_funcname+" = func");
}
};
/* var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?01cedff5de5dbdd357db23b17eb29007";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})(); */
$(function(){
if(/cookieflag=1/.test(window.location.search)){
$.cookie(COOKIE_REFERRER, 'http://def.vlcms.com/', {domain:'.vlcms.com', path:'/', expires:'30000000000'});
$.cookie(COOKIE_REFERRER, 'localhost', {domain:'.vlcms.com', path:'/', expires:'30000000000'});
}
//防止跳转到平台币充值页面
if(document.referrer == ''){
if(window.location.href=='http://def.vlcms.com/'){
$.cookie(COOKIE_REFERRER, window.location.href, {domain:'.vlcms.com', path:'/', expires:'30000000000'});
$.ajax({
url:'http://def.vlcms.com',
crossDomain:true,
dataType: 'jsonp',
success:function(){}
});
}
}else if(document.referrer != ''){
// var _referrer = $.cookie(COOKIE_REFERRER);
_referrer = 1;
if(_referrer){
$(".header_nav_nei li").each(function(_index, _val){
if($(this).find("a").text()== '充值中心'){
$(this).find("a").attr("href", _referrer);
}
});
}
}
var cdomain = document.domain.split('.');
if(cdomain.length > 2){
cookie_domain = '.'+cdomain.slice(1).join('.');
}
});
//api异步ajax
function init_ajax(_url, _params, _callback, _type){
var settings = {
url:(_url.indexOf('http') != -1 ? _url : api_url + "/V7" +_url),
data:_params,
dataType:(_type ? "json" : "jsonp"),
type:(_type ? "POST" : "GET"),
crossDomain:true,
success:function(list, status, xhr){
if(list.Result == true){
if (_callback){
var func = TM[_callback];
if (typeof func == "function") {
func(list.Data, status, xhr);
}
}
}else if(!list.Result && list.Msg === 'PLEASELOGIN'){
logout();
}else{
if(list.Msg){
alert(list.Msg);
}else{
alert("操作失败");
}
}
},
error:function(){
alert("网络错误,请稍后重试");
}
};
$.ajax(settings);
}
/*
function loginTip(retval){
TM.user = {UserName:retval.UserName, Uid:retval.Uid, Timestamp:retval.Timestamp, VerifySign:retval.VerifySign, LogRefer:window.location.href};
$.cookie.json = true;
$.cookie(COOKIE_USER, TM.user, {domain:cookie_domain, path:'/', expires:30});
login_change(retval.UserName);
} */
// function register_login(_handler){
// var name = $("#regname").val();
// var pwd = $("#regpwd").val();
// var repwd = $("#regrepwd").val();
// var code = $("#regcode").val();
// if(name.length < 6 || name > 20 || /.*[\u4e00-\u9fa5]+.*$/.test(name)){
// alert("注册账号由6-16位字母和数字组成不区分大小写!");
// return false;
// }else{
// $("#regname").show_message("", true);
// }
// if(pwd.length < 6 || pwd.length > 16){
// alert("密码长度为6-16位");
// return false;
// }else{
// $("#regpwd").show_message("", true);
// }
// if(repwd !== pwd){
// alert("确认密码不正确");
// return false;
// }else{
// $("#regrepwd").show_message("", true);
// }
// var _tname = $("#real_name").val(),_idcard = $("#id_card").val();
// if(!_tname.match(/^[\u4e00-\u9fa5]{2,6}$/g)){
// alert('你输入的姓名有误');
// return false;
// }
// if(!isIdCardNo(_idcard)){
// alert('你输入的身份证有误');
// return false;
// }
// if(code.length == 4){
//$("#regcode").siblings("span").show_message("", true);
// }else{
// alert("验证码必须为4个字符");
// return false;
// }
// if(_handler){
// TM.registerHandle("WebRegister", function(retval){
// alert('注册成功');
// loginTip(retval);
// login_change();
// });
// init_ajax("/Accounts/WebRegister", api_params('WebRegister', {name:name,password:pwd,code:code}), "WebRegister");
// }
// }
function api_params(gkey, _ext_param){
var _fixedData = '233';
var _params = {
"LogOn":{requestId:"",sign:"",ver:"",userName:"",password:"",appId:"" },
"ChangePassword":{uid:"",newPassword:"",requestId:"",sign:"",password:"",appId:""},
"GetCodeBoundPhone":{uid:"",mobile:"",requestId:"",sign:"",appId:""},
"BoundPhone":{uid:"",mobile:"",code:"",requestId:"",sign:"",appId:""},
"GetMemberInfo":{uid:"",requestId:"",sign:"",appId:""},
"SetMemberInfo":{uid:"",requestId:"",sign:"",appId:"",nickname:"",sex:"",birthday:"",qq:"",address:"",education:"",occupation:""},
"SetMemberInfo1":{uid:"",requestId:"",sign:"",appId:"",truename:"",idcard:""},
"SetMemberInfo2":{uid:"",requestId:"",sign:"",appId:"",email:""},
"ResetSecurityQuestion":{uid:"",requestId:"",sign:"",appId:"",answer:"",newanswer:"",newquestion:"",oldquestion:"",pwd:""},
"validate_pwd_email":{requestId:"",sign:"",appId:"",email:"",code:"",username:"", SID:""},
"FindSecurityQuestion":{requestId:"",sign:"",appId:"",username:""},
"WebAnswerChangePassword":{requestId:"",sign:"",appId:"",username:"",answer:"",newPassword:"",code:"", SID:""},
"validate_pwd_sms":{requestId:"",sign:"",appId:"",username:"",field:"",newPassword:"",pwdsign:""},
"BoundEmail":{requestId:"",sign:"",appId:"",email:"",uid:""},
"WebRegister":{requestId:"",sign:"",appId:"",password:"",code:"",name:""},
"webpay":{requestId:"",sign:"",appId:"",uid:"",mobile:"",amount:"",toaccount:""},
"getCard":{appId:"",uid:"",giftId:"",requestId:"",sign:""},
"CrossLogin":{},
"UniqueUsername":{appId:"",username:"",requestId:"",sign:""}
}
var _appid = $.cookie('appId');
if(_params[gkey]){
_params[gkey].device = 3;
for(var i in _params[gkey]){
if(_params[gkey][i] == ""){
_params[gkey][i] = typeof _appid != "undefined" && _appid ? _appid : _fixedData;
}
}
return $.extend({}, _params[gkey], _ext_param);
}
}
function login_change(username){
var $tab = $("#Jq_login_tab");
if(!username){
if(TM.user){
username = TM.user.UserName;
}else{
var users = $.cookie(COOKIE_USER);
if(users){
users = eval("("+users+")");
if(users){
TM.user = users;
username = users.UserName;
}
}
}
}
if(username){
$tab.find(".J_td_toggle").hide();
$tab.find(".td02").html(username+"<a href='javascript:;' onclick=\"logout();\">[注销]</a>");
if(typeof payLogin == 'function'){
payLogin();
}
}
}
/*
//检查登录状态
function check_login(){
if(typeof TM.user == 'undefined' || typeof TM.user == 'null'){
logout();
}
}
*/
/*
//登出
function logout(_fresh_page){
$.removeCookie(COOKIE_USER,{ path: '/', domain:cookie_domain});
if(_fresh_page){
window.location.reload();
}else{
if(window.location.href.indexOf('pay') != -1){
window.location.reload();
}else if(typeof TM.user != 'undefined' && typeof TM.user.LogRefer != 'undefined'){
window.location.href=TM.user.LogRefer;
}else{
window.location.href=site_url;
}
}
return true;
} */
/*
function show_regs(_obj){
if($("#header_login").is(":visible")){
$("#header_login").hide();
$("#header_reg").show().children().show();
}else{
$("#header_login").show().children().show();
$("#header_reg").hide();
}
}
*/
/* function fleshCode($obj){
$obj.attr("src", api_url+"/V7/Accounts/VerifyCode?device=3&t="+Math.random());
}
*/
function queryString(val){
var uri = window.location.search;
var re = new RegExp("" +val+ "=([^&?]*)", "ig");
return ((uri.match(re)) ? (uri.match(re)[0].substr(val.length+1)) : null);
}
/*
String.prototype.validateEmail = function (){
return (/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(this));
}
function validateMobile(val){
return (/^(1)[0-9]{10,12}$/.test(val));
}
function isIdCardNo(num){
num = num.toUpperCase();
//身份证号码为15位或者18位15位时全为数字18位前17位为数字最后一位是校验位可能为数字或字符X。
if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num)))
{
//alert('输入的身份证号长度不对,或者号码不符合规定!\n15位号码应全为数字18位号码末位可以为数字或X。');
return false;
}
//校验位按照ISO 7064:1983.MOD 11-2的规定生成X可以认为是数字10。
//下面分别分析出生日期和校验位
var len, re;
len = num.length;
if (len == 15)
{
re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);
var arrSplit = num.match(re);
//检查生日日期是否正确
var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]);
var bGoodDay;
bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
if (!bGoodDay)
{
//alert('输入的身份证号里出生日期不对!');
return false;
}
else
{
//将15位身份证转成18位
//校验位按照ISO 7064:1983.MOD 11-2的规定生成X可以认为是数字10。
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
var nTemp = 0, i;
num = num.substr(0, 6) + '19' + num.substr(6, num.length - 6);
for(i = 0; i < 17; i ++)
{
nTemp += num.substr(i, 1) * arrInt[i];
}
num += arrCh[nTemp % 11];
return num;
}
}
if (len == 18)
{
re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);
var arrSplit = num.match(re);
//检查生日日期是否正确
var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]);
var bGoodDay;
bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
if (!bGoodDay)
{
//alert(dtmBirth.getYear());
//alert(arrSplit[2]);
//alert('输入的身份证号里出生日期不对!');
return false;
}
else
{
//检验18位身份证的校验码是否正确。
//校验位按照ISO 7064:1983.MOD 11-2的规定生成X可以认为是数字10。
var valnum;
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
var nTemp = 0, i;
for(i = 0; i < 17; i ++)
{
nTemp += num.substr(i, 1) * arrInt[i];
}
valnum = arrCh[nTemp % 11];
if (valnum != num.substr(17, 1))
{
//alert('18位身份证的校验码不正确应该为' + valnum);
return false;
}
return num;
}
}
return false;
}
//立即领取礼包
function getCard(_cid){
alert('敬请期待!');
return false;
if(typeof TM.user == 'undefined' || typeof TM.user == 'null'){
art.dialog({id:'gift', content:"<p style=\"line-height:80px;height:80px;font-size:16px;color:#b80408;\">请先登录,再领取礼包!</p>", title:'领取礼包', width:'350', height:'80', lock:true})
return false;
}
if(!_cid){
return false;
}
TM.getcard = function(retval){
art.dialog({id:'gift', content:"<p style=\"line-height:80px;height:80px;font-size:16px;color:#b80408\">您好,请您到游戏内点击浮点进行领取!</p>", title:'领取礼包', width:'350', height:'80', lock:true})
}
init_ajax('/Games/GetGift', api_params('getCard', {giftId:_cid,uid:TM.user.Uid}), "getcard");
return true;
}
*/
//立即下载坦克窗口
TM.registerHandle("PopupCallBack", function($pop, _obj){
if($(_obj).attr("data-andriod") != ""){
$pop.find(".androidxz_a").show().attr("href", $(_obj).attr("data-andriod"));
$pop.find(".androidmar_a ").show().attr("src", $(_obj).attr("data-qrcode")).css({width:115,height:115});
if($(_obj).attr("data-apple") == ""){
$pop.find(".androidmar_a ").css("margin-left",90);
$pop.find(".androidxz_a ").css("margin-left",96);
}
}else{
$pop.find(".androidxz_a").hide();
$pop.find(".androidmar_a ").hide();
}
if($(_obj).attr("data-apple") != ""){
$pop.find(".applemar_a").show().attr("href", $(_obj).attr("data-apple"));
$pop.find(".iosidmar_a ").show().attr("src", $(_obj).attr("data-qrcode-ios")).css({width:115,height:115});
if($(_obj).attr("data-andriod") == ""){
$pop.find(".androidmar_a ").css("margin-left",90);
$pop.find(".androidxz_a ").css("margin-left",96);
}
}else{
$pop.find(".applemar_a").hide();
$pop.find(".iosidmar_a ").hide();
}
var _pop = $pop.find(".xzbtn_p");
if(_pop.eq(0).find(".androidxz_a").filter(":visible").length == 2){
_pop.eq(0).find(".androidxz_a").css("margin-left", 0);
_pop.eq(0).find(".applemar_a").css("margin-left", 27);
}
if(_pop.eq(1).find("img").filter(":visible").length == 2){
_pop.eq(1).find("img").css("margin", 0);
}
});
/*
function AddFavorite(sURL, sTitle) {
try {
window.external.addFavorite(sURL, sTitle);
} catch (e) {
try {
window.sidebar.addPanel(sTitle, sURL, "");
} catch (e) {
alert("加入收藏失败请使用Ctrl+D进行添加");
}
}
} */
//弹出层
function $popup(arg1, arg2, _obj, _callback) {
if(!$("#downloadnow").length){
var _html = '<div class="rule_up" id="downloadnow"><p class="up_close"></p><div class="up_content01" style="height:335px;"><p class="xzbtn_p"><a href="javascript:;" class="androidxz_a fl"></a><a style="margin-left:27px" href="javascript:;" class="androidxz_a applemar_a fl"></a></p>';
_html += '<p class="xzbtn_p" style="margin-top:30px;height:115px;"><a href="javascript:;" class="fl" style="margin:0 31px"><img src="'+image_url+'/images/weixin_side.jpg" class="androidmar_a "></a>';
_html += '<a href="javascript:;" class="fl" style="margin:0 31px"><img src="'+image_url+'images/weixin_side.jpg" class="iosidmar_a fl"></a></p><p class="xztips_p" style="margin-top:10px;">温馨提示:使用手扫描二维码下载可更快捷方便</p></div></div>';
$("body").append(_html);
}
var $arg1 = arg1;
var $arg2 = arg2;
var $pLeft = ($(window).width() - $($arg1).width()) / 2 + $(window).scrollLeft();
var $pTop = ($(window).height() - $($arg1).height()) / 2 + $(window).scrollTop();
$pTop = $pTop > 0 ? $pTop : 40;
if($.browser.msie && parseInt($.browser.version) == 6) {
$("html,body").css("overflow", "hidden");
}
$("<div class='gray'></div>").appendTo($("body")).height($(document).height()).fadeTo("fast", 0.4);
$($arg1).css({
display : 'block',
position : 'absolute',
left : $pLeft,
top : $pTop,
zIndex : 10000
});
_callback = _callback ? _callback : 'PopupCallBack';
var func = TM[_callback];
if (typeof func == "function") {
func($($arg1), _obj);
}
$($arg2 + ',' + ".gray").click(function() {
$($arg1).hide();
if($.browser.msie && parseInt($.browser.version) == 6) {
$("html,body").css("overflow", "")
};
$(".gray").fadeOut(500, cb);
function cb() {
$(this).remove();
}
return false;
});
//窗口大小变化时调用
$(window).bind('scroll resize', function(event) {
var $pLeft = ($(window).width() - $($arg1).width()) / 2 + $(window).scrollLeft();
var $pTop = ($(window).height() - $($arg1).height()) / 2 + $(window).scrollTop();
$($arg1).animate({
left : $pLeft,
top : $pTop
}, {
duration : 500,
queue : false
})
})
}
var $_GET = (function() {
var url = window.document.location.href.toString();
var u = url.split("?");
if (typeof(u[1]) == "string") {
u = u[1].split("&");
var get = {};
for (var i in u) {
var j = u[i].split("=");
get[j[0]] = j[1];
}
return get;
} else {
return {};
}
})();
/**
* cookie 1.4.1
*/
(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD
define(['jquery'], factory);
} else if (typeof exports === 'object') {
// CommonJS
factory(require('jquery'));
} else {
// Browser globals
factory(jQuery);
}
}(function ($) {
var pluses = /\+/g;
function encode(s) {
return config.raw ? s : encodeURIComponent(s);
}
function decode(s) {
return config.raw ? s : decodeURIComponent(s);
}
function stringifyCookieValue(value) {
return encode(config.json ? JSON.stringify(value) : String(value));
}
function parseCookieValue(s) {
if (s.indexOf('"') === 0) {
// This is a quoted cookie as according to RFC2068, unescape...
s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
}
try {
// Replace server-side written pluses with spaces.
// If we can't decode the cookie, ignore it, it's unusable.
// If we can't parse the cookie, ignore it, it's unusable.
s = decodeURIComponent(s.replace(pluses, ' '));
return config.json ? JSON.parse(s) : s;
} catch(e) {}
}
function read(s, converter) {
var value = config.raw ? s : parseCookieValue(s);
return $.isFunction(converter) ? converter(value) : value;
}
$.fn.show_message = function(_message, status){
if(status){
$(this).html(_message);
}else{
$(this).html(_message).css({color:"red"});
}
}
var config = $.cookie = function (key, value, options) {
// Write
if (value !== undefined && !$.isFunction(value)) {
options = $.extend({}, config.defaults, options);
if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setTime(+t + days * 864e+5);
}
return (document.cookie = [
encode(key), '=', stringifyCookieValue(value),
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}
// Read
var result = key ? undefined : {};
// To prevent the for loop in the first place assign an empty array
// in case there are no cookies at all. Also prevents odd result when
// calling $.cookie().
var cookies = document.cookie ? document.cookie.split('; ') : [];
for (var i = 0, l = cookies.length; i < l; i++) {
var parts = cookies[i].split('=');
var name = decode(parts.shift());
var cookie = parts.join('=');
if (key && key === name) {
// If second argument (value) is a function it's a converter...
result = read(cookie, value);
break;
}
// Prevent storing a cookie that we couldn't decode.
if (!key && (cookie = read(cookie)) !== undefined) {
result[name] = cookie;
}
}
return result;
};
config.defaults = {};
$.removeCookie = function (key, options) {
if ($.cookie(key) === undefined) {
return false;
}
// Must not alter options, thus extending a fresh object...
$.cookie(key, '', $.extend({}, options, { expires: -1 }));
return !$.cookie(key);
};
}));
(function($){
var win = {
height : parseInt($(window).height()),
width : parseInt($(window).width())
};
$(window).resize(function(){
win = {
height : parseInt($(window).height()),
width : parseInt($(window).width())
};
})
//图片按需加载
$.fn.LoadImg = function(option){
var $_this = $(this),
$_default= {
src:"data-src"
},
$_options = $.extend($_default,option);
$_this.each(function(){
var _that = $(this),
_top = parseInt(_that.offset().top),
_src = _that.attr($_options.src),
imgsroll = function(){
_src = _that.attr($_options.src);
if(_src=="" || typeof _src ==="undefined"){
return false;
}
if(parseInt($(window).scrollTop())+win.height>=_top){
_that.attr("src",_src);
_that.removeAttr($_options.src);
}
};
imgsroll();
$(window).bind("scroll",function(){
imgsroll();
});
});
}
})(jQuery);