目标

通过本章节介绍可以预定义套件中工程要用到的参数声明,利于在安装套件时进行配置实际的参数

说明

为了支持项目独立性,该功能会实现一个通用的适配器来适配云与本地的数据。
用户在访问微应用的时候,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   作者:欧阳少海