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

5 years ago
/**
**/
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);