import { fmoney } from '@/utils/index.js';

/**
 * 金额处理 中文，分隔千位(不能转化为num的传入值直接返回)
 * @param {Number/String} num 需要转换的值
 * @param {String} unit 单位 默认单位符号为￥
 * @param {Number} fix 单位 默认保留两位小数
 * @param {Boolean} needUnit 单位 默认返回单位
 * @return {String}
 */
export const amountFormat = (num, unit = '￥', fix = 2, needUnit = true) => {
  const n1 = Number(num);
  if (isNaN(n1)) {
    return num;
  }
  return `${needUnit ? unit : ''}${fmoney(n1, fix)}`;
};

/**
 * 脱敏处理 截取前m位，后n位，敏感符号unit默认为*
 * @param {Number/String} num 需要转换的值
 * @param {Number} m 截取前m位
 * @param {Number} n 截取后n位
 * @param {String} u 数位
 * @param {String} unit 敏感符号
 * @return {String}
 */
export const sensitive = (num, m = 3, n = 4, u = 4, unit = '*') => {
  return (
    num.slice(0, m) +
    Array(u)
      .fill(unit)
      .join('') +
    num.slice(-n)
  );
};

export default {
  amountFormat,
};
