// // Created by dongl on 23-5-10. // #include #include "PEVerifCodeService.h" #include "send_email.h" std::string PEVerifCodeService::gen_code() { std::string code; for (int i = 0; i < 6; ++i) { code.push_back((char )std::experimental::randint(48, 57)); // 0-9 } emailcode = code; return code; } mp::sri* PEVerifCodeService::send_email(const std::string &target_email, const std::string &code) { sri_clear(); emailcode = code == "0" ? emailcode : code; // 检查发送验证码 bool state = send_email_def(target_email, emailcode); // 检查邮箱 auto [is_exist, user] = userDb.select_user(target_email, "email"); if (is_exist) { sri->set_subcommand(mp::MP_SUB_TYPE::MP_REGISTER_FAIL); sri->set_msg("邮箱已使用!"); } else if (state) { sri->set_subcommand(mp::MP_SUB_TYPE::MP_CODE_SUCCESS); sri->set_msg("验证码已发送"); } else { sri->set_subcommand(mp::MP_SUB_TYPE::MP_CODE_FAIL); sri->set_msg("未知问题,验证码获取失败"); } return sri; }