/**
 * 重置图片和移动条的尺寸。
 *
 * @param {Object} vm - Vue 组件实例，包含 imgSize 和 barSize 属性。
 *                      imgSize 包含图片的宽度和高度信息。
 *                      barSize 包含移动条的宽度和高度信息。
 * @returns {Object} 返回一个对象，包含重置后的图片和移动条的尺寸信息。
 */
export function resetSize(vm) {
  // 定义变量来存储图片和移动条的宽度、高度
  let img_width, img_height, bar_width, bar_height;

  // 获取父容器的宽度和高度，默认为窗口的宽度和高度
  const parentWidth = vm.$el.parentNode.offsetWidth || window.innerWidth;
  const parentHeight = vm.$el.parentNode.offsetHeight || window.innerHeight;

  // 计算图片的宽度
  if (vm.imgSize.width.indexOf('%') !== -1) {
    // 如果宽度是百分比，则根据父容器宽度计算实际像素值
    img_width = (parseInt(vm.imgSize.width) / 100 * parentWidth) + 'px';
  } else {
    // 否则直接使用提供的宽度值
    img_width = vm.imgSize.width;
  }

  // 计算图片的高度
  if (vm.imgSize.height.indexOf('%') !== -1) {
    // 如果高度是百分比，则根据父容器高度计算实际像素值
    img_height = (parseInt(vm.imgSize.height) / 100 * parentHeight) + 'px';
  } else {
    // 否则直接使用提供的高度值
    img_height = vm.imgSize.height;
  }

  // 计算移动条的宽度
  if (vm.barSize.width.indexOf('%') !== -1) {
    // 如果宽度是百分比，则根据父容器宽度计算实际像素值
    bar_width = (parseInt(vm.barSize.width) / 100 * parentWidth) + 'px';
  } else {
    // 否则直接使用提供的宽度值
    bar_width = vm.barSize.width;
  }

  // 计算移动条的高度
  if (vm.barSize.height.indexOf('%') !== -1) {
    // 如果高度是百分比，则根据父容器高度计算实际像素值
    bar_height = (parseInt(vm.barSize.height) / 100 * parentHeight) + 'px';
  } else {
    // 否则直接使用提供的高度值
    bar_height = vm.barSize.height;
  }

  // 返回包含重置后尺寸的对象
  return { imgWidth: img_width, imgHeight: img_height, barWidth: bar_width, barHeight: bar_height };
}

// 验证码字符集，包含数字和字母（不包括0和O，避免混淆）
export const _code_chars = [
  1, 2, 3, 4, 5, 6, 7, 8, 9,
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
  'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
];

// 验证码背景颜色集合，浅色系
export const _code_color1 = ['#fffff0', '#f0ffff', '#f0fff0', '#fff0f0'];

// 验证码前景颜色集合，多种颜色以增加辨识度
export const _code_color2 = ['#FF0033', '#006699', '#993366', '#FF9900', '#66CC66', '#FF33CC'];
