Tea.context(function () { this.activeSection = "basic"; this.success = NotifyReloadSuccess("保存成功"); this.signSecretVisible = false; this.aesSecretVisible = false; this.toggleSignEnabled = function () { let that = this; let targetIsOn = !this.settings.signEnabled; if (targetIsOn) { teaweb.confirm("html:开启后,服务端将会对解析请求进行验签鉴权,未签名、签名无效或过期的请求都解析失败,确认开启吗?", function () { that.$post("/httpdns/apps/app/settings/toggleSignEnabled") .params({ appId: that.app.id, isOn: 1 }) .success(function () { that.settings.signEnabled = true; teaweb.success("请求验签已开启"); }); }); return; } teaweb.confirm("html:关闭后,服务端将不会对解析请求进行验签鉴权,可能存在被刷风险,确认关闭吗?", function () { that.$post("/httpdns/apps/app/settings/toggleSignEnabled") .params({ appId: that.app.id, isOn: 0 }) .success(function () { that.settings.signEnabled = false; teaweb.success("请求验签已关闭"); }); }); }; this.copySecret = function (text, name) { if (typeof text != "string" || text.length == 0) { teaweb.warn("没有可复制的内容"); return; } if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(text).then(function () { teaweb.success(name + "已复制"); }).catch(function () { this.copyByTextarea(text, name); }.bind(this)); return; } this.copyByTextarea(text, name); }; this.copyByTextarea = function (text, name) { let input = document.createElement("textarea"); input.value = text; input.setAttribute("readonly", "readonly"); input.style.position = "fixed"; input.style.left = "-10000px"; input.style.top = "-10000px"; document.body.appendChild(input); input.select(); let ok = false; try { ok = document.execCommand("copy"); } catch (e) { ok = false; } document.body.removeChild(input); if (ok) { teaweb.success(name + "已复制"); } else { teaweb.warn("复制失败,请手动复制"); } }; this.resetSignSecret = function () { let that = this; teaweb.confirm("确定要重置加签 Secret 吗?", function () { that.$post("/httpdns/apps/app/settings/resetSignSecret") .params({ appId: that.app.id }) .success(function () { teaweb.success("加签 Secret 已重置", function () { teaweb.reload(); }); }); }); }; this.resetAESSecret = function () { let that = this; teaweb.confirm("确定要重置 AES Secret 吗?", function () { that.$post("/httpdns/apps/app/settings/resetAESSecret") .params({ appId: that.app.id }) .success(function () { teaweb.success("AES Secret 已重置", function () { teaweb.reload(); }); }); }); }; });