fix recharge h5 payment defaults
This commit is contained in:
parent
cbb5dce204
commit
cdd674f3d9
@ -1247,6 +1247,7 @@
|
|||||||
|
|
||||||
// render 只消费 state,不发请求;所有接口副作用集中在动作函数里,方便排查状态流转。
|
// render 只消费 state,不发请求;所有接口副作用集中在动作函数里,方便排查状态流转。
|
||||||
function render() {
|
function render() {
|
||||||
|
normalizeSelections();
|
||||||
renderAccount();
|
renderAccount();
|
||||||
renderProducts();
|
renderProducts();
|
||||||
renderMethods();
|
renderMethods();
|
||||||
@ -2016,6 +2017,39 @@
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 首屏拿到 options 后必须形成一组可下单快照:默认套餐优先取后端排序第一项,支付方式优先 USDT。
|
||||||
|
// 切账号、切套餐或后端配置变更时都重新校正,避免“有 USDT 但支付区被隐藏”或旧 method_id 串到新商品。
|
||||||
|
function normalizeSelections() {
|
||||||
|
var products =
|
||||||
|
(state.options && state.options.products) || [];
|
||||||
|
if (!products.length) {
|
||||||
|
state.selectedProductID = 0;
|
||||||
|
state.selectedMethodKey = '';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var hasSelectedProduct = products.some(function (product) {
|
||||||
|
return product.product_id === state.selectedProductID;
|
||||||
|
});
|
||||||
|
if (!hasSelectedProduct) {
|
||||||
|
state.selectedProductID = products[0].product_id;
|
||||||
|
}
|
||||||
|
var methods = availableMethods();
|
||||||
|
if (!methods.length) {
|
||||||
|
state.selectedMethodKey = '';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var hasSelectedMethod = methods.some(function (method) {
|
||||||
|
return method.key === state.selectedMethodKey;
|
||||||
|
});
|
||||||
|
if (hasSelectedMethod) return;
|
||||||
|
var usdtMethod = methods.find(function (method) {
|
||||||
|
return method.key === 'usdt_trc20';
|
||||||
|
});
|
||||||
|
state.selectedMethodKey = (
|
||||||
|
usdtMethod || methods[0]
|
||||||
|
).key;
|
||||||
|
}
|
||||||
|
|
||||||
// token 模式不回传 display_user_id,防止前端把 token 用户和输入账号混用。
|
// token 模式不回传 display_user_id,防止前端把 token 用户和输入账号混用。
|
||||||
function targetDisplayUserID() {
|
function targetDisplayUserID() {
|
||||||
if (
|
if (
|
||||||
@ -2151,9 +2185,28 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function productUSD(product) {
|
function productUSD(product) {
|
||||||
if (product.amount_minor) return product.amount_minor / 100;
|
var directUSDT = Number(
|
||||||
if (product.amount_micro)
|
product.amount_usdt || product.amountUsdt || 0
|
||||||
return product.amount_micro / 1000000;
|
);
|
||||||
|
if (Number.isFinite(directUSDT) && directUSDT > 0) {
|
||||||
|
return directUSDT;
|
||||||
|
}
|
||||||
|
var usdtMicro = Number(
|
||||||
|
product.amount_usdt_micro ||
|
||||||
|
product.amountUsdtMicro ||
|
||||||
|
product.amount_micro ||
|
||||||
|
product.amountMicro ||
|
||||||
|
0
|
||||||
|
);
|
||||||
|
if (Number.isFinite(usdtMicro) && usdtMicro > 0) {
|
||||||
|
return usdtMicro / 1000000;
|
||||||
|
}
|
||||||
|
var minor = Number(
|
||||||
|
product.amount_minor || product.amountMinor || 0
|
||||||
|
);
|
||||||
|
if (Number.isFinite(minor) && minor > 0) {
|
||||||
|
return minor / 100;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user