docs: annotate product configuration and quote lifecycles
This commit is contained in:
1 parent
3a53d2e58f
commit
60827b8bfb
7 files changed
+75
No files matched your search
@@ -1,4 +1,5 @@
|
||||
<script>
|
||||
/** 智简云/独立服务器配置页;module 决定接口命名空间,jy_dcim 额外将带宽变体归并为硬件型号。 */
|
||||
import "~/assets/styles/ConfigResourceOption.Dj4VopnA.css";
|
||||
import "~/assets/styles/ConfigDiskAdd.C92e9ZuF.css";
|
||||
import "~/assets/styles/ConfigBandwidth.CWSH1WJZ.css";
|
||||
@@ -78,6 +79,7 @@ function I(e) {
|
||||
.trim();
|
||||
}
|
||||
function le(e) {
|
||||
// 同名、同 CPU/内存/磁盘的套餐按带宽排序为同一型号,切换带宽仍需选择真实套餐 ID。
|
||||
let t = new Map();
|
||||
for (let n of e) {
|
||||
let e = I(n.name || ``),
|
||||
@@ -152,6 +154,7 @@ function R(e, t, n, r) {
|
||||
return Math.min(a, Math.max(i, i + Math.round((s - i) / o) * o));
|
||||
}
|
||||
function z(e, t, n = {}) {
|
||||
// 配置、优惠码和自定义字段组成报价快照;只有快照与最近报价一致时才允许提交。
|
||||
let r = useApi(),
|
||||
a = n.edit,
|
||||
s = cart_edit_r(r, a),
|
||||
@@ -212,6 +215,7 @@ function z(e, t, n = {}) {
|
||||
),
|
||||
ae = computed(() => (A.value && Number(A.value.data_disk_max) > 0 ? 1 : 0));
|
||||
function oe(e) {
|
||||
// 套餐变化同步约束所有附属资源;protect/defense 两字段保留现有后端协议要求。
|
||||
if (!e) return;
|
||||
let t = h.value.package_config_id;
|
||||
((h.value.package_config_id = e.id),
|
||||
@@ -348,6 +352,7 @@ function z(e, t, n = {}) {
|
||||
);
|
||||
}
|
||||
async function B() {
|
||||
// 金额只接受有限非负数,响应还必须匹配当前代次与输入快照。
|
||||
if (
|
||||
(k(),
|
||||
C ||
|
||||
@@ -419,6 +424,7 @@ function z(e, t, n = {}) {
|
||||
}
|
||||
}
|
||||
async function V(e = `simple`) {
|
||||
// 线路或节点改变会同时失效套餐和镜像;普通资源变化只重取周期及价格。
|
||||
let t = ++w;
|
||||
(k(), (S.value = ``));
|
||||
try {
|
||||
@@ -442,6 +448,7 @@ function z(e, t, n = {}) {
|
||||
}
|
||||
}
|
||||
async function pe(e) {
|
||||
// 独立服务器换型号尽量保留当前带宽,否则选该型号默认变体,再重新确认报价。
|
||||
if (t !== `jy_dcim`) return !1;
|
||||
let n = j.value.find((t) => t.key === e.key);
|
||||
if (!n) return !1;
|
||||
@@ -455,6 +462,7 @@ function z(e, t, n = {}) {
|
||||
);
|
||||
}
|
||||
async function me(e) {
|
||||
// 独立服务器带宽是套餐变体,不是可任意填写的额外数值。
|
||||
if (t !== `jy_dcim`) return !1;
|
||||
let n = j.value
|
||||
.find((e) => e.variants.some((e) => F(e.id, h.value.package_config_id)))
|
||||
@@ -501,6 +509,7 @@ function z(e, t, n = {}) {
|
||||
};
|
||||
}
|
||||
async function ye() {
|
||||
// 自定义字段校验和报价检查先于加购;购物车编辑借助统一保存器防止覆盖已变化的配置。
|
||||
(_e(), product_fields_i(m.value, p.value));
|
||||
let e = ve();
|
||||
if (a) {
|
||||
@@ -1009,6 +1018,7 @@ var de = {
|
||||
((M.value.protect = e), (M.value.defense = e), C.calcPrice());
|
||||
}
|
||||
async function It(e) {
|
||||
// 组件只向父级发出结算结果;编辑成功返回购物车,普通加购显示短时确认。
|
||||
if (at.value) {
|
||||
((U.value = e), (it.value = ``), (W.value = ``), clearTimeout(G));
|
||||
try {
|
||||
|
||||
Reference in new issue
Block a user