96 lines
3.3 KiB
JavaScript
96 lines
3.3 KiB
JavaScript
Tea.context(function () {
|
|
this.activeSection = this.activeSection || "basic";
|
|
this.success = NotifyReloadSuccess("保存成功");
|
|
this.signSecretVisible = false;
|
|
|
|
this.toggleSignEnabled = function () {
|
|
let that = this;
|
|
let targetIsOn = !this.settings.signEnabled;
|
|
|
|
if (targetIsOn) {
|
|
teaweb.confirm("html:开启后,服务端会对解析请求进行签名鉴权,<span class='red'>未签名、签名无效或过期的请求都会解析失败</span>,确认开启吗?", 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:关闭后,服务端不会对解析请求进行签名鉴权,可能<span class='red'>存在被刷风险</span>,确认关闭吗?", 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();
|
|
});
|
|
});
|
|
});
|
|
};
|
|
});
|