使用异步注册,优化注册体验

This commit is contained in:
F嘉阳
2018-02-26 10:44:19 +08:00
parent 5dfad30e15
commit cde150deb3
3 changed files with 54 additions and 5 deletions

View File

@@ -38,7 +38,8 @@ public class RegisterController {
HttpServletRequest request; HttpServletRequest request;
@PostMapping(value = "/register/doregister") @PostMapping(value = "/register/doregister")
public String doRegister(@Valid TbUser tbUser, BindingResult bindingResult)throws Exception{ @ResponseBody
public boolean doRegister(@Valid TbUser tbUser, BindingResult bindingResult)throws Exception{
if (bindingResult.hasErrors()){ if (bindingResult.hasErrors()){
ResultEnum resultEnum = ResultEnum.WRONG_FORM; ResultEnum resultEnum = ResultEnum.WRONG_FORM;
resultEnum.setData(bindingResult.getFieldError().getDefaultMessage()); resultEnum.setData(bindingResult.getFieldError().getDefaultMessage());
@@ -47,8 +48,9 @@ public class RegisterController {
//加密用户密码 //加密用户密码
tbUser.setColpassword(new BigInteger(CodingUtil.encryptSHA(tbUser.getColpassword().getBytes())).toString(32)); tbUser.setColpassword(new BigInteger(CodingUtil.encryptSHA(tbUser.getColpassword().getBytes())).toString(32));
if (userService.doRegisterService(tbUser)){ if (userService.doRegisterService(tbUser)){
return "redirect:" + request.getScheme() + "://" + request.getServerName() + ":" return true;
+ serverProperties.getPortNum() + request.getContextPath() + "/index"; /*return "redirect:" + request.getScheme() + "://" + request.getServerName() + ":"
+ serverProperties.getPortNum() + request.getContextPath() + "/index";*/
// return "login"; // return "login";
} }
throw new UserException(ResultEnum.UNKOWN_ERROR); throw new UserException(ResultEnum.UNKOWN_ERROR);

View File

@@ -350,6 +350,53 @@ var Main = {
} }
}); });
}, },
clickToRegister(formName){
this.$refs[formName].validate((valid) => {
var that = this;
if (valid) {
axios({
url: getRootPath_web()+'/register/doregister',
method: 'post',
data: {
colname :outSideThis.ruleForm2.colname.value,
colpassword:outSideThis.ruleForm2.colpassword.value,
colemail:outSideThis.ruleForm2.colemail.value,
colstudentno:outSideThis.ruleForm2.colstudentno.value,
colrealname:outSideThis.ruleForm2.colrealname.value
},
transformRequest: [function (data) {
// Do whatever you want to transform the data
let ret = '';
for (let it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
}
return ret
}],
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).then(function (response) {
console.log(response.data);
if (response.data===true){
that.openNotiSuccess("成功", "注册成功,请切换至登录选项!");
}else {
that.openNotiError("错误", response.data.message);
}
}).catch(function (error) {
console.log(error);
that.openNotiError("错误", "服务器错误!");
});
//console.log(this.$refs.content.value)
//this.openNotiSuccess("成功", "修改成功!")
//this.$options.methods.openNotiSuccess.bind(this)();
//alert('submit!');
} else {
console.log('error submit!!');
that.openNotiError("错误", "表单填写错误!");
return false;
}
});
},
showMsg(msg) { showMsg(msg) {
this.$message({ this.$message({
message: msg, message: msg,

View File

@@ -51,7 +51,7 @@
:model="ruleForm2" status-icon :rules="rules2" ref="ruleForm2" :model="ruleForm2" status-icon :rules="rules2" ref="ruleForm2"
label-width="100px" class="demo-ruleForm" label-width="100px" class="demo-ruleForm"
action="/cms/register/doregister" action="/cms/register/doregister"
method="POST" name="register"> method="POST" name="ruleForm2">
<el-form-item label="用户名" <el-form-item label="用户名"
prop="colname"> prop="colname">
<el-input <el-input
@@ -86,7 +86,7 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" <el-button type="primary"
native-type="submit">提交 @click="clickToRegister('ruleForm2')">提交
</el-button> </el-button>
<el-button @click="resetForm('ruleForm2')">重置</el-button> <el-button @click="resetForm('ruleForm2')">重置</el-button>
</el-form-item> </el-form-item>