$(function () { var replyFlexBg = document.createElement("div"); replyFlexBg.className = "flexcommentswrapbg"; var replyFlexWrap = document.createElement("div"); replyFlexWrap.className = "flexcommentswrap"; var replyFlexClose = document.createElement("div"); replyFlexClose.className = "close"; var replyFlexForm = document.createElement("div"); replyFlexForm.className = "replyForm"; replyFlexForm.innerHTML = '
' + '
' + '
取消回复
' + '
' + '' + '
' + '' + '
'; document.body.appendChild(replyFlexBg); document.body.appendChild(replyFlexWrap); replyFlexWrap.appendChild(replyFlexClose); replyFlexWrap.appendChild(replyFlexForm); replyFlexBg.addEventListener("click", function () { replyFlexBg.style.display = "none"; replyFlexWrap.style.display = "none"; }); replyFlexClose.addEventListener("click", function () { replyFlexBg.style.display = "none"; replyFlexWrap.style.display = "none"; }); document.querySelector("#replyBtnCancel").addEventListener("click", function () { replyFlexBg.style.display = "none"; replyFlexWrap.style.display = "none"; }); new Promise((resolve, reject) => { $.ajax({ type: "POST", url: "/services/?s=replyValiStatus", data: {}, success: function (data) { data = JSON.parse(data); resolve(data); } }); }).then((valiStatus) => { if (valiStatus.valimode == 1) { $("#replyValiCodeWrap").show(); $("#replyValiCodePic").attr("src", "/validate/?cache=" + Math.random()); } if (valiStatus.valimode == 2) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'https://turing.captcha.qcloud.com/TJCaptcha.js'; document.head.appendChild(script); } function callback(res) { if (res.ret === 0) { setCookie("txCaptchaRandstr", res.randstr, 1); setCookie("txCaptchaTicket", res.ticket, 1); replyPost(); } else { ktishi({ text: "验证失败,请重试。" }); } } var replyId = "0", replyType = "info", replyRid = "0"; var _this; function replyPost() { kLoading.show({ text: "评论提交中" }); $.post("/action/?s=postreview", { id: replyId, type: replyType, content: $("#replyContent").val(), validate: $("#replyValiCode").val(), rid: replyRid }, function (data, status) { kLoading.hide(); data = JSON.parse(data); if (valiStatus.valimode == 1) { $("#replyValiCodePic").attr("src", "/validate/?cache=" + Math.random()); } if (data.state == "true") { $("#replyContent").val(''); $("#replyValiCode").val(''); $("#replyClrBtn").hide(); $("#replyContent").attr("placeholder", "请输入评论内容"); $(".flexcommentswrap,.flexcommentswrapbg").hide(); ktishi({ text: data.text, url: data.url }); var nickname = data.nickname; if (nickname == "") nickname = data.username; if (nickname == "") nickname = "游客"; var headpic = data.headpic; if (headpic == "") headpic = "/images/nophoto.png"; if ($(_this).parents(".kinfolist").find(".kcomments").length > 0) { $(_this).parents(".kinfolist").find(".kcomments").prepend('
' + nickname + ':
' + data.comments + '
'); if ($(_this).parents(".kinfolist").find(".kcomments").find(".kcommentslist").length >= 4) { $(_this).parents(".kinfolist").find(".kcomments").find(".kcommentslist:last").remove(); } } else { $(_this).parents(".kinfolist").append('
' + nickname + ':
' + data.comments + '
'); } } else { ktishi({ text: data.text, url: data.url }); } }); } $("#replyBtn").on("click", function () { if (valiStatus.valimode == 0 || valiStatus.valimode == 1) { replyPost(); } if (valiStatus.valimode == 2) { try { var captcha = new TencentCaptcha(valiStatus.txCaptchaAppId, callback, { userLanguage: 'zh-cn', showFn: (ret) => { const { duration, // 验证码渲染完成的耗时(ms) sid, // 链路sid } = ret; }, }); captcha.show(); // 调用方法,显示验证码 } catch (error) { // 加载异常,调用验证码js加载错误处理函数 ktishi({ text: "验证加载失败,请刷新重试。" }); } } }); $(".kinfolist").on("click", function (e) { if (e.target.className == "comments reply" || e.target.className == "btn-comments") { _this = e.target; $(".flexcommentswrap,.flexcommentswrapbg").show(); $("#replyContent").attr("placeholder", "请输入评论内容"); $("#replyContent").val(""); $("#replyValiCode").val(''); replyId = $(e.target).data("mid"); replyRid = 0; $("#replyValiCodePic").attr("src", "/validate/?cache=" + Math.random()); $("#replyContent").focus(); if (e.target.className == "comments reply") { $("#replyContent").attr("placeholder", "回复 " + $(e.target).data("user")); replyRid = $(e.target).data("rid"); } } }); }) });