IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> github上jeesite-api的使用 -> 正文阅读

[开发测试]github上jeesite-api的使用

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());
		//这device_id我不知道是什么,直接写个String了
		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

登录成功了

目前就研究到了这些

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 13:03:57  更:2022-05-09 13:04:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 6:21:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码