https://github.com/javyuan/jeesite-api/ 前因:由于jeesite4后底层不开源,但是我有一定需要,想将jeesite1.37与移动端能交互;在研究了4的移动端uni-app代码觉得不错; 但是找了全网也没有合适的开源代码;只在github上看到了这个; 但是这个代码缺少说明,使用起来是真的难受;根本不会用;
在数据库CUser表中有部分注释,但是也是不够看的
在研究了两个上午之后,作出以下我理解的说明:
注册
在按照github上的说明部署以后,在jeesite的网页端没有问题都是正常admin密码可以登录; 但是移动端api不行;会抛出token不能为空的错误,而且还乱码;
在查看了数据库结构后,发现数据库中没有用户名与密码需要写入一个;
但是调用 http://localhost:8080/jeesite_api_master_war_exploded/api/1.0/user/register?userName=13800001111&password=PassW0rd是不行的,需要token, 而调用getToken方法又需要sign
sign的结构代码中有说明如下
/**
* 获取UserToken
* 请求URL示例:http://localhost:8080/hands/api/1.0/user/getToken?sign=xxxxxxxxxxxxxxxxxxxxx
* sign = AES(PARAM_KEY + ":" + DEVICE_ID + ":" + TIMESTAMP)
* 防止该接口被恶意调用数据库频繁插入C_USER表
*/
我不可能自己用AES加密吧?
自己写了个方法getSign
在CLoginController中写了一个方法如下,希望输出sign给我,我拿着sign就可以getToken
@RequestMapping(value="getSign")
@ResponseBody
public ApiResponse getSign(UserDomain domain){
String key = Global.getConfig("PARAM_KEY");
String timeNow=String.valueOf(System.currentTimeMillis());
String aesString=key+":"+"DEVICE_ID"+":"+timeNow;
String sign=Cryptos.aesEncrypt(aesString,key);
return ApiResponse.successMessage("成功", sign);
}
但是还是报错,说Token不能为空
那我就把其中报错的部分注释掉了,我的理解是在controller之前会检查token 并且还写了一句
UserToken ut=new UserToken("1","0");
我直接跳过检查给你new一个
继续
这样的话,执行下面就可以获得sign了 http://localhost:8080/jeesite_api_master_war_exploded/api/1.0/user/getSign?token=1
我又拿着sign去获得token http://localhost:8080/jeesite_api_master_war_exploded/api/1.0/user/getToken?sign=b8162545b1d675150c1ed7beb04a87291059468c08263d36212ae208f24cbe38e8dbbabf9185a8fd13ee3d16229c60c53f53ffe6b56a9dc1376eee79afdf279a 也获取到了
注册
我又拿着token去注册
http://localhost:8080/jeesite_api_master_war_exploded/api/1.0/user/register?userName=13800001111&password=PassW0rd&token=d7e710bbcf72f0d5c55a7769cc42a87b363a9c99eb2dd64ea01b4db0c9b5818e99ad1b3dc78cbadd8c9796d621188b38
注册的时候报错 说验证码不正确,我上哪搞验证码去,所以我直接把controller中的那校验验证码的部分注释了
终于注册成功了
登录
我又拿着注册的用户名密码和token http://localhost:8080/jeesite_api_master_war_exploded/api/1.0/user/login?userName=13800001111&password=PassW0rd&token=d7e710bbcf72f0d5c55a7769cc42a87b363a9c99eb2dd64ea01b4db0c9b5818e99ad1b3dc78cbadd8c9796d621188b38
登录成功了
目前就研究到了这些
|