新增拼团/套餐分享功能

This commit is contained in:
gyq
2025-12-25 15:38:00 +08:00
parent 448effd296
commit fbe170b254
18 changed files with 3789 additions and 1532 deletions

View File

@@ -1,6 +1,9 @@
import dayjs from 'dayjs';
import customParseFormat from 'dayjs/plugin/customParseFormat';
dayjs.extend(customParseFormat); // 注册插件
import {
BigNumber
} from "bignumber.js";
/**
* 过滤输入,只允许数字和最多两位小数
@@ -114,4 +117,30 @@ export function includesString(target, searchStr, options = {}) {
// 4. 执行包含判断
return processedTarget.includes(processedSearch);
}
}
/**
* 乘法计算并格式化结果
* @param {string|number} num1 - 第一个乘数
* @param {string|number} num2 - 第二个乘数
* @returns {string} 保留两位小数的结果(不四舍五入,补零)
*/
export const multiplyAndFormat = (num1, num2) => {
try {
// 转换为BigNumber使用字符串构造避免精度问题
const bigNum1 = new BigNumber(num1.toString());
const bigNum2 = new BigNumber(num2.toString());
// 1. 乘法计算
const product = bigNum1.multipliedBy(bigNum2);
// 2. 截断到两位小数(不四舍五入)
const truncated = product.decimalPlaces(2, BigNumber.ROUND_DOWN);
// 3. 格式化保留两位小数(补零)
return truncated.toFixed(2);
} catch (error) {
console.error('计算错误:', error);
return '0.00'; // 出错时返回默认值
}
};