共计 1335 个字符,预计需要花费 4 分钟才能阅读完成。
业务需要
当用户在注册时, 如果输出用户名, 则应该向 sso 单点登录零碎发动申请, 校验用户数据是否存在.
如果存在则提醒用户.
如果存在则提醒用户:
业务接口文档阐明
前端 JS 剖析
url 剖析
检索 JS 代码
JS 剖析
$.ajax({url : "http://sso.jt.com/user/check/"+escape(pin)+"/1?r=" + Math.random(), | |
dataType : "jsonp", | |
success : function(data) { | |
checkpin = data.data?"1":"0"; | |
if(data.status == 200){if (!data.data) {validateSettings.succeed.run(option); | |
namestate = true; | |
}else {validateSettings.error.run(option, "该用户名已占用!"); | |
namestate = false; | |
} | |
}else{validateSettings.error.run(option, "服务器正忙, 请稍后!"); | |
namestate = false; | |
} | |
} | |
}); |
编辑 SSO UserController
/** | |
* 业务阐明:jt-web 服务器获取 jt-sso 数据,JSONP 跨域申请 | |
* URL 地址:http://sso.jt.com/user/check/{param}/{type} | |
* 参数:param 参数,须要校验的数据,type 校验的类型 | |
* 返回值后果:SysResult 对象 | |
* 真是的返回值:callback(SysResult 的 JSON)* | |
*/@RequestMapping("/check/{param}/{type}") | |
public JSONPObject checkUser(@PathVariable String param, | |
@PathVariable Integer type, | |
String callback){ | |
//true 示意数据存在,false 示意数据能够应用 | |
boolean flag=userService.checkUser(param,type); | |
//int a=1/0; 测试 JSONP 全局异样 | |
return new JSONPObject(callback, SysResult.success(flag)); | |
} |
编辑 sso-service
/** | |
* 判断根据:依据用户名查问,如果后果 >0 示意用户曾经存在 | |
* @param param | |
* @param type | |
* @return | |
*/ | |
@Override | |
public boolean checkUser(String param, Integer type) {// 将 type 类型转换为具体字段信息 1=username 2=phone 3=email String column=columnMap.get(type); | |
QueryWrapper<User> queryWrapper=new QueryWrapper<>(); | |
queryWrapper.eq(column, param); | |
Integer count = userMapper.selectCount(queryWrapper); | |
return count>0;//return count>0?true:false; | |
} |
页面成果展现
正文完