写个自定义函数,加载的时候去调用一下这个自定义函数,执行获取这个redis数据
自定义函数
package com.fr.plugin;
import com.fr.log.FineLoggerFactory;
import com.fr.script.AbstractFunction;
import com.fr.third.redis.clients.jedis.Jedis;
/**
* packageName: com.fr.function
* @version: JDK 8
* @className: GetRedis
* @date: 2025/7/27
* @description: 自定义函数通过输入工号获取token
*/
public class GetRedis extends AbstractFunction {
public Object run(Object[] args) {
FineLoggerFactory.getLogger().info("开始获取Redis里的token!");
//获取传入函数的工号
Object userNo=args[0];
FineLoggerFactory.getLogger().info("需要获取token的工号:"+userNo);
//实列化Redis
Jedis jedis = new Jedis();//不穿参数默认是localhost 6379
//通过输入的工号获取token
String token = jedis.get(userNo.toString());
FineLoggerFactory.getLogger().info("获取的token:"+token);
jedis.close();
return token;
}
}
//报表加载结束事件
var userNo='123'
//调用自定义函数
var myToken=FR.remoteEvaluate('=GetRedis('+userNo+')');