export const checkPwdValid = (that, pwd) => {
  // 1、最少8位；
  // 2、含三种字符或以上（大写字母、小写字母、数字、特殊字符）；
  // 3、不能包含用户名；
  // 4、不能三个同样或连续字符；
  // let reg1 = /^(?=.{8})(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d).*$/;
  if(!(pwd && pwd.length >= 8)) {
    that.$message({
      type: "error",
      message: "密码长度最少为8位!"
    });
    return false;
  }
  let count = 0;
  // 包含数字
  let reg1 = /^(?=.*?[a-z]).*$/;
  if(reg1.test(pwd)) {
    count++;
  }
  // 包含小写
  let reg2 = /^(?=.*?[A-Z]).*$/;
  if(reg2.test(pwd)) {
    count++;
  }
  // 包含大写
  let reg3 = /^(?=.*?\d).*$/;
  if(reg3.test(pwd)) {
    count++;
  }
  // 特殊符号正则
  let reg4 = /^(?=.*?\W).*$/;
  if(reg4.test(pwd)) {
    count++;
  }
  if(count < 3) {
    /** 至少包含数字，大写，小写，特殊符号其中三种字符 */
    that.$message({
      type: "error",
      message: "密码中需要包含三种字符或以上（大写字母、小写字母、数字、特殊字符）!"
    });
    return false;
  }
  // 不能包含三个同样的字符，也不能出现连续字符
  let coutObj = {};
  // 用于判断是否出现连续字符串的
  let cc = '';
  let wList = pwd.split("");
  for(let i = 0; i < wList.length; i++) {
    let e = wList[i];
    if(cc && cc === e) {
      // 不能出现连续字符串
      that.$message({
        type: "error",
        message: "密码中不能出现连续的字符!"
      });
      return false;
    } else {
      cc = e;
    }
    if(coutObj[e]) {
      coutObj[e] += 1;
    } else {
      coutObj[e] = 1;
    }
  }
  for(let k in coutObj) {
    let e = coutObj[k];
    if(e >= 3) {
      that.$message({
        type: "error",
        message: "密码中相同的字符不能出现3次以上"
      });
      return false;
    }
  }
  return true;
}

export const option = {
  tabs: true,
  tabsActive: 1,
  group: [{
      label: '个人信息',
      prop: 'info',
      column: [{
          label: '头像',
          type: 'upload',
          listType: 'picture-img',
          propsHttp: {
            res: 'data',
            url: 'link',
          },
          canvasOption: {
            text: ' ',
            ratio: 0.1,
          },
          action: '/blade-resource/oss/endpoint/put-file',
          tip: '只能上传jpg/png用户头像，且不超过500kb',
          span: 12,
          row: true,
          prop: 'avatar',
        },
        {
          label: '姓名',
          span: 12,
          row: true,
          prop: 'realName',
        },
        {
          label: '用户名',
          span: 12,
          row: true,
          prop: 'name',
        },
        {
          label: '手机号',
          span: 12,
          row: true,
          prop: 'phone',
        },
        {
          label: '邮箱',
          prop: 'email',
          span: 12,
          row: true,
        },
      ],
    },
    {
      label: '修改密码',
      prop: 'password',
      column: [{
          label: '原密码',
          span: 12,
          row: true,
          type: 'password',
          prop: 'oldPassword',
        },
        {
          label: '新密码',
          span: 12,
          row: true,
          type: 'password',
          prop: 'newPassword',
        },
        {
          label: '确认密码',
          span: 12,
          row: true,
          type: 'password',
          prop: 'newPassword1',
        },
      ],
    },
  ],
};