var domain_str = '/api' var ccgt_domain = 'http://cc.lzjoy.com' window.addEventListener('message',function(event){ if(event.data.message == "login-close"){ window.location.href = "http://music.52jianpu.com/pianomusic"; }else if(event.data.message == "reload-close"){ location.reload(); }else if(event.data.message == "page-close"){ $('.login-iframe').hide(); } }, false); (function() { var date = new Date(); var YMD = date.getFullYear() + '-'; YMD += (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-'; YMD += date.getDate() + '-'; YMD += date.getHours() + '_'; YMD += date.getMinutes() + '_'; YMD += date.getSeconds(); var cc_hm = document.createElement("script"); cc_hm.setAttribute('type','text/javascript'); cc_hm.setAttribute('charset','utf-8'); cc_hm.src = "http://music.52jianpu.com/pianomusic/api/web/tool/DynamicJs?v="+YMD; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(cc_hm, s); })(); function getUrlParam(name){ var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } function getUrlParamData(){ var url = window.location.href var loc = url.substring(url.lastIndexOf('/') + 1, url.length) var arr = loc.split('.') arr = arr ? arr[0].split('_') : [] return arr } function setCookie(name, value, days = 30) { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var host = window.location.host.split('.'); if(host.length>=2) { var domain = host[host.length-2] + '.' + host[host.length-1]; } else { var domain = host[host.length-1]; } if (bIsIpad) { //document.cookie = name + "=" + escape(value) + ';path=/;domain=music.52jianpu.com/pianomusic'; document.cookie = name + "=" + escape(value) + ';path=/;domain='+domain; } else { var Days = days; var exp = new Date(); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ';path=/;domain='+domain; } } function getCookie(name) { var strcookie = document.cookie; //获取cookie字符串 var arrcookie = strcookie.split("; "); //分割 //遍历匹配 for (var i = 0; i < arrcookie.length; i++) { var arr = arrcookie[i].split("="); if (arr[0] == name) { return arr[1]; } } return ""; } var identity = { getServiceUid: function() { return getCookie('service_uid') }, getUid: function() { return getCookie('ccgq_uid') }, getServiceKey: function() { return getCookie('service_key') }, getCcgqUuid: function() { if (typeof window.localStorage === 'undefined') { console.warn('浏览器过低,需升级到更高版本'); alert('浏览器过低,需升级到更高版本'); return ''; } var self = this; var current_uuid= window.localStorage.getItem('ccgq_current_uuid') || ''; if (!current_uuid) { current_uuid = ''; setTimeout(function () { try { self.loadScriptThenCallback('http://music.52jianpu.com/pianomusic/lib/lzjoys101/res/statics/web/fingerprintjs.js', function () { FingerprintJS.load().then(fp => { // The FingerprintJS agent is ready. // Get a visitor identifier when you'd like to. fp.get().then(result => { // This is the visitor identifier: if(result.visitorId) { window.localStorage.setItem('ccgq_current_uuid', 'p0003ccgq'+result.visitorId); } }); }); }); } catch (e) { console.error("GetUuid - " + e.name + ": " + e.message); } }, 50); } return current_uuid; }, getServiceType: function() { return getCookie('service_type') }, getCcUsername: function() { var username = getCookie('cc_username') return unescape(username) }, getIsVip: function() { var isvip = getCookie('cc_is_vip') return parseInt(isvip) }, getVipDte: function() { var vipDate = getCookie('cc_vip_date') //格式化掉 时分秒 var newDate = /\d{4}-\d{1,2}-\d{1,2}/g.exec(vipDate) return newDate ? newDate[0] : '' }, getUserphoto: function() { var cc_userphoto = getCookie('cc_userphoto') return decodeURIComponent(cc_userphoto) }, getCcgqUid: function() { return getCookie('ccgq_uid') }, getPHPSESSID: function() { return getCookie('PHPSESSID') }, //加载脚本,成功以后执行回调函数 loadScriptThenCallback: function(script_path, funCallback, callbackParams) { var script = document.createElement("script"); script.type = "text/javascript"; script.src = script_path; if (script.addEventListener) { script.addEventListener("load", function() { console.log('已加载 ' + script_path); funCallback(callbackParams); }, false) } else { if (script.attachEvent) { script.attachEvent("onreadystatechange", function() { var target = window.event.srcElement; if (target.readyState == "loaded") { console.log('已加载: ' + script_path); funCallback(callbackParams); } }) } else { alert('当前浏览器版本不支持'); } } window.document.body.appendChild(script); } } var operation = { add: function(arg1, arg2) { var r1, r2, m; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } m = Math.pow(10, Math.max(r1, r2)) return (arg1 * m + arg2 * m) / m }, sub: function(arg1, arg2) { var r1, r2, m; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } m = Math.pow(10, Math.max(r1, r2)) return (arg1 * m - arg2 * m) / m }, mul: function(arg1, arg2) { var m = 0, s1 = arg1.toString(), s2 = arg2.toString(); try { m += s1.split(".")[1].length } catch (e) {} try { m += s2.split(".")[1].length } catch (e) {} return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m) }, div: function(arg1, arg2) { var t1 = 0, t2 = 0, r1, r2; try { t1 = arg1.toString().split(".")[1].length } catch (e) {} try { t2 = arg2.toString().split(".")[1].length } catch (e) {} r1 = Number(arg1.toString().replace(".", "")) r2 = Number(arg2.toString().replace(".", "")) return (r1 / r2) * Math.pow(10, t2 - t1); }, add_p1: function(arg1, arg2) { var r1, r2, m; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } m = Math.pow(10, Math.max(r1, r2)) m = (arg1 * m + arg2 * m) / m return m.toFixed(1) }, sub_p1: function(arg1, arg2) { var r1, r2, m; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } m = Math.pow(10, Math.max(r1, r2)) m = (arg1 * m - arg2 * m) / m return m.toFixed(1) }, mul_p1: function(arg1, arg2) { var m = 0, s1 = arg1.toString(), s2 = arg2.toString(); try { m += s1.split(".")[1].length } catch (e) {} try { m += s2.split(".")[1].length } catch (e) {} m = Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m) return m.toFixed(1) }, div_p1: function(arg1, arg2) { var t1 = 0, t2 = 0, r1, r2; try { t1 = arg1.toString().split(".")[1].length } catch (e) {} try { t2 = arg2.toString().split(".")[1].length } catch (e) {} r1 = Number(arg1.toString().replace(".", "")) r2 = Number(arg2.toString().replace(".", "")) m = (r1 / r2) * Math.pow(10, t2 - t1) return m.toFixed(1) }, } function handleTabs() { var _actives = $('.tab-header li'); _actives.click(function (params) { var _this = $(this); var _lis = $(_actives).siblings(); var _tabHeaderId = _this.attr('data-tab-header-id'); var _dataActive = _this.parent().attr('data-active'); var _tabBody = $('.' + _dataActive).children(); for (var index = 0; index < _lis.length; index++) { const element = _lis[index]; $(element).removeClass('active'); } if (_tabBody) { for (var index = 0; index < _tabBody.length; index++) { const element = _tabBody[index]; $(element).css('display', 'none'); if ($(element).attr('data-tab-body-id') == _tabHeaderId) { $(element).css('display', 'block'); } } } _this.addClass('active'); $(window).trigger('scroll'); }); // 检查登录状态 var _cc_username = identity.getCcUsername() var _cc_userid = identity.getServiceUid() var _userphoto = identity.getUserphoto() var _isvip = identity.getIsVip() if(_userphoto){ $('.user_info .user_name').text(_cc_username) $('.user_id span').text(_cc_userid) $('.user-head-box img').attr('src', _userphoto) $('.user-head-box img').attr('title', _cc_username) $('.user_info .head-img img').attr('src', _userphoto) $('.usr_tool_box .userinfo>a').attr('href', '/member/' + _cc_userid + '.htm') $('.user-head-box').show() if(_isvip){ $('.user-head-box').addClass('vip') } } if(_cc_username){ $('.user_info .user_name').text(_cc_username) } if(_cc_userid){ $('.user_id span').text(_cc_userid) $('.usr_tool_box .userinfo>a').attr('href', '/member/' + _cc_userid + '.htm') $('.login-box').css('display', 'none') }else{ $('.login-box').css('display', 'block') } } function getImageWidth(url,callback){ var img = new Image(); img.src = url; // 如果图片被缓存,则直接返回缓存数据 if(img.complete){ callback(img.width, img.height); }else{ // 完全加载完毕的事件 img.onload = function(){ callback(img.width, img.height); } } } function convertBase64UrlToBlob(urlData){ var bytes = window.atob(urlData.split(',')[1]); //去掉url的头,并转换为byte //处理异常,将ascii码小于0的转换为大于0 var ab = new ArrayBuffer(bytes.length); var ia = new Uint8Array(ab); for (var i = 0; i < bytes.length; i++) { ia[i] = bytes.charCodeAt(i); } return new Blob( [ab] , {type : 'image/png'}); } function getByteLen(val){ var len = 0; for (var i = 0; i < val.length; i++) { var a = val.charAt(i); if (a.match(/[^\x00-\xff]/ig) != null) { len += 2; } else { len += 1; } } return len; } function deleteCookie() { clearCookie('ccgq_uid'); clearCookie('cdb_uid'); clearCookie('cdb_ccgqcookie'); clearCookie('cdb_usernamecookie'); clearCookie('cdb_auth'); clearCookie('service_type'); clearCookie('service_key'); clearCookie('service_uid'); clearCookie('cc_username'); clearCookie('cc_userphoto'); clearCookie('cc_is_vip'); } function clearCookie(name) { setCookie(name, "", -1); } function isMobile() { var userAgentInfo = navigator.userAgent; var mobileAgents = [ "Android", "iPhone", "SymbianOS", "Windows Phone", "iPad","iPod"]; var mobile_flag = false; //根据userAgent判断是否是手机 for (var v = 0; v < mobileAgents.length; v++) { if (userAgentInfo.indexOf(mobileAgents[v]) > 0) { mobile_flag = true; break; } } var screen_width = window.screen.width; var screen_height = window.screen.height; //根据屏幕分辨率判断是否是手机 if(screen_width < 500 && screen_height < 800){ mobile_flag = true; } return mobile_flag; } function loadInstall(jump_url) { var loc = $('.opern_name').attr('data-oid') var newPar = parseInt(loc); if('string' == typeof jump_url) { var data = "{\"ccpiano\":\"" + jump_url + "\"}"; } else { if(newPar > 0){ var data = "{\"ccpiano\":\"ccpiano://detail/single/" + newPar + "\"}"; }else{ var data = "{\"ccpiano\":\"ccpiano://start/\"}"; } } new OpenInstall({ appKey: "mdc65i", apkFileName: 'chongchongmusic.apk', preferWakeup: true, onready: function () { m = this if (navigator.userAgent.match(/(iPad);?/i)) { window.location = "http://apps.apple.com/cn/app/id1080634885?l=zh&ls=1"; } else { m.wakeupOrInstall(); return false; } } }, data); } function loginShow(){ if(isMobile()){ loadInstall() return } //加载区号 var getTimeZoneApi = domain_str +'/home/user/getTimeZoneApi'; $.ajax({ type: "GET", contentType: "application/json", url: getTimeZoneApi, dataType: 'json', data: { service_key: identity.getServiceKey(), ccgq_uuid: identity.getCcgqUuid(), service_type: identity.getServiceType(), uid: identity.getUid(), platform: 'web-ccgq', }, success: function(res) { if(res.returnCode == '0000'){ for(var i = 0; i < res.datas.length; i++){ var html = '





