feat: 7月迭代
All checks were successful
构建并部署前端到生产环境 / build-and-deploy (push) Successful in 1m11s

This commit is contained in:
luo
2026-07-27 18:13:19 +08:00
parent 6a794d88af
commit 4f281da778
27 changed files with 1176 additions and 167 deletions

21
utils/payment-methods.js Normal file
View File

@@ -0,0 +1,21 @@
export const PAYMENT_METHOD_LABELS = {
wechat: '微信支付',
alipay: '支付宝支付',
wallet: '钱包支付'
};
export const normalizePaymentMethods = (methods) => {
if (!Array.isArray(methods)) return [];
return [...new Set(methods.filter((method) => Object.prototype.hasOwnProperty.call(PAYMENT_METHOD_LABELS, method)))];
};
export const getPaymentMethodOptions = (methods, preferredOrder = ['alipay', 'wechat', 'wallet']) => {
const normalized = normalizePaymentMethods(methods);
return preferredOrder
.filter((method) => normalized.includes(method))
.map((value) => ({ value, label: PAYMENT_METHOD_LABELS[value] }));
};
export const getDefaultPaymentMethod = (methods, preferredOrder) =>
getPaymentMethodOptions(methods, preferredOrder)[0]?.value || '';