/// <summary> /// /// </summary> /// <param name="openId"></param> /// <param name="activityId"></param> /// <param name="userId"></param> /// <param name="ownerUserId"></param> /// <param name="publicityId"></param> /// <returns></returns> private ScanQrCodeResult ScanCode(string openId, string activityId, string userId, string ownerUserId, string publicityId) { ScanQrCodeResult result = new ScanQrCodeResult(); try { var httpClient = new HttpClient(); var requestJson = JsonConvert.SerializeObject(new { openid = openId, userId, activityId, ownerUserId, publicityId, }); var responseJson = HttpClientHelper.Post(ScanCodeUrl, requestJson); AbpResult <ScanQrCodeResult> scanCodeResult = JsonConvert.DeserializeObject <AbpResult <ScanQrCodeResult> >(responseJson); if (scanCodeResult != null && scanCodeResult.result != null) { result = scanCodeResult.result; } else if (scanCodeResult == null || scanCodeResult.result == null) { result.IsSucess = false; result.Message = $"<h1>服务器出现错误,请稍后在扫码!{responseJson}</h1>"; } else if (scanCodeResult.result != null && scanCodeResult.result.InnerCode == null && scanCodeResult.result.QrCodeActivity == null) { result.IsSucess = false; result.Message = $"<h1>{scanCodeResult.result.Message}</h1>"; } else if (scanCodeResult.result.InnerCode != null && string.IsNullOrEmpty(scanCodeResult.result.InnerCode.HeaderImg)) { scanCodeResult.result.InnerCode.HeaderImg = "http://qrcodes-mskb.oss-cn-shanghai.aliyuncs.com/%E5%A4%B4%E5%83%8F.png"; } } catch (Exception ex) { result.IsSucess = false; result.Message = $"扫码错误:{ex.Message}</h1>"; } return(result); }
/// <summary> /// 报名 /// </summary> /// <param name="input"></param> /// <returns></returns> public ActionResult SignUp(ScanQrCodeResult scanQrCodeResult) { var input = scanQrCodeResult.QrCodeActivity; ViewBag.activityId = input.Id; if (!string.IsNullOrEmpty(input.RegiterItemClass) && !string.IsNullOrWhiteSpace(input.RegiterItemClass)) { string html = $"<form role=\"form\" id='signUpForm' action=\"{Url.Action("SignUpCommit")}\" method=\"post\" autocomplete=\"off\">"; html += $"<fieldset><input type=\"hidden\" id=\"ActivityId\" name=\"ActivityId\" value=\"{input.Id}\" />"; html += $"<input type=\"hidden\" id=\"userId\" name=\"userId\" value=\"{ViewBag.userId}\" />"; html += $"<input type=\"hidden\" id=\"ownerUserId\" name=\"ownerUserId\" value=\"{ViewBag.ownerUserId}\" />"; html += $"<input type=\"hidden\" id=\"publicityId\" name=\"publicityId\" value=\"{ViewBag.publicityId}\" />"; html += $"<input type=\"hidden\" id=\"JumpToCustomService\" name=\"JumpToCustomService\" value=\"{input.JumpToCustomService}\" />"; html += $"<input type=\"hidden\" id=\"CustomServiceUrl\" name=\"CustomServiceUrl\" value=\"{scanQrCodeResult.CustomServiceUrl}\" />"; html += $"<input type=\"hidden\" id=\"openid\" name=\"openid\" value=\"{ViewBag.openid}\" />"; html += $"<input type=\"hidden\" id=\"RegistrationUserId\" name=\"RegistrationUserId\" value=\"{input.RegistrationUserId}\" />"; html += $"<input type=\"hidden\" id=\"RegistrationUserName\" name=\"RegistrationUserName\" value=\"{input.RegistrationUserName}\" />"; //html += $"<div id=\"legend\" class=\"text-center\"><legend class=\"\">{input.Name}</legend></div>"; if (!string.IsNullOrWhiteSpace(input.RegisterImageUrl)) { html += $"<img id=\"topImg\" class=\"img-responsive\" src=\"{input.RegisterImageUrl}\"></img>"; } var itemClass = input.RegiterItemClass.Split(','); foreach (var item in itemClass) { var items = item.Split('|'); if (items.Length == 4) { html += $"<div class=\"form-group\"><label for=\"{items[0]}\" class=\"col-sm-2 control-label\">{items[1]}</label>"; string htmlType; string htmlClass; switch (items[2]) { case "文本框": case "身份证号码": case "邮箱": htmlClass = "form-control"; htmlType = "text"; html += $"<div class=\"col-sm-10\"><input type=\"{htmlType}\" class=\"{htmlClass}\" id=\"{items[0]}\" name=\"{items[0]}\"></div>"; break; case "地址": html += "<div ><div id=\"distpicker\" ><div class=\"form-group\"><div style=\"position: relative; \"><input id=\"city-picker3\" class=\"form-control\" readonly type=\"text\" name='RangeAddress' Id='RangeAddress' data-toggle=\"city-picker\"></div></div></div></div>"; break; case "日期": htmlClass = "form-control datepicker"; htmlType = "text"; html += $"<div class=\"col-sm-10\"><input type=\"{htmlType}\" class=\"{htmlClass}\" id=\"{items[0]}\" name=\"{items[0]}\"></div>"; break; case "单选框": htmlType = "radio"; htmlClass = "form-control"; html += $"<div class=\"col-sm-10\"><input type=\"{htmlType}\" class=\"{htmlClass}\" id=\"{items[0]}\" name=\"{items[0]}\"></div>"; break; case "下拉选项": html += $"<div class=\"col-sm-10\"> <select class=\"form-control\" id=\"{items[0]}\" name=\"{items[0]}\">"; if (items[1] == "选择班型" && !string.IsNullOrEmpty(input.ClassType)) { var classType = input.ClassType.Split(','); foreach (var classTy in classType) { html += $"<option value=\"{classTy}\">{classTy}</option>"; } } else if (items[1] == "年级") { GetGradeAll(); foreach (var grade in GradeDtos) { html += $"<option value=\"{grade.Name}\">{grade.Name}</option>"; } } html += "</select></div>"; break; case "手机号码": htmlType = "text"; htmlClass = "form-control"; html += $"<div class=\"col-sm-10\"><input type=\"{htmlType}\" class=\"{htmlClass}\" id=\"{items[0]}\" name=\"{items[0]}\"></div>"; html += "</div>"; if (input.PhoneNumberNeedsVilidation.HasValue && input.PhoneNumberNeedsVilidation.Value) { html += " <div class=\"input-group\"><div class=\"col-sm-10 top-left\"><input class=\"btn btn-info\" type=\"button\" id=\"getcode\" value=\"点击获取手机验证码\" /><span id = \"telephonenameTip\" ></span></div></div>"; htmlType = "text"; htmlClass = "form-control"; html += $"<div class=\"form-group\"><label for=\"SmsCode\" class=\"col-sm-2 control-label\" style=\"margin-top:10px\">验证码</label>"; html += $"<div class=\"col-sm-10\"><input type=\"{htmlType}\" class=\"{htmlClass}\" id=\"SmsCode\" name=\"SmsCode\"></div>"; } break; default: htmlType = "text"; htmlClass = "form-control"; break; } html += "</div>"; } } html += "<div class=\"form-group text-center\"><button type=\"button\" id=\"submitBtn\" name=\"submit\" class=\"btn btn-primary btn-lg\"> <span class=\"glyphicon glyphicon-floppy-disk\" aria-hidden=\"true\"></span>报名</button><div></fieldset></form>"; ViewBag.ContentHtml = html; } return(View("SignUp", input)); }