docs: annotate funds, backups and loading states
This commit is contained in:
1 parent
179c6febf0
commit
74e94730e0
8 files changed
+24
No files matched your search
@@ -1,4 +1,5 @@
|
||||
<script>
|
||||
// 统一备份/快照面板,兼容云模块与财务模块的列表格式、磁盘来源及数量额度升级。
|
||||
import "~/assets/styles/MfCloudBackupPanel.BTlEe-fy.css";
|
||||
import { toDisplayString } from "vue";
|
||||
import { onMounted } from "vue";
|
||||
@@ -201,6 +202,7 @@ var Se = {
|
||||
function tt() {
|
||||
et &&= (clearTimeout(et), null);
|
||||
}
|
||||
// 列表中仍有未完成任务时每两秒复查;卸载时停止调度并使请求失效。
|
||||
function nt() {
|
||||
(tt(),
|
||||
!H &&
|
||||
@@ -216,6 +218,7 @@ var Se = {
|
||||
size: e.size,
|
||||
}));
|
||||
}
|
||||
// 规范化历史字段及任务状态;财务模块需另读支持标记、额度和可选磁盘。
|
||||
function it(e) {
|
||||
let t = instance_data_l(e),
|
||||
n = [`list`, v.kind, `${v.kind}s`].find((e) =>
|
||||
@@ -287,6 +290,7 @@ var Se = {
|
||||
e === B && (E.value = !1);
|
||||
}
|
||||
}
|
||||
// 打开创建表单前重新确认额度并取得磁盘,不能使用其他实例留下的磁盘选项。
|
||||
async function at() {
|
||||
if (Qe.value) return;
|
||||
let e = ++V,
|
||||
@@ -327,6 +331,7 @@ var Se = {
|
||||
e === V && (Ye.value = !1);
|
||||
}
|
||||
}
|
||||
// 创建接口只代表任务已提交,随后刷新列表跟踪状态,不直接宣称备份已完成。
|
||||
async function ot() {
|
||||
if (!O.value) {
|
||||
if (!P.name.trim()) {
|
||||
@@ -359,6 +364,7 @@ var Se = {
|
||||
}
|
||||
}
|
||||
}
|
||||
// 还原使用已确认的目标记录,并按 backup/snapshot 类型传递对应 ID 字段。
|
||||
async function st() {
|
||||
let e = F.value;
|
||||
if (e) {
|
||||
@@ -478,6 +484,7 @@ var Se = {
|
||||
watch($, gt, {
|
||||
flush: `sync`,
|
||||
});
|
||||
// 额度升级规格来自商品订单页;空间计费或禁止升级时不提供数量升级入口。
|
||||
async function _t() {
|
||||
let e = ++X;
|
||||
if (
|
||||
@@ -531,6 +538,7 @@ var Se = {
|
||||
(G.value = !0),
|
||||
await yt());
|
||||
}
|
||||
// 报价绑定实例、类型、当前数量及目标额度,任一条件变化都会废弃旧报价。
|
||||
async function yt() {
|
||||
if (
|
||||
(gt(),
|
||||
@@ -556,6 +564,7 @@ var Se = {
|
||||
!H && e === U && (lt.value = !1);
|
||||
}
|
||||
}
|
||||
// 仅提交有效快照下的额度订单,校验订单 ID 后再交给父级支付流程。
|
||||
async function bt() {
|
||||
if (!ht.value || O.value || H) return;
|
||||
let e = $.value,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<script>
|
||||
// 余额充值分为创建充值订单和渠道支付两步;支付成功事件再通知父级更新余额。
|
||||
import "~/assets/styles/PaymentDialog.BNFKQF1U.css";
|
||||
import "~/assets/styles/RechargeDialog.DpsMly4r.css";
|
||||
import { toDisplayString } from "vue";
|
||||
@@ -58,6 +59,7 @@ var E = {
|
||||
I = ref(!1),
|
||||
L = ref(null),
|
||||
R = ref(``);
|
||||
// 创建订单后保存订单 ID 与金额,关闭金额表单并打开通用支付弹窗。
|
||||
async function z() {
|
||||
if (!P.value) {
|
||||
if (((F.value = ``), !N.value || N.value <= 0)) {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<script>
|
||||
// 提现表单共用余额与推荐奖励两个场景,规则、手续费和可提现余额均按场景校验。
|
||||
import "~/assets/styles/WithdrawDialog.ks0wdKEK.css";
|
||||
import { toDisplayString } from "vue";
|
||||
import { useId } from "vue";
|
||||
@@ -49,6 +50,7 @@ function w(e, t = ``) {
|
||||
? C(e)
|
||||
: e?.status === 1 || e?.status === `1` || e?.status === !0;
|
||||
}
|
||||
// 金额最多两位小数,先转为安全整数“分”,避免用浮点金额直接比较限额。
|
||||
function T(e) {
|
||||
if (typeof e != `string` && typeof e != `number`) return null;
|
||||
let t = String(e).trim();
|
||||
@@ -57,6 +59,7 @@ function T(e) {
|
||||
i = Number(n) * 100 + Number(r.padEnd(2, `0`));
|
||||
return Number.isSafeInteger(i) ? i : null;
|
||||
}
|
||||
// 百分比允许六位小数,用 BigInt 计算手续费并向下取整到分。
|
||||
function E(e, t) {
|
||||
let n = String(t ?? ``).trim();
|
||||
if (!/^\d+(?:\.\d{1,6})?$/.test(n) || Number(n) > 100) return null;
|
||||
@@ -221,6 +224,7 @@ var ce = {
|
||||
notes: ``,
|
||||
});
|
||||
}
|
||||
// 加载可用渠道及规则;奖励场景额外读取奖励专属限额和手续费,代次隔离旧响应。
|
||||
async function $() {
|
||||
if (!G || !x.value || V.value) return;
|
||||
let e = ++W,
|
||||
@@ -292,6 +296,7 @@ var ce = {
|
||||
G && e === W && (V.value = !1);
|
||||
}
|
||||
}
|
||||
// 提交前重新校验渠道、金额区间、可用余额和收款账号,只发送当前渠道需要的字段。
|
||||
async function Oe() {
|
||||
if (!G || !x.value || H.value || V.value || !Q(B.value)) return;
|
||||
let e = B.value;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<script>
|
||||
// 为 mf_cloud/remf_cloud 的 Windows 实例提供 RDP 文件下载,其他模块或镜像不启用。
|
||||
import "~/assets/styles/CloudAccessExtras.CnBJlFAZ.css";
|
||||
import { toDisplayString } from "vue";
|
||||
import { onBeforeUnmount } from "vue";
|
||||
@@ -53,6 +54,7 @@ var y = {
|
||||
D = ref(``),
|
||||
O = 0,
|
||||
k = !1;
|
||||
// 将接口文本转成临时下载链接,净化文件名并释放 Blob URL;实例变更后忽略旧响应。
|
||||
async function A() {
|
||||
if (!w.value || !T.value || E.value || k) return;
|
||||
let e = O;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<script>
|
||||
// 查询 DCIM 重装任务进度;有任务时有限轮询,实例或刷新版本变化后重新开始。
|
||||
import "~/assets/styles/DcimReinstallStatus.CuXeXmZ3.css";
|
||||
import { toDisplayString } from "vue";
|
||||
import { onMounted } from "vue";
|
||||
@@ -42,6 +43,7 @@ var m = {
|
||||
C = !1,
|
||||
w = 0,
|
||||
T;
|
||||
// 每十秒调度;页面隐藏或存在弹窗时暂缓查询,减少后台流量及界面干扰。
|
||||
function E() {
|
||||
T = setTimeout(() => {
|
||||
if (!C) {
|
||||
@@ -56,6 +58,7 @@ var m = {
|
||||
}
|
||||
}, 1e4);
|
||||
}
|
||||
// 仅接受 task_type 有效的任务数组,发现进行中任务后最多推进 60 轮查询。
|
||||
async function D(e = !0) {
|
||||
if (v.value || C) return;
|
||||
(clearTimeout(T), e && (w = 0));
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<script>
|
||||
// 实例详情加载占位:保持页签与卡片布局,用 aria-busy 告知辅助技术正在加载。
|
||||
import "~/assets/styles/InstanceLoadingShell.CwfiUwdU.css";
|
||||
import { renderList } from "vue";
|
||||
import { normalizeClass } from "vue";
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<script>
|
||||
// 监控加载占位按模块展示一张 DCIM 图或四张云监控图,不触发任何监控请求。
|
||||
import "~/assets/styles/InstanceMonitorSkeleton.C0FT51jJ.css";
|
||||
import { renderList } from "vue";
|
||||
import { normalizeClass } from "vue";
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<script>
|
||||
// 优先展示调用方已归一化的状态,否则结合电源状态与生命周期生成统一状态标签。
|
||||
import { createBlock } from "vue";
|
||||
import { computed } from "vue";
|
||||
import { unref } from "vue";
|
||||
|
||||
Reference in new issue
Block a user