// 新版乐谱合集 var jq = jQuery.noConflict(); var os = { isAndroid: Boolean(navigator.userAgent.match(/Android/ig)), // 是否是Android浏览器 isIphone: Boolean(navigator.userAgent.match(/iphone|ipod|iOS/ig)), // 是否是苹果浏览器 isIpad: Boolean(navigator.userAgent.match(/ipad|Mac OS/ig)), // 是否是 IPad 浏览器 isWeixin: Boolean(navigator.userAgent.match(/MicroMessenger/ig)), // 是否是微信平台浏览器 isAli: Boolean(navigator.userAgent.match(/AlipayClient/ig)), // 是否是支付宝平台浏览器 isPhone: Boolean(/(iPhone|iPad|iPod|iOS|Android)/i.test(navigator.userAgent)) // 是否是手机端 } var page = { init:function(){ this.onCommentFun() this.onDownloadFun() this.onOpenVIPFun() this.onAdminShow() this.onEditYuepuFun() }, onDownloadFun: function(){ // 下载PDF,打印乐谱,收藏乐谱,下载APP var that = this; jq("#BtnPianoAlbumCollect").on("click",function(){ // 钢琴合集收藏乐谱 var collectText = jq(this).find("p").text() var collectAddUrl = jq("#CollectAddUrl").text() var collectDelUrl = jq("#CollectDelUrl").text() if (collectText == "收藏") { jq.post(collectAddUrl,{ ypid: ypid },function(){ jq("#BtnPianoAlbumCollect").html('

已收藏

') layer.msg('收藏成功,可从“我的收藏”中找到'); }) }else{ jq.post(collectDelUrl,{ ypid: ypid },function(){ jq("#BtnPianoAlbumCollect").html('

收藏

') layer.msg('取消收藏'); }) } }) jq("#BtnGuitarAlbumCollect").on("click",function(){ // 吉他合集收藏乐谱 var collectText = jq(this).find("p").text() var collectAddUrl = jq("#CollectAddUrl").text() var collectDelUrl = jq("#CollectDelUrl").text() if (collectText == "收藏") { jq.post(collectAddUrl,{ yuepuId: ypid, dataType: "2" },function(){ jq("#BtnGuitarAlbumCollect").html('

已收藏

') layer.msg('收藏成功,可从“我的收藏”中找到'); }) }else{ jq.post(collectDelUrl,{ yuepuId: ypid, dataType: "2" },function(){ jq("#BtnGuitarAlbumCollect").html('

收藏

') layer.msg('取消收藏'); }) } }) jq("#BtnDownloadApp").on("click",function(){ // 下载APP jq("#BoxSaoma2").find("p").hide() var saomaHtml = jq("#BoxSaoma2").html() that.onLayerFun('下载APP',["360px","auto"],false,false,saomaHtml,function(){ jq("#BoxSaoma2").find("p").show() }) }) jq("#BtnHeadFollow").on("click",function(){ //关注用户 var useruid = jq(this).data("uid"); var followText = jq(this).text(); var followAddUrl = 'http://music.52jianpu.com/tanqin/tbuser.php?d=web&c=space&m=ajax&type=follow' var followDelUrl = 'http://music.52jianpu.com/tanqin/tbuser.php?d=web&c=space&m=ajax&type=delete_follow' if (followText == "+ 关注") { jq.get(followAddUrl,{ by_uid: useruid },function(res){ if(res == '"ok"'){ jq("#BtnHeadFollow").text('已关注').removeClass("layui-btn-red2").addClass("layui-btn-grey") layer.msg('关注成功'); } }) }else{ jq.get(followDelUrl,{ by_uid: useruid },function(res){ if(res == '"ok"'){ jq("#BtnHeadFollow").text('+ 关注').removeClass("layui-btn-grey").addClass("layui-btn-red2") layer.msg('取消关注'); } }) } }) }, onCommentFun: function(){ // 评论区域逻辑 jq("#BoxCommentList").find(".text-content").emoji(); //初始化加载表情 jq("#BtnCommentChange").on("click",function(){ //切换评论显示隐藏 jq(this).next().slideToggle(); }) jq("#BoxCommentChange").on("click","li",function(){ //切换评论选择 var comment_name = jq(this).text() var comment_uid = jq(this).data("uid"); jq("#BoxCommentUser").show() jq("#BoxCommentChange").slideUp() jq("#BoxCommentUser").find("span").text(comment_name) jq("#comment_username").attr("value",comment_name) jq("#comment_uid").attr("value",comment_uid) }) jq("#BoxCommentUser").find("b").on("click",function(){ //切换评论关闭 jq("#BoxCommentUser").hide() jq("#comment_username,#comment_uid").attr("value",'') }) jq("#BtnCommentEmoji,#BtnCommentClose").on("click",function(e){ // 表情显示与隐藏 var oLiNum = jq("#BoxCommentEmoji li").length; if(!oLiNum) emojiCommentInt() jq("#BoxCommentEmoji").slideToggle() }) jq("#BoxCommentEmoji ul").on("click","li",function(){ //表情选择 var emojiText = jq(this).attr("title"); addCommentTextarea(document.getElementById('BoxCommentText'),emojiText); }) jq("#BtnCommentSubmit").on("click",function(){ // 发表评论 addCommentInfo() }) jq("#BoxCommentList").on("click", ".BtnCommentLike", function(){ //点赞数量修改 var that = jq(this); var commentId = jq(this).data("id"); var commentNum = jq(this).find("span").text(); var commentLikeUrl = jq("#CommentLikeUrl").text(); var commentStyle = "width: 246px; line-height: 36px; padding-left: 10px; border-radius: 10px; border:1px solid #f1f1f1;" layer.open({ title: '点赞数量修改', area: ['300px','auto'], btn: ['确认修改','取消修改'], content: '
', yes:function(){ var commentValue = jq(document).find("#BoxComLike").val(); jq.post(commentLikeUrl, { tid: ypid, commentid: commentId, likes: commentValue, mid: "51" },function(data){ if(data == 1){ that.find("span").text(commentValue) layer.closeAll(); }; }); },btn2:function(){ layer.closeAll() } }); }) jq("#BoxCommentList").on("click", ".BtnCommentDelete", function() { // 删除评论 var that = jq(this); var commentId = jq(this).data("id"); var commentDelUrl = jq("#CommentDelUrl").text(); layer.open({ title: '删除确认', area: ['300px','auto'], btn: ['确认删除','取消删除'], content: '
真的要删除这个评论嘛?
', yes:function(){ jq.get(commentDelUrl,{ id: commentId,tid: ypid, mid: "51" },function(res){ var resInfo = JSON.parse(res) layer.msg(resInfo.data.message); if(resInfo.data.code == 1000){ that.parents("li").remove() } }) },btn2:function(){ layer.closeAll() } }); }) jq("#BoxCommentList").on("click", ".BtnCommentReply", function() { // 回复评论 var commentId = jq(this).data("id"); var commentUId = jq(this).data("uid"); var commentName = jq(this).data("username"); var commentText = jq("#BoxCommentText").val(); jq("#BoxCommentText").attr("placeholder","回复:"+commentName) jq("#reply_uid").attr("value",commentUId); jq("#reply_username").attr("value",commentName); jq("#reply_comment_id").attr("value",commentId); if(commentText) addCommentInfo() }) }, onEditYuepuFun: function(){ var that = this; jq("#BtnEditYuepu").on("click",function(){ that.onLayerFun('编辑合集',["370px","auto"],["我知道了"],"",'此曲谱多次审核不通过,已被系统锁定,无法修改。',function(){ layer.closeAll() }) }) }, onOpenVIPFun: function(){ //打开VIP弹窗 var that = this; jq(".BtnOpenVIP").on("click",function(){ layer.open({ title: 'VIP弹窗', area: ['430px','auto'], btn: ['升级至VIP账户'], skin: 'layer-yuepu-box', scrollbar: false, content: 'guitar

升级VIP,海量乐谱全部解锁,一键高清下载、打印。

', yes: function () { window.open('/codeindex.php?d=web&c=vip2025&m=upgradeChannel') layer.open({ title: '支付结果', area: ['430px','auto'], btn: ['已支付完成','支付遇到问题'], scrollbar: false, content: '
支付完成前请不要关闭窗口哦!
', yes:function(){ window.location.reload() },btn2:function(){ that.onLayerFun('支付遇到问题',["430px","auto"],false,false,'
遇到问题无法完成购买? 请联系我们的客服:
客服QQ:400-0185077
',null) } }); } }); }) }, onAdminShow: function(){ //管理员编辑显示隐藏 var isAdminShow = false; jq("#BtnAdminBianji").on("click",function(){ isAdminShow ? jq(this).text('编辑') : jq(this).text('收起') jq("#BoxAdminBianji").slideToggle() isAdminShow = !isAdminShow; }) jq("#BtnRecommend").on("click",function(){ tuijianYuepuInfo(ypid) }) }, onLayerFun: function(title,area,btnInfo,skin,content,cancelFun){ // layer弹窗函数 layer.open({ title: title, area: area, btn: btnInfo, skin: skin, scrollbar: false, content: content, cancel: cancelFun }); if(skin){ var oHeight = jq(".layui-layer-content").height() + 40 jq(".layui-layer-content").css("height",oHeight) } } } jq(function(){ page.init() onCommentPage(1) }) // 初始化动态加载表情 const emojiJson = [ {"text":"[嘿嘿]","value":"😀"},{"text":"[嘻嘻]","value":"😁"},{"text":"[哈哈]","value":"😃"},{"text":"[大笑]","value":"😄"},{"text":"[笑哭了]","value":"😂"}, {"text":"[吐舌]","value":"😛"},{"text":"[牛逼]","value":"😏"},{"text":"[得意]","value":"😏"},{"text":"[好吃]","value":"😋"},{"text":"[亲亲]","value":"😗"}, {"text":"[飞吻]","value":"😘"},{"text":"[花痴]","value":"😍"},{"text":"[羞涩亲亲]","value":"😚"},{"text":"[无语]","value":"😑"},{"text":"[不高兴]","value":"😒"}, {"text":"[龇牙咧嘴]","value":"😬"},{"text":"[发怒]","value":"😡"},{"text":"[沉思]","value":"😔"},{"text":"[松了口气]","value":"😌"},{"text":"[感冒]","value":"😷"}, {"text":"[汗]","value":"😓"},{"text":"[困惑]","value":"😖"},{"text":"[失望]","value":"😞"},{"text":"[担心]","value":"😟"},{"text":"[震惊]","value":"😲"}, {"text":"[哭]","value":"😢"},{"text":"[恶魔微笑]","value":"😈"},{"text":"[害怕]","value":"😨"},{"text":"[冷汗]","value":"😰"},{"text":"[吓死了]","value":"😱"}, {"text":"[脸红]","value":"😳"},{"text":"[犯困]","value":"😪"},{"text":"[睡着了]","value":"😴"},{"text":"[狗屎]","value":"💩"},{"text":"[幽灵]","value":"👻"}, {"text":"[牵手]","value":"👫"},{"text":"[跳舞]","value":"👯"},{"text":"[示爱]","value":"💑"},{"text":"[爱意]","value":"💏"},{"text":"[猪头]","value":"🐷"}, {"text":"[点赞]","value":"👍"},{"text":"[很差]","value":"👎"},{"text":"[加油]","value":"✊"},{"text":"[双手合十]","value":"🙏"},{"text":"[秀肌肉]","value":"💪"}, {"text":"[爱你]","value":"💋"},{"text":"[爱心]","value":"💗"},{"text":"[心碎]","value":"💔"},{"text":"[OK]","value":"👌"},{"text":"[鼓掌]","value":"👏"}, {"text":"[玫瑰]","value":"🌹"},{"text":"[咖啡]","value":"☕"},{"text":"[啤酒]","value":"🍺"},{"text":"[礼物]","value":"🎁"},{"text":"[蛋糕]","value":"🎂"}, {"text":"[麦克风]","value":"🎤"},{"text":"[音符]","value":"🎵"},{"text":"[小提琴]","value":"🎻"},{"text":"[钢琴]","value":"🎹"},{"text":"[吉他]","value":"🎸"}, ] // 初始化动态加载表情 function emojiCommentInt(){ var emojiHtml = ""; for(var i = 0; i < emojiJson.length; i ++){ emojiHtml += '
  • ' } jq("#BoxCommentEmoji").find(".emojis-content").html(emojiHtml) } // 发表评论表情转换成表情符号 function emojiCommentFun(comment){ for(var i = 0; i< emojiJson.length;i++){ var escapedText = emojiJson[i].text.replace(/[[\]]/g, "\\$&"); // 使用正则表达式进行转义 comment = comment.replace(new RegExp(escapedText, 'g'), emojiJson[i].value); }; return comment; } // 检测是否可以评论 function checkCommentFun(){ jq.get("http://music.52jianpu.com/tanqin/codeindex.php?d=member&c=checkPostRole&m=index", function(res){ if(res == 0){ layer.msg('更换过头像、收藏过曲谱才可以发表评论') }else{ return true; } }); } // 添加评论跟回复评论 function addCommentInfo(){ var commenntAddUrl = jq("#CommentAddUrl").text(); var reply_uid = jq('#reply_uid').attr("value"); var reply_username = jq('#reply_username').attr("value"); var reply_comment_id = jq('#reply_comment_id').attr("value"); var comment_username = jq("#comment_username").attr("value"); var comment_uid = jq("#comment_uid").attr("value"); var commentText = jq("#BoxCommentText").val(); var replacedText = emojiCommentFun(commentText); if(commentText) { jq.post(commenntAddUrl, { mid: "51", tid: ypid, message: replacedText, yuepu_uid: yuepu_uid, reply_uid: reply_uid, reply_username: reply_username, reply_comment_id: reply_comment_id, comment_username: comment_username, comment_uid: comment_uid },function(res){ var resInfo = JSON.parse(res) if(resInfo.data.code == 1000){ layer.msg(resInfo.data.message); onGetPageInfo(1) jq("#BoxCommentText").val(''); jq("#BoxCommentEmoji").slideUp(); }else if(resInfo.data.code == 1002){ layer.open({ title: '提示信息', content: resInfo.data.message, btn:['前去验证','取消'], yes:function(){ window.location.href = resInfo.data.result.jumpUrl; } }); } else if(resInfo.data.code == 1024){ layer.confirm(resInfo.data.message, { title: '温馨提示', skin: 'layer-post-popup', area: ['400px'], btn: ['知道了'] }, function(){ layer.closeAll(); }); } else { layer.msg(resInfo.data.message); } }) }else{ layer.msg('评论不能为空') } } // 评论分页加载 function onCommentPage(currpage){ if(page_count<=0)return; if(page_count<9){ beginpage=1; endpage=page_count; }else{ if(currpage<=9&&currpage>0){ beginpage=1; endpage=9; } if(currpage<=page_count&&currpage>=(page_count-8)){ beginpage=page_count-8; endpage=page_count; } //其他情况 if(currpage>9&&currpage<(page_count-8)){ if(currpage>=(endpage+1)){ beginpage+=9; endpage+=9; } if(currpage<=(beginpage-1)){ beginpage-=9; endpage-=9; } } } var page_html=[]; if(currpage>1){ var ccur = parseInt(currpage)-1 page_html.push("<"); } for(i=beginpage;i<=endpage;i++){ if(i==currpage){ page_html.push("",i,""); }else{ page_html.push("",i,""); } } if((page_count-currpage)>0){ var cur = parseInt(currpage)+1; if((page_count-currpage)<=4){ page_html.push(">"); }else{ page_html.push("..",page_count,""); page_html.push(">"); } } document.getElementById("BoxCommentPage").innerHTML=page_html.join(""); } // 获取分页数据 function onGetPageInfo(page){ var url = jq("#CommentPageUrl").text() jq.get(url,{ ypid: ypid, page: page, mid: "51" },function(res){ var resInfo = eval("("+res+")"); onCommentPage(page); addCommentList(resInfo); jq('#BoxCommentList').find(".text-content").emoji(); }); } /* 乐谱评论添加列表 */ function addCommentList(resInfo){ var commentHtml = ''; for(var i = 0;i < resInfo.page_comments.length; i ++){ commentHtml += '
  • ' commentHtml += '' commentHtml += '

    '+resInfo.page_comments[i].username+'' if(resInfo.page_comments[i].vip == 1){ commentHtml += 'VIP' } if(resInfo.page_comments[i].reply_uid > 0){ commentHtml += '回复'+resInfo.page_comments[i].reply_username+'

    ' } commentHtml += '

    '+resInfo.page_comments[i].message+'

    '+resInfo.page_comments[i].custom_id+'楼

    '+resInfo.page_comments[i].datetime+'

    ' if(adminid > 0){ commentHtml += '

    点赞修改('+ resInfo.page_comments[i].likes + '个)

    ' } if(resInfo.page_comments[i].uid == uid || adminid > 0 || resInfo.page_comments[i].tuid == uid){ commentHtml += '

    删除

    ' } commentHtml += '

    回复

    ' commentHtml += '
  • ' } jq("#BoxCommentList").find("ul").html(commentHtml); } //发表评论光标焦点处插入文本 function addCommentTextarea(myField, myValue){ //IE support if (document.selection){ myField.focus(); }else if (myField.selectionStart || myField.selectionStart == '0'){ var startPos = myField.selectionStart; var endPos = myField.selectionEnd; // save scrollTop before insert www.keleyi.com var restoreTop = myField.scrollTop; myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length); if (restoreTop > 0) { myField.scrollTop = restoreTop; }; myField.focus(); myField.selectionStart = startPos + myValue.length; myField.selectionEnd = startPos + myValue.length; } else { myField.value += myValue; myField.focus(); }; } //管理员乐谱快捷编辑 function editYuepuInfo(ypid, what, value){ var editUrl = jq("#AdminEditUrl").text() + what; jq.post(editUrl, { ypid: ypid, value: value },function(data){ if(data != 1){ layer.msg(data); window.location.reload(); }; }); } // 管理员乐谱推荐 function tuijianYuepuInfo(ypid){ var status_id = ""; var tuijianText = jq("#BtnRecommend").text() var tuijianUrl = jq("#AdminTuijianUrl").text(); tuijianText == '推荐' ? status_id = 2 : status_id = 1 jq.post(tuijianUrl, { ypid: ypid, status_id: status_id },function(data){ if(data == 1){ jq("#BtnRecommend").text("推荐") }else if(data == 2){ jq("#BtnRecommend").text("取消推荐") }else{ layer.msg('失败') } }); }