自定义系统参数
3.2.3版本开始支持
主要解决用户登录后,传入后端业务接口
默认系统参数
不满足情况下使用。框架默认只会传入以下几个系统参数($userId()
、$userName()
、$loginNo()
、$ip()
),如果需要传入其他自定的系统参数,可以通过本文解决。
网关中实现自定义系统参数接口
实现自定义系统参数接口,并返回系统参数对象
需要继承com.wueasy.gateway.security.service.CustomParameterService
接口,并实现里面的getSystemCustomParameterDataMap
获取系统自定义参数方法。
/**
* 自定义系统参数
* @author: fallsea
* @version 1.0
*/
@Service
public class CustomParameterServiceImpl implements CustomParameterService {
@Override
public DataMap getSystemCustomParameterDataMap(HttpServletRequest request) {
DataMap data = new DataMap();
//建议系统参数key以下划线开头
data.set("_xxx", System.currentTimeMillis());
return data;
}
}
bus接口中获取自定义系统参数
1.4.0
开始支持
可以自定义系统参数获取规则。
- 在
functions
文件夹中新增一个验证文件systemParameter.xml
,文件名称可以随意命名。 - 新增一个系统参数获取规则,如下代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE systemParameters PUBLIC "-//wueasy.com//DTD wueasy 1.0 Transitional//EN" "https://www.wueasy.com/dtd/wueasy.dtd">
<systemParameters>
<parameter name="$xxx()" value="_xxx" description="测试"/>
</systemParameters>
parameter
├── $xxx() -- 自定义系统参数名称,唯一,必须以`$`开头
├── value -- 参数对应的取值属性,对应自定义系统参数设置的key
├── description -- 描述
功能号中配置
在参数配置中
value
或defaultValue
指定配置获取系统参数$xxx()
<function id="D1000" type="s">
<params>
<param id="xxx" name="xxx" value="$xxx()"/>
</params>
<resource>DemoService.select</resource>
<description>新增</description>
</function>