var g_server_address,public_key; var user_info={}; var init_status=false; var site_config = {language:'ch'};//站点配置 var prompt = {}; var g_site_id; var g_info_id; //请求地地址 //获取数据json文件 getrootstr("json_data/server_config.json",succgetjson); getrootstr("json_data/site_config.json",succgetsiteconfigjson); getrootstr("json_data/prompt_config.json",succgetpromptjson); function getrootstr(url_s,succfun){ $.ajax({ url: url_s+"?rand="+math.random(), type: 'get', datatype: 'json', timeout: 1000, cache: false, error: function (xmlhttprequest, textstatus, errorthrown){ console.log("xmlhttprequest.status:"+xmlhttprequest.status+" textstatus:"+textstatus); }, //错误执行方法 success: succfun //成功执行方法 }) } /** * 获取系统json配置文件 * @param data */ function succgetjson(data){ //alert(3) g_server_address=data.server_address; if(g_server_address.slice(-1)!="/" && g_server_address.slice(-1)!="\\"){ g_server_address+="/"; } public_key = data.public_key; } /** * 获取站点json配置文件 * @param data */ function succgetsiteconfigjson(data){ site_config = data; if(!site_config.language){ site_config.language="ch"; } } /** * 获取提示json配置文件 * @param data */ function succgetpromptjson(data){ prompt = data; } $(function() { g_site_id = $("script[site_id]").attr('site_id'); $(document).on("click","a[adid^='ad']",function(){ adclicrate($(this).attr("adid")); }); }); //广告点击量 function adclicrate(id){ if(id){ var data = {}; data.type = "4"; data.site_id = g_site_id; data.adid=id; data.language = site_config.language; var arr_info = document.url.split("/"); // 取/最尾部相关信息 g_info_id = arr_info[arr_info.length - 1].split(".html")[0]; data.info_id = g_info_id; requestdata("httpchannel?action=html__site_enter_tj", data, 'g_receivedata'); } } /** * 访问量统计 * @param callbakck 模板自定义回调函数 */ function statisticsaccess(group_id, callback){ if(!callback){ callback = "dr_statisticsaccess"; } var data = {}; data.type = "1"; data.site_id = g_site_id; data.account = getcookie(g_site_id+"_account"); data.language = site_config.language; var arr_info = document.url.split("/"); // 取/最尾部相关信息 var info_id = arr_info[arr_info.length - 1].split(".html")[0]; data.info_id = info_id; if(group_id){ if (group_id.indexof("_")>-1&&group_id.split("_")[1].length>0) { data.info_id = group_id; } } requestdata("httpchannel?action=html__site_enter_tj", data, callback); } /** * pdf访问量统计 * @param callbakck 模板自定义回调函数 */ function file_statisticsaccess(file_id, callback){ if(!callback){ callback = "dr_statisticsaccess"; } var data = {}; data.type = "2"; data.site_id = g_site_id; data.account = getcookie(g_site_id+"_account"); data.language = site_config.language; data.info_id = file_id.split(".pdf")[0]; requestdata("httpchannel?action=html__site_enter_tj", data, callback); } function dr_statisticsaccess(json) { if (json.result == 0) { alert(json.message); } else { //json.clickcount 访问次数 } } //网站访问量 function getsitepv(){ var data = {}; data.site_id=g_site_id; data.language = site_config.language; requestdata("httpchannel?action=html__site_index_tj", data, 'getsitepvsum'); } function getsitepvsum(json){ if(json){ if(json.result == 1){ $("#sitecounts").text(json.pv); } }else{ $("#sitecounts").text("1"); } } function querysolr(solr_id,text_id){ var arr_info = document.url.split("/"); g_info_id = arr_info[arr_info.length - 1].split(".html")[0]; var page_id = g_info_id.substring(2); //判断是否为本页面,不是本页面则跳转 if(solr_id == page_id){ querysolrself($("#"+text_id).val());//模版页面应该定义 }else{ location.href="g_"+solr_id+".html?content="+encodeuri($("#"+text_id).val()); } } function queryothersolr(solr_id,text_id){ var arr_info = document.url.split("/"); g_info_id = arr_info[arr_info.length - 1].split(".html")[0]; var page_id = g_info_id.substring(2); //判断是否为本页面,不是本页面则跳转 if(solr_id == page_id){ //getothersolrinfo($("#"+text_id).val());//模版页面应该定义 getothersolrinfo(1,$("#page_size").val(),$("#"+text_id).val(),"receive_getsolrinfo"); }else{ location.href="g_"+solr_id+".html?content="+encodeuri($("#"+text_id).val()); } } function getothersolrinfo(page_num,page_size,content,callback){ if(!callback){ callback = "dr_getsolrinfo"; } var data = {}; data.org_id = user_info.org_id; data.site_id = g_site_id; data.page_num = page_num; data.page_size = page_size; data.column_id = $("#group_id").val(); data.date_begin = $("#date_begin").val(); data.date_end = $("#date_end").val(); data.type = $("#type").val(); data.content = content; data.language = site_config.language; if(content.length>1000){ alert(prompt['can_not_exceed_' + site_config.language])//内容不能超过一千个字 return false; } requestdata("httpchannel?action=html__site_solr_query", data, callback); } function getsolrinfo(page_num,page_size,content,callback){ if(!callback){ callback = "dr_getsolrinfo"; } var data = {}; data.org_id = user_info.org_id; data.site_id = g_site_id; data.page_num = page_num; data.page_size = page_size; data.column_id = $("#group_id").val(); data.content = content; data.language = site_config.language; if(content.length>1000){ alert(prompt['can_not_exceed_' + site_config.language])//评论内容不能超过一千个字 return false; } requestdata("httpchannel?action=html__site_solr_query", data, callback); } function dr_getsolrinfo(){ if (json.result == 0) { delcookie(g_site_id+"_account"); location.href="index.html"; } else { //json.solr_info 多条评论内容json对象 //json.solr_total 会员所有评论数量 //json.page_num 当前页数 } } function getsupplysolrinfo(page_num,page_size,data,callback){ if(!callback){ callback = "dr_getsupplysolrinfo"; } //var data = {}; var cookie=getcookie("cno_select"); data.cno = cookie; data.org_id = user_info.org_id; data.site_id = g_site_id; data.page_num = page_num; data.page_size = page_size; data.language = site_config.language; var content = data.content; if(content.length>1000){ alert(prompt['can_not_exceed_' + site_config.language])//评论内容不能超过一千个字 return false; } requestdata("httpchannel?action=html__site_solr_querysupply", data, callback); } function dr_getsupplysolrinfo(){ if (json.result == 0) { delcookie(g_site_id+"_account"); location.href="index.html"; } else { //json.solr_info 多条评论内容json对象 //json.solr_total 会员所有评论数量 //json.page_num 当前页数 } } function initmember(callback){ var data = {}; if(!callback){ callback = "dr_setmemberinfo"; } if(!g_server_address){ // getrootstr("json_data/server_config.json",succgetjson); settimeout(function(){ initmember(callback); }, 200); return false; } $.ajax({ type : "post", async : true, url : g_server_address+"api/getuserinfo", success : function(data, status, xhr) { eval(callback+"(data)"); } }); //requestdata("api/getuserinfo", data, callback); } function dr_setmemberinfo(json){ if (json) { $("#login_span").hide(); $("#member_span").show(); var name =getcookie(g_site_id+"_name") if(name!=null &&name!="" && typeof(name)!="undefined"){ $("#member_name").html(name); }else{ $("#member_name").html("xxx"); } } else { $("#member_span").hide(); $("#login_span").show(); $("#member_name").html(""); delcookie(g_site_id+"_account"); } } /** * 等待特定时间 * @param numbermillis * @returns */ function g_sleep(numbermillis) { var now = new date(); var exittime = now.gettime() + numbermillis; while (true) { now = new date(); if (now.gettime() > exittime) return; } } /** * 请求数据 * * @param addr * 请求地址 * @param jsondata * @param s_callback * 回调函数 * @returns */ function requestdata(addr, jsondata, s_callback) { //console.log(1,addr,g_server_address); if(!g_server_address){ // getrootstr("json_data/server_config.json",succgetjson); settimeout(function(){ requestdata(addr,jsondata,s_callback); }, 200); return false; } $.ajax({ type : "post", contenttype: "application/x-www-form-urlencoded; charset=utf-8", async : true, data : jsondata, url : g_server_address+addr, datatype : "jsonp", jsonp : "callback",// 传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback) jsonpcallback : s_callback,// 自定义的jsonp回调函数名称 success : function(data, status, xhr) { // console.log('状态为:' + status + ',状态是:' + xhr.statustext + "," + data); // alert(data.g_message); } }); } /** * 同步请求数据 * * @param addr * 请求地址 * @param jsondata * @param s_callback * 回调函数 * @returns */ function requestdata1(addr, jsondata, s_callback) { if(!g_server_address){ getrootstr("json_data/server_config.json",succgetjson); //g_sleep(1000); if(!g_server_address){ alert(prompt['service_address_error_' + site_config.language]+g_server_address);//未获取到后台地址,无法请求 return false; } } $.ajax({ type : "post", contenttype: "application/x-www-form-urlencoded; charset=utf-8", async : false, data : jsondata, url : addr, datatype : "jsonp", jsonp : "callback",// 传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback) jsonpcallback : s_callback,// 自定义的jsonp回调函数名称 success : function(data, status, xhr) { // console.log('状态为:' + status + ',状态是:' + xhr.statustext + "," + data); // alert(data.g_message); } }); } /** * 设置cookies值 * * @param key * 键key * @param value * 值 */ function setcookie(key, value) { // 两个参数,一个是cookie的名子,一个是值 // var days = 30; // 此 cookie 将被保存 30 天 // var exp = new date(); // new date("december 31, 9998"); // exp.settime(exp.gettime() + days * 24 * 60 * 60 * 1000); // document.cookie = key + "=" + escape(value) + ";expires=" + exp.togmtstring(); document.cookie = key + "=" + escape(value) + ";"; } function setcookie2(key, value, path, domain) { var days = 0.7; // 此 cookie 将被保存 0.5 天 var exp = new date(); // new date("december 31, 9998"); exp.settime(exp.gettime() + days * 24 * 60 * 60 * 1000); document.cookie = key + "=" + escape(value) + ";expires=" + exp.togmtstring() + (path ? ';path=' + path : '') + (domain ? ';domain=' + domain : ''); } /** * 取cookies的key值函数 * * @param key * 值 * @returns 返回值 */ function getcookie(key) { var arr = document.cookie.match(new regexp("(^| )" + key + "=([^;]*)(;|$)")); if (arr != null) { return unescape(arr[2]); } return null; } function delcookie(cookiename, cookievalue, path, domain, secure){ var cookievalue="delete"; var expires = new date(); expires.settime(expires.gettime() - 100000); document.cookie = escape(cookiename) + '=' + escape(cookievalue) + (expires ? '; expires=' + expires.togmtstring() : '') + (path ? '; path=' + path : '/') + (domain ? '; domain=' + domain : '') + (secure ? '; secure' : ''); } /** * 获取验证码 * @param id 验证码对应img的id */ function gettxtvalidatecode(id){ if(!g_server_address){ // getrootstr("json_data/server_config.json",succgetjson); settimeout(function(){ gettxtvalidatecode(id) }, 200); return false; } $("#"+id).attr("src",g_server_address + 'httpchannel?action=get_validatenum&rand=' + math.random()); } /** * 获取项目根路径,如: */ function getrootpath(){ $.ajax({ url: "server_config.json", type: "get", datatype: "json", async: true, cache: false, success: function (data) { g_server_address = data.server_address; }, error: function (xmlhttprequest, textstatus, errorthrown){ alert("xmlhttprequest.status:"+xmlhttprequest.status+" textstatus:"+textstatus); } }) }