docs: annotate cloud network and upgrade components

This commit is contained in:
cieanyau committed 2026-11-06 00:34:17 +08:00
1 parent 7f54cae497
commit 9166b1376d
7 files changed
+95

No files matched your search

@@ -1,4 +1,8 @@
<script>
/**
* 云实例自选资源升降级:父级给出当前规格、商品和实例,前端加载可选资源后分别询价/下单。
* 成功仅发 pay 事件交给父级支付;本面板不直接修改实例资源,也不自行推算升级费用。
*/
import "~/assets/styles/ConfigBandwidth.CWSH1WJZ.css";
import "~/assets/styles/MfCloudResourceUpgrade.bSwLWjPg.css";
import { toDisplayString } from "vue";
@@ -95,6 +99,7 @@ var ne = {
L = ref(!1),
R = ref(!1),
z = ref(``),
// 表单初始化为实例当前值;K 比较是否真的发生变更,未变更时不创建订单。
B = reactive({
cpu: Number(k.current.cpu || 0),
memory: Number(k.current.memory || 0),
@@ -112,6 +117,7 @@ var ne = {
([e, t]) => t !== Number(k.current[e] || 0),
),
);
/** CPU/离散内存候选展开并去重;步进候选最多收集 1000 项,避免巨大范围阻塞页面。 */
function q(e) {
let t = [];
for (let n of e || [])
@@ -134,6 +140,7 @@ var ne = {
}
let me = computed(() => q(P.value?.cpu)),
he = computed(() => q(P.value?.memory));
// 连续内存使用数值控件;全为单选档位时返回 null,改用下方离散按钮。
function ge(e) {
return !e?.length ||
e.every((e) => e.type === `radio` || e.min_value == null)
@@ -166,6 +173,7 @@ var ne = {
X = computed(() =>
(F.value?.flow || []).map((e) => Number(e.value)),
);
/** 商品订购配置与当前线路并行加载,H 隔离实例/商品切换后的旧配置响应。 */
async function Z() {
if (k.upgradeAllowed === !1) return;
let e = ++H;
@@ -187,6 +195,7 @@ var ne = {
e === H && (I.value = !1);
}
}
/** 每次询价先清旧价格,保存 host/module/表单快照;不接受无数值报价或过期响应。 */
async function Q() {
if (k.upgradeAllowed === !1) return;
let e = ++U,
@@ -215,14 +224,17 @@ var ne = {
e === U && (L.value = !1);
}
}
// 普通档位选择后直接询价,下单期间不允许修改表单。
function $(e, t) {
k.upgradeAllowed === !1 || R.value || ((B[e] = t), Q());
}
// 带宽控件输入中先作废旧报价,等 change 确认后才询价,避免拖动每一步都发请求。
function _e(e) {
k.upgradeAllowed === !1 ||
R.value ||
((B.bw = e), U++, (V.value = null), (W = ``), (L.value = !1));
}
/** 下单要求实际变更且报价属于当前快照;后端返回合法订单号后交给父级。 */
async function ve() {
if (
k.upgradeAllowed === !1 ||
@@ -262,9 +274,11 @@ var ne = {
return (
onMounted(Z),
watch(() => [k.hostId, k.module, k.productId], Z),
// 使仍在加载的配置/报价结果失效,不将卸载前的结果应用到后续面板。
onBeforeUnmount(() => {
(H++, U++);
}),
// 渲染 CPU、内存及线路对应的带宽/流量配置,统一在末尾展示报价与下单入口。
(n, r) => {
let a = OperationNotice,
o = skeleton,