直接跳到内容
本页目录

作者:侯金霞
更新于:7/25/2023

临时链接

简介

临时链接顾名思义就是临时跳转到系统中做一些操作用的。如:在流程中,有时候需要外部人员参与流程的进度,这个时候就需要发送临时链接, 点击链接,办理事项。

TIP

使用临时链接需要提前配置以下内容:

  1. 创建临时用户
  2. 系统属性中配置临时用户的账号和密码
  3. 创建临时应用
  4. 系统属性中配置临时应用的appId
  5. 系统属性中配置pc 端的服务地址

使用

  1. 临时链接

链接链接属性列表:

名称描述说明
code编码临时链接的唯一标识
url真实的链接地址打开临时链接跳转的地址
params参数真实跳转页面需要的参数,目前仅支持简单的参数,使用params 接收
validDuration有效时长 (天)用来计算临时链接的过期时间 ,过期后链接失效
typeCode分类的code默认temporaryLinkDefault
supportMobile是否支持移动端是否可以跳转到移动端服务的url

临时链接表结构:

sql
CREATE TABLE sys_temp_link
(
    id_            VARCHAR(64) NOT NULL COMMENT 'ID',
    code_           VARCHAR(64)  DEFAULT NULL COMMENT '编码',
    url_         VARCHAR(255) DEFAULT NULL COMMENT '真实url地址',
    params_    VARCHAR(255) DEFAULT NULL COMMENT '参数',
    valid_duration_      INT (10)   DEFAULT NULL COMMENT '有效时长',
    expiration_time_ DATETIME     DEFAULT NULL COMMENT '过期时间',
    max_visits_   INT (10)  DEFAULT NULL COMMENT '最大访问次数',
    type_code_         VARCHAR(64)  DEFAULT 'temporaryLinkDefault' COMMENT '分组',
    visits_   INT (10)  DEFAULT '0' COMMENT '已访问的次数',
    enabled_            TINYINT(1) UNSIGNED DEFAULT '1' COMMENT '是否可用:0否,1是',
    support_mobile_            TINYINT(1) UNSIGNED DEFAULT '0' COMMENT '是否支持跳转移动端:0否,1是',
    create_time_   DATETIME     DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY (id_),
    UNIQUE KEY link_code_index (code_) USING BTREE
) ENGINE = InnoDB
 CHARACTER SET = utf8mb4 COMMENT ='临时链接表';

  1. 临时链接推送日志

临时链接支持推送日志记录。可以通过推送日志记录查看链接推送情况,也可通过业务主键查询 临时链接的一些信息 表结构:

sql


CREATE TABLE sys_temp_link_send_log (
    id_ VARCHAR ( 64 ) NOT NULL COMMENT 'ID',
    temp_link_id_ VARCHAR ( 64 ) NOT NULL COMMENT '临时链接id',
    biz_id_ VARCHAR ( 64 ) NOT NULL COMMENT '业务id',
    biz_type_ VARCHAR ( 64 ) NOT NULL COMMENT '业务类型',
    email_ VARCHAR ( 64 ) DEFAULT NULL COMMENT '邮箱',
    phone_ VARCHAR ( 64 ) DEFAULT NULL COMMENT '电话号码',
    identity_id_ VARCHAR ( 64 ) DEFAULT NULL COMMENT '系统内部人员的id',
    content_ VARCHAR ( 500 ) DEFAULT NULL COMMENT '推送内容',
    is_fail_ TINYINT(1) UNSIGNED DEFAULT '0' COMMENT '是否失败 0 否,1 是',
    fail_reason_ VARCHAR ( 500 ) DEFAULT NULL COMMENT '失败原因',
    create_time_ DATETIME DEFAULT NULL COMMENT '创建时间',
    PRIMARY KEY ( id_ ),
    KEY link_biz_index ( biz_id_ ) USING BTREE
) ENGINE = INNODB CHARACTER
SET = utf8mb4 COMMENT = '临时链接推送日志表';
  1. 临时链接提供的API

  • 生成临时链接
java
  /**
  * 生成临时链接
  *
  * @param generateDTO
  * @return 临时链接code
  */
  String generateTemporaryLink(GenerateTempLinkDTO generateDTO);
  • 记录推送日志
java
    /**
     * 记录推送日志
     * @param recordTempSendLogDTO
     */
    void recordSendLog (RecordTempLinkSendLogDTO recordTempSendLogDTO);

  • 通过bizId 获取 最新一条的 临时链接推送日志
java
    /**
     * 通过bizId 获取 最新一条的 临时链接推送日志
     * 适合 一个业务id 对应一个 可用的临时链接
     * @param bizId 业务id
     * @param bizType 业务类型
     * @return 推送日志信息
     */
    SysTempLinkSendLogVO getSendLogByBizIdType(String bizId, String bizType);
  1. 临时链接对外开发的接口

  • 通过code 打开临时链接,访问地址 /ab-bpm/sys/tempLink/open/{code}
java
@RequestMapping("open/{code}")
public ApiResponse<SysTempLinkAndTokenVO> openLinK(@PathVariable("code") String code) 
临时链接 has loaded