一、获取加密二维码数据
SDK接口方法:HttpSweepCodeUtil.getEncryptionQRCodeContent
入参:EncryptionSweepCodeDto encryptionSweepCodeDto
返回值:SweepCodeResult<QRCodeContentVo>
2、请求参数
参数名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
encryptionSweepCodeDto | 对象 | ||
┗ unifiedTransactionCode | varchar(50) | 是 | 机构交易码 |
┗ personalTransactionCode | varhcar(50) | 是 | 个人交易码 |
┗ platformCode | carchar(11) | 是 | 平台标识码,中招招标投标公共服务平台统一提供 |
┗ loginUserType | carchar(2) | 是 | 用户类型01个人登录02机构登录 |
3、响应参数
参数名称 | 类型 | 描述 |
---|---|---|
header | 响应头 | |
┗ returnCode | String | 0成功 1失败 |
┗ msg | String | 状态结果说明 |
data | map | QRCodeContentVo |
┗ tId | varchar(50) | 事件ID(uuid) |
┗ content | String | 二维码包含的内容 |
4、请求示例
(1).Controller层:
@RequestMapping(value = "/getEncryptionQRCodeContent",method = {RequestMethod.POST, RequestMethod.GET})
public Object getEncryptionQRCodeImage(EncryptionQRCodeParameterVo encryptionQRCodeParameterVo) {
//详细内容请进入 getEncryptionQRCodeContent 内部查看
SweepCodeResult<QRCodeContentVo> encryptionQRCodeContent = encryptionService.getEncryptionQRCodeContent(encryptionQRCodeParameterVo);
return encryptionQRCodeContent;
}
(2).Service层:
@Override
public SweepCodeResult<QRCodeContentVo> getEncryptionQRCodeContent(EncryptionQRCodeParameterVo encryption){
SweepCodeResult<QRCodeContentVo> encryptionQRCodeContent = null;
try {
//装入需要的数据
EncryptionSweepCodeDto encryptionSweepCode = new EncryptionSweepCodeDto();
encryptionSweepCode.setUserType(encryption.getUserType());
encryptionSweepCode.setPlatformCode(encryption.getPlatformCode());
encryptionSweepCode.setUnifiedTransactionCode(encryption.getUnifiedTransactionCode());
encryptionSweepCode.setPersonalTransactionCode(encryption.getPersonalTransactionCode());
//使用SDK:HttpSweepCodeUtil.getEncryptionQRCodeContent方法获取二维码数据 (SDK接口里包含二维码数据content,和tId)。
encryptionQRCodeContent = HttpSweepCodeUtil.getEncryptionQRCodeContent(encryptionSweepCode);
} catch (Exception e) {
e.printStackTrace();
}
return encryptionQRCodeContent;
}
5、响应示例
{
"header": {
"returnCode": "0",
"msg": "获取成功",
"size": null
},
"data": {
"content": "http://\*\*\*\*\*\*/app/app.html?UVJDb2RlVHlwZT0wNjtUSWQ9N2E0NGR……lclR5cGU9MDM7bG9naW5DZXJ0VHlwZSA9MDM7",
"tid": "7a44dde0653747d289f3c9e2b2d45cee"
}
}
二、生成加密二维码图片
SDK接口方法:HttpSweepCodeUtil. encodeQrcode();
入参: String content
返回值:SweepCodeResult<QRCodeContentVo>
1、请求参数
参数名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
content | String | 是 | 获取二维码数据的返回结果 |
2、响应参数
参数名称 | 类型 | 描述 |
---|---|---|
header | 响应头 | |
┗ returnCode | String | 0成功 1失败 |
┗ msg | String | 状态结果说明 |
data | 对象 | BufferedImage(图片对象,java.awt.image.BufferedImage;) |
3、请求示例
(1).Controller层:
@RequestMapping(value = "/getQRCode",method = {RequestMethod.POST, RequestMethod.GET})
public void getQRCode(String content,HttpServletResponse response,HttpServletRequest request){
loginDemoService.getQRCode(content, response, request);
}
(2).Service层:
public void getQRCode(String content,HttpServletResponse response,HttpServletRequest request){
//使用SDK里的方法生成登录二维码图片
SweepCodeResult<BufferedImage> sweepCode = HttpSweepCodeUtil.encodeQrcode(content);
if(CommonConstants.RESULT_SUCCESS.equals(sweepCode.getHeader().getReturnCode())){
try {
ImageIO.write(sweepCode.getData(), "png", response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
}
}
4、响应示例
{
"header": {
"returnCode": "0",
"msg": "成功",
"size": null
},
"data": "BufferedImage"
}