动态参数配置

  • 为了支持项目独立性,该功能会实现一个通用的适配器来适配云与本地的数据。
  • 用户在访问微应用的时候,app、web 都需要获取到购买应用的企业配置的基本属性配置。
  • 该接口会定义在pai(云考勤)工程中,可通过配置来实现是获取云上的还是本地的配置,本地配置需要手动建表,如下图-本地存储

流程

开发者:

开发者创建项目配置参数

企业管理员:

安装套件配置套件参数

微应用:

获取获取到安装的企业企业的参数配置

用户:

获取应用中的配置使用

服务(云考勤):

本地pai云获取应用中的配置是否本地适配器本地pai云

配置

Application.java 启动类中添加@EnablePaiConfig注解

然后启动后Swagger 文档中会出现

前端需要或者参数可以使用以上的API接口进行对接

后端则可以使用

IConfigAppService.java 提供的接口方法去获取参数配置,包含的方法如下

package cn.flyrise.config.api.feign;

import cn.flyrise.common.core.constant.SecurityConstants;
import cn.flyrise.common.core.domain.FeignMessage;
import cn.flyrise.common.core.domain.Reply;
import cn.flyrise.config.api.domain.SysItemConfig;
import cn.flyrise.config.api.domain.UninstallSuiteRequest;
import cn.flyrise.config.api.domain.UserRolePermission;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

/**
 * @author: zhucanyi
 * @description:
 * @date: Create in 6:02 下午 2020/9/7
 * @modified By:
 */
@FeignClient(name = "pai-config", contextId = "AppConfigRemote", fallbackFactory = RemoteConfigAppFallbackFactory.class)
public interface IConfigAppService {

    @ApiOperation("获取用户在这个套件所有的权限")
    @GetMapping(value = "/sysFormPermission/v1/findAppPerms")
    public Reply<UserRolePermission> findAppPerms(@RequestParam("suiteId") String suiteId, @RequestParam("uid") String uid, @RequestParam("entId") String entId, @RequestHeader(SecurityConstants.FROM) String from);


    @ApiOperation("获取用户在这个套件所有的权限")
    @GetMapping(value = "/sysFormPermission/v1/findAppPermsByCode")
    public Reply<UserRolePermission> findAppPermsByCode(@RequestParam("suiteCode") String suiteCode, @RequestParam("uid") String uid, @RequestParam("entId") String entId, @RequestHeader(SecurityConstants.FROM) String from);

    @ApiOperation("获取用户在这个企业所有的套件权限")
    @GetMapping(value = "/sysFormPermission/v1/findAppPermsByEnt")
    public Reply<UserRolePermission> findAppPermsByEnt(@RequestParam("entId") String entId,
                                                   @RequestParam("uid") String uid, @RequestHeader(SecurityConstants.FROM) String from);

    @ApiOperation("获取员工在这个套件所有的权限")
    @GetMapping(value = "/sysFormPermission/v1/findAppPermsByStaffAndCode")
    public Reply<UserRolePermission> findAppPermsByStaffAndCode(@RequestParam("suiteCode") String suiteCode, @RequestParam("entId") String entId, @RequestParam("staffId") String staffId, @RequestHeader(SecurityConstants.FROM) String from);

    @ApiOperation("获取员工在这个企业所有的套件权限")
    @GetMapping(value = "/sysFormPermission/v1/findAppPermsByStaff")
    public Reply<UserRolePermission> findAppPermsByStaff(@RequestParam("suiteId") String suiteId, @RequestParam("entId") String entId, @RequestParam("staffId") String staffId, @RequestHeader(SecurityConstants.FROM) String from);


    @ApiOperation("获取应用的配置-权限与配置-appCode")
    @GetMapping("/appItemConfig/v1/getConfigByCode")
    public Reply<SysItemConfig> getConfigByCode(@RequestParam("appCode") String appCode,
                                            @RequestParam("entId") String entId, @RequestHeader(SecurityConstants.FROM) String from);

    @ApiOperation("获取应用的配置-权限与配置-appId")
    @GetMapping("/appItemConfig/v1/getConfigById")
    public Reply<SysItemConfig> getConfigById(@RequestParam("appId") String appId, @RequestParam("entId") String entId, @RequestHeader(SecurityConstants.FROM) String from);

}
文档更新时间: 2022-12-19 17:36   作者:伍润源