343 lines
12 KiB
JavaScript
343 lines
12 KiB
JavaScript
"use strict";
|
|
|
|
function asyncGeneratorStep(e, n, t, o, i, r, c) {
|
|
try {
|
|
var m = e[r](c),
|
|
a = m.value;
|
|
} catch (e) {
|
|
return void t(e);
|
|
}
|
|
m.done ? n(a) : Promise.resolve(a).then(o, i);
|
|
}
|
|
|
|
function _asyncToGenerator(m) {
|
|
return function () {
|
|
var e = this,
|
|
c = arguments;
|
|
return new Promise(function (n, t) {
|
|
var o = m.apply(e, c);
|
|
|
|
function i(e) {
|
|
asyncGeneratorStep(o, n, t, i, r, "next", e);
|
|
}
|
|
|
|
function r(e) {
|
|
asyncGeneratorStep(o, n, t, i, r, "throw", e);
|
|
}
|
|
|
|
i(void 0);
|
|
});
|
|
};
|
|
}
|
|
|
|
var rm = {};
|
|
(rm.stopdragimg = $("img")),
|
|
rm.stopdragimg.on("dragstart", function () {
|
|
return !1;
|
|
}),
|
|
(rm.showRightMenu = function (e) {
|
|
var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 0,
|
|
t = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : 0,
|
|
o = $("#rightMenu");
|
|
o.css("top", n + "px").css("left", t + "px"),
|
|
e ? (o.show(), stopMaskScroll()) : o.hide();
|
|
}),
|
|
(rm.hideRightMenu = function () {
|
|
rm.showRightMenu(!1), $("#rightmenu-mask").attr("style", "display: none");
|
|
});
|
|
var rmWidth = $("#rightMenu").width(),
|
|
rmHeight = $("#rightMenu").height();
|
|
rm.reloadrmSize = function () {
|
|
(rmWidth = $("#rightMenu").width()), (rmHeight = $("#rightMenu").height());
|
|
};
|
|
var domhref = "",
|
|
domImgSrc = "",
|
|
globalEvent = null;
|
|
|
|
function imageToBlob(e) {
|
|
var t = new Image(),
|
|
o = document.createElement("canvas"),
|
|
i = o.getContext("2d");
|
|
return (
|
|
(t.crossOrigin = ""),
|
|
(t.src = e),
|
|
new Promise(function (n) {
|
|
t.onload = function () {
|
|
(o.width = this.naturalWidth),
|
|
(o.height = this.naturalHeight),
|
|
i.drawImage(this, 0, 0),
|
|
o.toBlob(
|
|
function (e) {
|
|
n(e);
|
|
},
|
|
"image/png",
|
|
0.75
|
|
);
|
|
};
|
|
})
|
|
);
|
|
}
|
|
|
|
function copyImage(e) {
|
|
return _copyImage.apply(this, arguments);
|
|
}
|
|
|
|
function _copyImage() {
|
|
return (_copyImage = _asyncToGenerator(
|
|
regeneratorRuntime.mark(function e(n) {
|
|
var t, o;
|
|
return regeneratorRuntime.wrap(function (e) {
|
|
for (; ;)
|
|
switch ((e.prev = e.next)) {
|
|
case 0:
|
|
return (e.next = 2), imageToBlob(n);
|
|
case 2:
|
|
(t = e.sent),
|
|
(o = new ClipboardItem({"image/png": t})),
|
|
navigator.clipboard.write([o]);
|
|
case 5:
|
|
case "end":
|
|
return e.stop();
|
|
}
|
|
}, e);
|
|
})
|
|
)).apply(this, arguments);
|
|
}
|
|
|
|
function stopMaskScroll() {
|
|
document.getElementById("rightmenu-mask") &&
|
|
document.getElementById("rightmenu-mask").addEventListener(
|
|
"mousewheel",
|
|
function (e) {
|
|
rm.hideRightMenu();
|
|
},
|
|
!1
|
|
),
|
|
document.getElementById("rightMenu") &&
|
|
document.getElementById("rightMenu").addEventListener(
|
|
"mousewheel",
|
|
function (e) {
|
|
rm.hideRightMenu();
|
|
},
|
|
!1
|
|
);
|
|
}
|
|
|
|
(window.oncontextmenu = function (e) {
|
|
if (768 < document.body.clientWidth) {
|
|
var n = e.clientX + 10,
|
|
t = e.clientY,
|
|
o = $(".rightMenuOther"),
|
|
i = $(".rightMenuPlugin"),
|
|
r = $("#menu-copytext"),
|
|
c = $("#menu-pastetext"),
|
|
m = $("#menu-commenttext"),
|
|
a = $("#menu-newwindow"),
|
|
u = $("#menu-copylink"),
|
|
h = $("#menu-copyimg"),
|
|
d = $("#menu-downloadimg"),
|
|
s = $("#menu-search"),
|
|
l = $("#menu-searchBaidu"),
|
|
g = $("#menu-music-toggle"),
|
|
w = $("#menu-music-back"),
|
|
f = $("#menu-music-forward"),
|
|
p = $("#menu-music-playlist"),
|
|
k = $("#menu-music-copyMusicName"),
|
|
y = e.target.href,
|
|
v = e.target.currentSrc,
|
|
M = !1;
|
|
return (
|
|
o.show(),
|
|
(globalEvent = e),
|
|
selectTextNow && window.getSelection()
|
|
? ((M = !0), r.show(), m.show(), s.show(), l.show())
|
|
: (r.hide(), m.hide(), l.hide(), s.hide()),
|
|
y ? ((M = !0), a.show(), u.show(), (domhref = y)) : (a.hide(), u.hide()),
|
|
v
|
|
? ((M = !0), h.show(), d.show(), (domImgSrc = v))
|
|
: (h.hide(), d.hide()),
|
|
"input" === e.target.tagName.toLowerCase() ||
|
|
"textarea" === e.target.tagName.toLowerCase()
|
|
? (console.log("这是一个输入框"), (M = !0), c.show())
|
|
: c.hide(),
|
|
"METING-JS" == e.target.nodeName
|
|
? (console.log("这是一个音乐"),
|
|
(M = !0),
|
|
g.show(),
|
|
w.show(),
|
|
f.show(),
|
|
p.show(),
|
|
k.show())
|
|
: (g.hide(), w.hide(), f.hide(), p.hide(), k.hide()),
|
|
M ? (o.hide(), i.show()) : i.hide(),
|
|
rm.reloadrmSize(),
|
|
n + rmWidth > window.innerWidth && (n -= rmWidth + 10),
|
|
t + rmHeight > window.innerHeight &&
|
|
(t -= t + rmHeight - window.innerHeight),
|
|
rm.showRightMenu(!0, t, n),
|
|
$("#rightmenu-mask").attr("style", "display: flex"),
|
|
!1
|
|
);
|
|
}
|
|
}),
|
|
(rm.downloadimging = !1),
|
|
(rm.writeClipImg = function (e) {
|
|
console.log("按下复制"),
|
|
rm.hideRightMenu(),
|
|
btf.snackbarShow("正在下载中,请稍后", !1, 1e4),
|
|
0 == rm.downloadimging &&
|
|
((rm.downloadimging = !0),
|
|
setTimeout(function () {
|
|
copyImage(e),
|
|
btf.snackbarShow("复制成功!图片已添加盲水印,请遵守版权协议"),
|
|
(rm.downloadimging = !1);
|
|
}, "10000"));
|
|
}),
|
|
(rm.switchDarkMode = function () {
|
|
navFn.switchDarkMode(), rm.hideRightMenu(), heo.darkModeStatus();
|
|
}),
|
|
(rm.copyUrl = function (e) {
|
|
$("body").after("<input id='copyVal'></input>");
|
|
var n = e,
|
|
t = document.getElementById("copyVal");
|
|
(t.value = n),
|
|
t.select(),
|
|
t.setSelectionRange(0, t.value.length),
|
|
document.execCommand("copy"),
|
|
$("#copyVal").remove();
|
|
}),
|
|
(rm.rightmenuCopyText = function (e) {
|
|
navigator.clipboard && navigator.clipboard.writeText(e), rm.hideRightMenu();
|
|
}),
|
|
(rm.copyPageUrl = function () {
|
|
var e = window.location.href;
|
|
rm.copyUrl(e),
|
|
btf.snackbarShow("复制本页链接地址成功", !1, 2e3),
|
|
rm.hideRightMenu();
|
|
}),
|
|
(rm.sharePage = function () {
|
|
window.location.href;
|
|
rm.copyUrl(url),
|
|
btf.snackbarShow("复制本页链接地址成功", !1, 2e3),
|
|
rm.hideRightMenu();
|
|
});
|
|
var selectTextNow = "";
|
|
|
|
function selceText() {
|
|
var e = document.selection
|
|
? document.selection.createRange().text
|
|
: window.getSelection() + "";
|
|
selectTextNow = e || "";
|
|
}
|
|
|
|
function replaceAll(e, n, t) {
|
|
return e.split(n).join(t);
|
|
}
|
|
|
|
function addRightMenuClickEvent() {
|
|
$("#menu-backward").on("click", function () {
|
|
window.history.back(), rm.hideRightMenu();
|
|
}),
|
|
$("#menu-forward").on("click", function () {
|
|
window.history.forward(), rm.hideRightMenu();
|
|
}),
|
|
$("#menu-refresh").on("click", function () {
|
|
window.location.reload();
|
|
}),
|
|
$("#menu-top").on("click", function () {
|
|
btf.scrollToDest(0, 500), rm.hideRightMenu();
|
|
}),
|
|
$(".menu-link").on("click", rm.hideRightMenu),
|
|
$("#menu-darkmode").on("click", rm.switchDarkMode),
|
|
$("#menu-home").on("click", function () {
|
|
window.location.href = window.location.origin;
|
|
}),
|
|
$("#menu-randomPost").on("click", function () {
|
|
toRandomPost();
|
|
}),
|
|
$("#menu-commentBarrage").on("click", heo.switchCommentBarrage),
|
|
$("#rightmenu-mask").on("click", rm.hideRightMenu),
|
|
$("#rightmenu-mask").contextmenu(function () {
|
|
return rm.hideRightMenu(), !1;
|
|
}),
|
|
$("#menu-copy").on("click", rm.copyPageUrl),
|
|
$("#menu-pastetext").on("click", rm.pasteText),
|
|
$("#menu-copytext").on("click", function () {
|
|
rm.rightmenuCopyText(selectTextNow),
|
|
btf.snackbarShow("复制成功,复制和转载请标注本文地址");
|
|
}),
|
|
$("#menu-commenttext").on("click", function () {
|
|
rm.rightMenuCommentText(selectTextNow);
|
|
}),
|
|
$("#menu-newwindow").on("click", function () {
|
|
window.open(domhref), rm.hideRightMenu();
|
|
}),
|
|
$("#menu-copylink").on("click", rm.copyLink),
|
|
$("#menu-downloadimg").on("click", function () {
|
|
heo.downloadImage(domImgSrc, "zhheo");
|
|
}),
|
|
$("#menu-copyimg").on("click", function () {
|
|
rm.writeClipImg(domImgSrc);
|
|
}),
|
|
$("#menu-searchBaidu").on("click", rm.searchBaidu),
|
|
$("#menu-music-toggle").on("click", heo.musicToggle),
|
|
$("#menu-music-back").on("click", heo.musicSkipBack),
|
|
$("#menu-music-forward").on("click", heo.musicSkipForward),
|
|
$("#menu-music-copyMusicName").on("click", function () {
|
|
rm.rightmenuCopyText(heo.musicGetName()),
|
|
btf.snackbarShow("复制歌曲名称成功", !1, 3e3);
|
|
});
|
|
}
|
|
|
|
(document.onmouseup = document.ondbclick = selceText),
|
|
(rm.readClipboard = function () {
|
|
navigator.clipboard &&
|
|
navigator.clipboard.readText().then(function (e) {
|
|
return rm.insertAtCaret(globalEvent.target, e);
|
|
});
|
|
}),
|
|
(rm.insertAtCaret = function (e, n) {
|
|
var t,
|
|
o = e.selectionStart,
|
|
i = e.selectionEnd;
|
|
document.selection
|
|
? (e.focus(), (document.selection.createRange().text = n), e.focus())
|
|
: o || "0" == o
|
|
? ((t = e.scrollTop),
|
|
(e.value =
|
|
e.value.substring(0, o) + n + e.value.substring(i, e.value.length)),
|
|
e.focus(),
|
|
(e.selectionStart = o + n.length),
|
|
(e.selectionEnd = o + n.length),
|
|
(e.scrollTop = t))
|
|
: ((e.value += n), e.focus());
|
|
}),
|
|
(rm.pasteText = function () {
|
|
rm.readClipboard();
|
|
rm.hideRightMenu();
|
|
}),
|
|
(rm.rightMenuCommentText = function (e) {
|
|
rm.hideRightMenu();
|
|
var n = document.getElementsByClassName("el-textarea__inner")[0],
|
|
t = document.createEvent("HTMLEvents");
|
|
t.initEvent("input", !0, !0);
|
|
var o = replaceAll(e, "\n", "\n> ");
|
|
(n.value = "> " + o + "\n\n"), n.dispatchEvent(t);
|
|
var i = document.querySelector("#post-comment").offsetTop;
|
|
window.scrollTo(0, i - 80),
|
|
n.focus(),
|
|
n.setSelectionRange(-1, -1),
|
|
document.getElementById("comment-tips") &&
|
|
document.getElementById("comment-tips").classList.add("show");
|
|
}),
|
|
(rm.searchBaidu = function () {
|
|
btf.snackbarShow("即将跳转到百度搜索", !1, 2e3),
|
|
setTimeout(function () {
|
|
window.open("https://www.baidu.com/s?wd=" + selectTextNow);
|
|
}, "2000"),
|
|
rm.hideRightMenu();
|
|
}),
|
|
(rm.copyLink = function () {
|
|
rm.rightmenuCopyText(domhref), btf.snackbarShow("已复制链接地址");
|
|
});
|