目标
通过本章节介绍可以预定义套件中工程要用到的参数声明,利于在安装套件时进行配置实际的参数
说明
为了支持项目独立性,该功能会实现一个通用的适配器来适配云与本地的数据。
用户在访问微应用的时候,app、web 都有需要获取到应用的企业配置的基本属性配置。
开发者:
开发者创建项目 -> 配置参数
企业管理员:
安装套件 -> 配置套件参数
开发者配置的参数是默认配置,最终使用是以企业管理员配置为准
开发者配置
操作: 应用套件 -> 参数管理
新增
企业管理员配置
操作:企业控制台 -> 应用 -> 配置 -> 参数配置
使用
前端工程使用
需要在Application.java
启动类添加@EnablePaiConfig
注解
在Swagger会出现应用参数的接口
这里有两个关键接口
1、通过套件Code获取应用的参数配置
请求参数
- appCode 套件标识
- entId 企业id
返回:
{
"code": "200",
"data": {
"items": [
{
"itemName": "微信appid",
"itemType": "text",
"itemValue": "wx825751f92e719951",
"itemKey": "wx-appid",
"itemDefaultValue": "wx825751f92e719951",
"itemFormat": null
},
{
"itemName": "微信商户mchId",
"itemType": "text",
"itemValue": "123",
"itemKey": "wx-mchId",
"itemDefaultValue": null,
"itemFormat": null
}
],
"roles": [
"cars"
],
"perms": [
"cars:delete",
"cars:update",
"cars:add"
]
},
"time": 1648016326774,
"msg": "操作成功",
"annex": null,
"success": true
}
2、通过套件Code获取角色权限
请求参数
- appCode 套件标识
- entId 企业id
- uid 用户id
返回:
{
"code": "200",
"data": {
"roles": [
"cars"
],
"perms": [
"cars:add",
"cars:update",
"cars:delete"
]
},
"time": 1648018506323,
"msg": "操作成功",
"annex": null,
"success": true
}
通过这个接口前端可以对用户实现权限控制
后端代码调用
IConfigAppService.java 提供的接口方法去获取参数配置,使用以下
@Resource
private IConfigAppService configAppService;
包含的方法
@ApiOperation("获取用户在这个套件所有的权限")
@GetMapping({"/sysFormPermission/v1/findAppPerms"})
Reply<UserRolePermission> findAppPerms(@RequestParam("suiteId") String var1, @RequestParam("uid") String var2, @RequestParam("entId") String var3, @RequestHeader("from") String var4);
@ApiOperation("获取用户在这个套件所有的权限")
@GetMapping({"/sysFormPermission/v1/findAppPermsByCode"})
Reply<UserRolePermission> findAppPermsByCode(@RequestParam("suiteCode") String var1, @RequestParam("uid") String var2, @RequestParam("entId") String var3, @RequestHeader("from") String var4);
@ApiOperation("获取用户在这个企业所有的套件权限")
@GetMapping({"/sysFormPermission/v1/findAppPermsByEnt"})
Reply<UserRolePermission> findAppPermsByEnt(@RequestParam("entId") String var1, @RequestParam("uid") String var2, @RequestHeader("from") String var3);
@ApiOperation("获取员工在这个套件所有的权限")
@GetMapping({"/sysFormPermission/v1/findAppPermsByStaffAndCode"})
Reply<UserRolePermission> findAppPermsByStaffAndCode(@RequestParam("suiteCode") String var1, @RequestParam("entId") String var2, @RequestParam("staffId") String var3, @RequestHeader("from") String var4);
@ApiOperation("获取员工在这个企业所有的套件权限")
@GetMapping({"/sysFormPermission/v1/findAppPermsByStaff"})
Reply<UserRolePermission> findAppPermsByStaff(@RequestParam("suiteId") String var1, @RequestParam("entId") String var2, @RequestParam("staffId") String var3, @RequestHeader("from") String var4);
@ApiOperation("获取应用的配置-权限与配置-appCode")
@GetMapping({"/appItemConfig/v1/getConfigByCode"})
Reply<SysItemConfig> getConfigByCode(@RequestParam("appCode") String var1, @RequestParam("entId") String var2, @RequestHeader("from") String var3);
@ApiOperation("获取应用的配置-权限与配置-appId")
@GetMapping({"/appItemConfig/v1/getConfigById"})
Reply<SysItemConfig> getConfigById(@RequestParam("appId") String var1, @RequestParam("entId") String var2, @RequestHeader("from") String var3);
@ApiOperation("卸载应用的配置")
@PostMapping({"/suite/v1/uninstall"})
Reply uninstall(@RequestBody UninstallSuiteRequest var1, @RequestHeader("from") String var2);
调用例子:
Reply<SysItemConfig> configByCode = configAppService
.getConfigByCode("cn.flyrise.demoone", "1501473186812678145", "Y");
返回 Reply
{"code":"200","data":{"items":[{"itemDefaultValue":"wx825751f92e719951","itemKey":"wx-appid","itemName":"微信appid","itemType":"text","itemValue":"wx825751f92e719951"},{"itemKey":"wx-mchId","itemName":"微信商户mchId","itemType":"text","itemValue":"123"}],"perms":["cars:delete","cars:update","cars:add"],"roles":["cars"]},"msg":"操作成功","success":true,"time":1648022106577}
文档更新时间: 2023-02-28 10:10 作者:欧阳少海