一)导入相关依赖:
一定要添加这个最新的依赖,否则各种报错!!!
<!--userSig依赖-->
<dependency>
<groupId>com.github.tencentyun</groupId>
<artifactId>tls-sig-api-v2</artifactId>
<version>2.0</version>
</dependency>
二)在yml文件中配置相关密钥信息:
IMConfig:
sdkAppId: 你的sdkAppId
secretKey: 你的密钥
三)书写Java代码:
//1、controller
@PostMapping("/getUserTim")
@Operation(summary = "获取sig和用户id")
public R getUserTim(){
Integer userId = Util.getUserId();
userTim userTim = userService.getUserTimService(userId);
return new R().put("userInfo",userTim);
}
//2、service:
import com.tencentyun.TLSSigAPIv2;
@Value("${IMConfig.sdkAppId}")
private long sdkAppId;
@Value("${IMConfig.secretKey}")
private String secretKey;
private long expire = 60*60*24*7; //过期时间设置为七天
@Override
public userTim getUserTimService(Integer userId) {
String id = userId+"";//参数必须是字符串类型
//核心逻辑就下面两步
//1、加密参数
TLSSigAPIv2 api = new TLSSigAPIv2(sdkAppId, secretKey);
//2、加密方法,结果是一个字符串
String sig = api.genUserSig(id, expire); //得到加密之后的sig
//封装返回给前端的数据
userTim userTim =new userTim();
userTim.setUserId(userId);
userTim.setUserSig(sig);
return userTim;
}