docs: explain instance billing and renewal workflows

This commit is contained in:
cieanyau committed 2026-11-06 00:37:46 +08:00
1 parent 9166b1376d
commit 2ff311005e
4 files changed
+17

No files matched your search

@@ -1,4 +1,5 @@
<script>
// 实例计费面板:串联升级、自动续费、退款/停用申请及安全验证重试。
import "~/assets/styles/KkyUpgrade.CkDmxFBM.css";
import "~/assets/styles/MfCloudUpgrade.N7TNG8F1.css";
import "~/assets/styles/ConfigBandwidth.CWSH1WJZ.css";
@@ -227,6 +228,7 @@ var Se = {
I = ref(!1),
L = ref(``),
R = 0;
// 自动续费只接受接口明确返回的 0/1,并用请求序号避免旧响应覆盖新设置。
async function z() {
let e = S.hostId,
t = k,
@@ -324,6 +326,7 @@ var Se = {
Number(B.value?.allow_refund) === 1 &&
(!V.value || [`Reject`, `Cancelled`].includes(V.value.status)),
);
// 同时读取退款规则和当前申请,决定能否申请、可选原因以及撤销入口。
async function X() {
let e = S.hostId,
t = k,
@@ -364,6 +367,7 @@ var Se = {
(D.value = ``),
(H.value = !0));
}
// 按后台要求提交自定义原因或原因 ID;遇到安全挑战时保留请求等待验证。
async function ut(e) {
if (W.value || G.value || !Y.value) return;
let t = S.hostId,
@@ -411,6 +415,7 @@ var Se = {
A(t, n) && (W.value = !1);
}
}
// 将安全验证字段合入原申请重试;再次收到挑战不能视为申请成功。
async function dt(e) {
if (!K.value || W.value) return;
let t = {
@@ -461,6 +466,7 @@ var Se = {
bw: S.info.bw,
protect: S.info.protect,
}));
// 实例切换后使旧请求失效,并重新加载该实例的计费、退款与优惠码状态。
function mt() {
(k++,
(F.value = null),