代码拉取完成,页面将自动刷新
生成rsa公钥和私钥
@Override
public Message getPublicKey() {
Message<HashMap> message = new Message();
HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
objectObjectHashMap.put("hydrogen-Server",true);
// publickey 需要用用 RSA生成
RSAUtils rsaUtils = new RSAUtils();
rsaUtils.iniRSA();
objectObjectHashMap.put(rsaUtils.PUBLIC_KEY, rsaUtils.RSAkeyMap.get(rsaUtils.PUBLIC_KEY));
message.setData(objectObjectHashMap);
message.initSuccessMessage();
return message;
}
密文解析且token生成
@Override
public Message login(LoginForm loginForm) {
Message<HashMap> message = new Message();
// RSA解码
String param = loginForm.getParam();
RSAUtils rsaUtils = new RSAUtils();
String s = rsaUtils.privateKeyDecrypt(param);
JSONUtil jsonUtil = new JSONUtil();
JSONObject jsonObject = jsonUtil.parseObj(s);
String account = String.valueOf(jsonObject.get("username"));
String password = String.valueOf(jsonObject.get("password"));
// 使用账号与数据库对比验证
QueryWrapper<User> qw = new QueryWrapper<>();
qw.eq("account", account);
List<User> users = userMapper.selectList(qw);
if (users.size() == 0){
message.initErrorMessage();
return message;
}
for (User user : users) {
// 验证密码是否正确
boolean b = user.getPassword().equals(password);
if (b) {
// Token 需要用java包生成
JWTUtils jwtUtils = new JWTUtils();
String token = jwtUtils.getToken(account,password);
// token 写入数据库
user.setAccesstoken(token);
userMapper.updateById(user);
// token返回前端
HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
objectObjectHashMap.put("accessToken",token);
message.setData(objectObjectHashMap);
message.initSuccessMessage();
return message;
}
}
return null;
}
权限获取
@Override
public Message getUserInfo(LoginForm loginForm) {
String accessToken = loginForm.getAccessToken();
Message<HashMap> message = new Message();
HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
objectObjectHashMap.put("accessToken",accessToken);
// 凭借token拿 用户的信息,包括权限
// 根据token查询数据库
QueryWrapper<User> qw = new QueryWrapper<>();
qw.eq("accessToken", accessToken);
List<User> users = userMapper.selectList(qw);
if (users.size() == 0){
return null;
}
for (User user : users) {
objectObjectHashMap.put("username",user.getUsername());//用户名字
ArrayList<String> permissions = new ArrayList<>();//用户权限
permissions.add("admin");
permissions.add("editor");
objectObjectHashMap.put("permissions",permissions);
ArrayList<String> avatar = new ArrayList<>();//用户头像链接
avatar.add("https://i.gtimg.cn/club/item/face/img/2/15922_100.gif");
avatar.add("https://i.gtimg.cn/club/item/face/img/8/15918_100.gif");
objectObjectHashMap.put("avatar","https://baomidou.com/img/logo.svg");
}
message.setData(objectObjectHashMap);
message.initSuccessMessage();
return message;
}
获取用户列表且实现分页数据查询,不仅加快后端查询能力且减轻前端数据渲染压力。同时还加了指定用户名的搜索功能
@Override
public Message getList(UserManageForm userManageForm) {
System.out.println(userManageForm);
//获取前台发送过来的数据
System.out.println(userManageForm);
Integer pageNo = Integer.valueOf(userManageForm.getPageNo());
Integer pageSize = Integer.valueOf(userManageForm.getPageSize());
Page<User> page = new Page<>(pageNo, pageSize);
Page<User> userPage;
// 携带用户名的特定搜索
String username = userManageForm.getUsername();
if (username != null){
QueryWrapper<User> wrapper = new QueryWrapper<>();
User user = new User();
user.setUsername(username);
wrapper.setEntity(user);
userPage = this.page(page, wrapper);
}else {
userPage = this.page(page, null);
}
Message message = new Message();
message.setTotalCount(Math.toIntExact(userPage.getTotal()));
List<User> records = userPage.getRecords();
message.setData(records);
message.initSuccessMessage();
return message;
}
修改用户信息
删除用户
根据用户的id来进行删除操作
@Override
public Message doDelete(doDeleteForm doDeleteForm) {
String ids = doDeleteForm.getIds();
String[] strings = ids.split(",");
for (String s : strings) {
System.out.println(s);
userMapper.deleteById(s);
}
Message message = new Message();
message.initSuccessMessage();
return message;
}
从python模拟数据采集到后端处理再反馈前端的流程解析
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。