MiniContractPro
    • 简介
    • 开放平台接入文档
    • 移动端 - 签署任务
      • 验证短链接(返回签署模式)
        GET
      • 获取预览短链接
        GET
      • 执行签署(对外)
        POST
      • 获取已签署文件下载链接
        GET
      • 获取签署任务列表(分页)
        GET
      • 获取签署任务详情
        GET
      • 获取签署任务统计
        GET
      • 获取签署任务参与人列表
        GET
      • 撤销签署任务
        DELETE
      • 删除签署任务
        DELETE
      • 催签
        POST
      • 基于模板创建签署任务
        POST
      • 基于文件创建签署任务
        POST
      • 基于图片创建签署任务
        POST
      • 验证当前用户的签署权限
        GET
      • 获取参与人已填写的表单数据
        GET
      • 获取签署任务的表单字段定义
        GET
      • 提交表单数据(H5端)
        POST
      • 更新表单数据(H5端)
        POST
      • 生成签署链接
        POST
      • 更新表单数据(H5端)
        PUT
    • 移动端 - 签署方联系人
      • 获取签署方联系人列表(分页)
        GET
      • 删除签署方联系人
        DELETE
    • 移动端 - 印章授权管理
      • 创建印章授权
        POST
      • 删除印章授权
        DELETE
      • 获取印章的授权列表
        GET
      • 获取当前用户的授权列表
        GET
    • 移动端 - AI起草推荐话术
      • 获取推荐话术列表
      • 根据合同类型获取推荐话术
      • 增加话术使用次数
    • 移动端 - AI起草消息
      • 发送消息
      • 获取对话消息列表
    • 移动端 - AI起草合同
      • 生成合同
      • 更新合同内容
      • 获取合同详情
    • 移动端 - AI起草合同 - PDF和签署
      • 导出合同为PDF
      • 创建签署任务
    • 移动端 - AI起草对话
      • 创建对话
      • 获取对话分页列表
      • 获取对话详情
      • 获取对话详情(包含所有消息)
      • 删除对话
    • 移动端 - 合同AI审查
      • 发起AI审查
      • 查询审查任务状态
      • 获取审查报告
      • 获取审查任务的风险点列表
      • 获取单个风险点详情
      • 获取合同的审查历史
      • 获取当前用户的所有审查历史
      • 重试失败的审查任务
    • 移动端 - 合同模板管理
      • 获取合同模板列表(分页)
      • 获取合同模板详情
      • 获取模板分类列表
      • 获取常用模板
      • 获取热门模板
      • 搜索模板
      • 记录模板使用
    • 移动端 - 印章管理
      • 生成 Seal-Token(支持续期)
      • 获取个人印章列表
      • 创建印章(个人/企业)
      • 获取印章详情
      • 更新印章
      • 删除印章
      • 设置默认印章(开放接口)
      • 获取个人印章列表(分页,开放接口)
      • 检查企业印章唯一性
      • 上传文件(印章图片)
    • 移动端 - 签署配置
      • 获取签署安全配置
      • 获取平台访问地址
    • 移动端 - 短链接
      • 获取小程序信息
    • 移动端 - 配额查询
      • 获取当前用户配额余额
    • 移动端 - 合同验证
      • 验证合同签署
      • 获取验证结果详情
      • 获取剩余验证次数
    • 移动端 - Seal 认证
      • 兑换 Seal-Token(移动端)
      • 刷新 Seal-Token(移动端)
      • 验证 Seal-Token(移动端)
    • 移动端 - 意愿验证
      • 发送验证码
      • 验证身份
      • 获取验证状态
    • PC端门户 - 文件存储
      • 上传文件
      • 获取文件预签名地址(上传)
      • 创建文件
    • PC端门户 - 合同验证
      • 验证合同签署
      • 获取验证结果详情
      • 获取剩余验证次数
    • PC端门户 - 签署任务
      • 创建签署任务(基于模板)
      • 基于文件创建签署任务
      • 基于图片创建签署任务
      • 用户签署任务
      • 拒绝签署任务
      • 撤销签署任务
      • 删除签署任务
      • 批量签署任务
      • 批量获取签署任务状态
      • 获得签署任务详情
      • 获取签署任务参与人列表
      • 获取签署任务的印章放置信息
      • 获得签署任务分页(带权限过滤)
      • 获取签署任务统计信息
      • 获取待我处理的签署任务分页
      • 获取我发起的签署任务分页
      • 获取我已处理的签署任务分页
      • 提交表单数据
      • 修改表单数据
      • 获取字段默认值
      • 验证签署权限
      • 上传签署后的PDF文件
      • 同步纯前端签署状态
      • 保存签署草稿
      • 获取签署草稿
      • 删除签署草稿
      • 获取任务版本历史
      • 比较PDF版本差异
      • 验证PDF文件完整性
      • 生成签署链接
      • 获取印章图片
      • 获取任务参与人的表单字段定义
      • 获取参与人已填写的表单数据
      • 下载合同文件
    • PC端门户 - 意愿验证
      • 发送验证码
      • 验证身份
      • 获取验证状态
    • PC端门户 - 扫码签名
      • 创建签名Token
      • 检查签名状态
      • 上传签名图片
      • 保存签名
    • PC端门户 - 印章管理
      • 创建印章(个人/企业)
      • 更新印章
      • 更新印章状态
      • 删除印章
      • 获得印章详情
      • 获得印章分页
      • 获取当前用户可用的印章列表
      • 设置默认印章
      • 取消默认印章
      • 作废印章
      • 模板生成印章
      • 获取指定类型的默认印章
      • 检查企业印章唯一性
    • PC端门户 - 批量任务
      • 创建批量发起任务
      • 创建批量签署任务
      • 获得批量任务详情
      • 获得批量任务分页(带权限过滤)
      • 批量获取任务状态
      • 获取批量任务子项列表
      • 下载批量发起导入模板
      • 上传文件并解析预览
      • 创建批量发起任务(结构化数据)
      • 重试失败子项
    • PC端门户 - 签署方联系人
      • 获取签署方联系人列表(分页)
      • 删除签署方联系人
    • PC端门户 - 印章授权
      • 创建印章授权
      • 更新印章授权
      • 删除印章授权
      • 获得印章授权分页
      • 获取可授权的企业成员列表
    • PC端门户 - Seal 认证
      • 兑换 Seal-Token(PC端)
      • 刷新 Seal-Token
      • 验证 Seal-Token
    • PC端门户 - 模板分类
      • 创建模板分类
      • 更新模板分类
      • 删除模板分类
      • 获得模板分类
      • 获得模板分类分页
      • 获得所有启用的模板分类列表
    • PC端门户 - 合同模板
      • 创建合同模板
      • 更新合同模板
      • 删除合同模板
      • 获得合同模板
      • 获得合同模板分页(带权限过滤)
      • 获得合同模板列表(启用状态)
      • 批量保存合同模板表单字段(并创建新版本)
      • 批量保存模板签署方
      • 更新模板二维码启用状态
      • 更新模板状态
      • 获取模板的所有历史版本
      • 获取模板的最新版本
      • 恢复到指定版本
      • 保存签署方验证配置
      • 获取签署方验证配置
    • PC端门户 - 分享
      • 获取分享摘要信息(公开接口)
    • PC端门户 - 配额查询
      • 获取当前用户配额余额
    • 管理后台 - 菜单
      • 创建菜单
      • 修改菜单
      • 删除菜单
      • 批量删除菜单
      • 获取菜单列表
      • 获取菜单精简信息列表
      • 获取菜单精简信息列表
      • 获取菜单信息
    • 管理后台 - 角色
      • 创建角色
      • 删除角色
      • 修改角色
      • 批量删除角色
      • 获得角色信息
      • 获得角色分页
      • 获取角色精简信息列表
      • 获取角色精简信息列表
      • 导出角色 Excel
    • 管理后台 - 权限
      • 获得角色拥有的菜单编号
      • 赋予角色菜单
      • 赋予角色数据权限
      • 获得管理员拥有的角色编号列表
      • 赋予用户角色
    • 管理后台 - 验证码
      • 获得验证码
      • 校验验证码
    • 管理后台 - 租户
      • 使用租户名,获得租户编号
      • 获取租户精简信息列表
      • 使用域名,获得租户信息
      • 创建租户
      • 更新租户
      • 删除租户
      • 批量删除租户
      • 获得租户
      • 获得租户分页
      • 导出租户 Excel
    • 管理后台 - 租户套餐
      • 创建租户套餐
      • 更新租户套餐
      • 删除租户套餐
      • 批量删除租户套餐
      • 获得租户套餐
      • 获得租户套餐分页
      • 获取租户套餐精简信息列表
      • 获取租户套餐精简信息列表
    • 管理后台 - 社交用户
      • 社交绑定,使用 code 授权码
      • 取消社交绑定
      • 获得绑定社交用户列表
      • 获得社交用户
      • 获得社交用户分页
    • 管理后台 - 社交客户端
      • 创建社交客户端
      • 更新社交客户端
      • 删除社交客户端
      • 批量删除社交客户端
      • 获得社交客户端
      • 获得社交客户端分页
      • 发送订阅消息
    • 管理后台 - OAuth2.0 授权
      • 获得访问令牌
      • 删除访问令牌
      • 校验访问令牌
      • 获得授权信息
      • 申请授权
    • 管理后台 - OAuth2.0 用户
      • 获得用户基本信息
      • 更新用户基本信息
    • 管理后台 - OAuth2.0 令牌
      • 获得访问令牌分页
      • 删除访问令牌
      • 批量删除访问令牌
    • 管理后台 - OAuth2 客户端
      • 创建 OAuth2 客户端
      • 更新 OAuth2 客户端
      • 删除 OAuth2 客户端
      • 批量删除 OAuth2 客户端
      • 获得 OAuth2 客户端
      • 获得 OAuth2 客户端分页
    • 管理后台 - 我的站内信
      • 获得站内信
      • 获得站内信分页
      • 获得我的站内信分页
      • 标记站内信为已读
      • 标记所有站内信为已读
      • 获取当前用户的最新站内信列表,默认 10 条
      • 获得当前用户的未读站内信数量
    • 管理后台 - 站内信模版
      • 创建站内信模版
      • 更新站内信模版
      • 删除站内信模版
      • 批量删除站内信模版
      • 获得站内信模版
      • 获得站内信模版分页
      • 获得站内信模版精简列表
      • 获得站内信模版精简列表
      • 发送站内信
    • 管理后台 - 通知公告
      • 创建通知公告
      • 修改通知公告
      • 删除通知公告
      • 批量删除通知公告
      • 获取通知公告列表
      • 获得通知公告
      • 推送通知公告
    • 管理后台 - 登录日志
      • 获得登录日志
      • 获得登录日志分页列表
      • 导出登录日志 Excel
    • 管理后台 - 操作日志
      • 查看操作日志
      • 查看操作日志分页列表
      • 导出操作日志
    • 管理后台 - 用户
      • 新增用户
      • 修改用户
      • 删除用户
      • 批量删除用户
      • 重置用户密码
      • 修改用户状态
      • 获得用户分页列表
      • 获得用户详情列表
      • 获取用户精简信息列表
      • 获取用户精简信息列表
      • 获得用户详情
      • 导出用户
      • 获得导入用户模板
      • 导入用户
      • 获得用户精简信息
      • 按昵称模糊搜索用户精简信息
    • 管理后台 - 用户个人中心
      • 获得登录用户信息
      • 修改用户个人信息
      • 修改用户个人密码
    • 管理后台 - 邮件日志
      • 获得邮箱日志分页
      • 获得邮箱日志
    • 管理后台 - 邮箱账号
      • 创建邮箱账号
      • 修改邮箱账号
      • 删除邮箱账号
      • 批量删除邮箱账号
      • 获得邮箱账号
      • 获得邮箱账号分页
      • 获得邮箱账号精简列表
      • 获得邮箱账号精简列表
    • 管理后台 - 邮件模版
      • 创建邮件模版
      • 修改邮件模版
      • 删除邮件模版
      • 批量删除邮件模版
      • 获得邮件模版
      • 获得邮件模版分页
      • 获得邮件模版精简列表
      • 获得邮件模版精简列表
      • 发送短信
    • 管理后台 - 字典数据
      • 新增字典数据
      • 修改字典数据
      • 删除字典数据
      • 批量删除字典数据
      • 获得全部字典数据列表
      • 获得全部字典数据列表
      • 获得字典类型的分页
      • /查询字典数据详细
      • 导出字典数据
    • 管理后台 - 字典类型
      • 创建字典类型
      • 修改字典类型
      • 删除字典类型
      • 批量删除字典类型
      • 获得字典类型的分页列表
      • /查询字典类型详细
      • 获得全部字典类型列表
      • 获得全部字典类型列表
      • 导出数据类型
    • 管理后台 - 部门
      • 创建部门
      • 更新部门
      • 删除部门
      • 批量删除部门
      • 获取部门列表
      • 获取部门精简信息列表
      • 获取部门精简信息列表
      • 获得部门信息
    • 管理后台 - 岗位
      • 创建岗位
      • 修改岗位
      • 删除岗位
      • 批量删除岗位
      • 获得岗位信息
      • 获取岗位全列表
      • 获取岗位全列表
      • 获得岗位分页列表
      • 岗位管理
    • 管理后台 - 认证
      • 使用账号密码登录
      • 登出系统
      • 刷新令牌
      • 获取登录用户的权限信息
      • 注册用户
      • 使用短信验证码登录
      • 发送手机验证码
      • 重置密码
      • 社交授权的跳转
      • 社交快捷登录,使用 code 授权码
    • 管理后台 - 短信日志
      • 获得短信日志分页
      • 获得短信日志
      • 导出短信日志 Excel
    • 管理后台 - 短信渠道
      • 创建短信渠道
      • 更新短信渠道
      • 删除短信渠道
      • 批量删除短信渠道
      • 获得短信渠道
      • 获得短信渠道分页
      • 获得短信渠道精简列表
      • 获得短信渠道精简列表
    • 管理后台 - 短信回调
      • 阿里云短信的回调
      • 腾讯云短信的回调
      • 华为云短信的回调
      • 七牛云短信的回调
    • 管理后台 - 短信模板
      • 创建短信模板
      • 更新短信模板
      • 删除短信模板
      • 批量删除短信模板
      • 获得短信模板
      • 获得短信模板分页
      • 获得短信模板精简列表
      • 获得短信模板精简列表
      • 导出短信模板 Excel
      • 发送短信
    • 管理后台 - 地区
      • 获得地区树
      • 获得 IP 对应的地区名
    • 用户 App - 租户
      • 使用域名,获得租户信息
    • 用户 App - 字典数据
      • 根据字典类型查询字典数据信息
    • 用户 App - 地区
      • 获得地区树
    • PC端门户 - 企业管理
      • 创建企业认证
      • 获得企业信息
      • 获得企业分页
      • 切换当前企业
      • 切换到个人身份
      • 获得企业精简列表
      • 获得企业成员分页
      • 添加企业成员
      • 删除企业成员
    • PC端门户 - 企业成员
      • 创建企业成员
      • 更新企业成员
      • 删除企业成员
      • 获得企业成员分页
      • 获得企业成员(自己)
    • PC端门户 - 个人实名认证
      • 提交个人实名认证
      • 身份证OCR识别
      • 获取当前用户的认证信息
    • PC端门户 - 企业实名认证
      • 提交企业认证
    • PC端门户 - 配额管理
      • 获取当前用户配额余额
      • 获取配额变动记录分页
      • 获取上架的套餐列表
      • 创建配额订单
      • 取消配额订单
      • 获取订单详情
      • 获取我的订单列表
      • 更新配额订单为已支付
      • 同步订单支付状态
    • PC端门户 - 用户个人中心
      • 获得用户信息
      • 修改用户信息
      • 修改用户手机
      • 基于微信小程序的授权码,修改用户手机
      • 修改用户密码
      • 重置密码
    • PC端门户 - 认证
      • 使用手机 + 密码登录
      • 登出系统
      • 刷新令牌
      • 使用手机 + 验证码登录
      • 发送手机验证码
      • 校验手机验证码
      • 社交授权的跳转
      • 社交快捷登录,使用 code 授权码
      • 微信小程序的一键登录
      • 创建微信 JS SDK 初始化所需的签名
    • 管理后台 - 企业认证
      • 获得企业认证分页
      • 获得企业认证详情
      • 更新企业认证状态
    • 管理后台 - 用户收件地址
      • 获得用户收件地址列表
    • 管理后台 - 实名认证
      • 获得实名认证分页
      • 审核实名认证
      • 获得实名认证
    • 管理后台 - 企业认证记录
      • 获得企业认证记录分页
      • 获得企业认证记录详情
      • 获得企业认证记录详情(包含企业和用户信息)
      • 获得企业认证记录列表
    • 管理后台 - 签到规则
      • 创建签到规则
      • 更新签到规则
      • 删除签到规则
      • 获得签到规则
      • 获得签到规则列表
    • 管理后台 - 签到记录
      • 获得签到记录分页
      • 获得用户积分记录分页
    • 管理后台 - 会员设置
      • 保存会员配置
      • 获得会员配置
    • 管理后台 - 配额订单管理
      • 获取配额订单分页
      • 获取配额订单详情
    • 管理后台 - 配额账户管理
      • 获取配额账户分页
      • 获取配额账户详情
      • 调整配额
      • 获取配额变动记录列表
      • 获取配额统计数据
    • 管理后台 - 配额套餐管理
      • 创建配额套餐
      • 更新配额套餐
      • 更新套餐状态(上架/下架)
      • 删除配额套餐
      • 获取配额套餐详情
      • 获取配额套餐分页
      • 获取上架的套餐列表
    • 管理后台 - 会员等级
      • 创建会员等级
      • 更新会员等级
      • 删除会员等级
      • 获得会员等级
      • 获取会员等级精简信息列表
      • 获得会员等级列表
    • 管理后台 - 会员等级记录
      • 获得会员等级记录
      • 获得会员等级记录分页
    • 管理后台 - 会员经验记录
      • 获得会员经验记录
      • 获得会员经验记录分页
    • 管理后台 - 用户分组
      • 创建用户分组
      • 更新用户分组
      • 删除用户分组
      • 获得用户分组
      • 获取会员分组精简信息列表
      • 获得用户分组分页
    • 管理后台 - 会员用户
      • 更新会员用户
      • 更新会员用户等级
      • 更新会员用户积分
      • 获得会员用户
      • 获得会员用户分页
    • 管理后台 - 会员标签
      • 创建会员标签
      • 更新会员标签
      • 删除会员标签
      • 获得会员标签
      • 获取会员标签精简信息列表
      • 获得会员标签列表
      • 获得会员标签分页
    • 用户 App - 企业管理
      • 创建企业认证
      • 获得企业信息
      • 获得企业分页
      • 获得企业精简列表
      • 切换当前企业
      • 切换到个人身份
    • 用户 App - 企业成员
      • 创建企业成员
      • 更新企业成员
      • 删除企业成员
      • 获得企业成员分页
      • 获得企业成员(自己)
    • 用户 APP - 企业加入申请
      • 提交加入企业申请
      • 同意加入申请
      • 拒绝加入申请
      • 获得企业加入申请分页
      • 获得我的企业加入申请分页
      • 按名称搜索企业分页
    • 用户 APP - 用户收件地址
      • 创建用户收件地址
      • 更新用户收件地址
      • 删除用户收件地址
      • 获得用户收件地址
      • 获得默认的用户收件地址
      • 获得用户收件地址列表
    • 用户APP - 实名认证
      • 提交实名认证
      • 身份证OCR识别
      • 获取当前用户的认证信息
    • 用户APP - 企业认证
      • 提交企业认证
    • 用户 App - 社交用户
      • 社交绑定,使用 code 授权码
      • 取消社交绑定
      • 获得社交用户
      • 获得微信小程序码(base64 image)
      • 获得微信小程订阅模板列表
    • 用户 App - 签到规则
      • 获得签到规则列表
    • 用户 App - 签到记录
      • 获得个人签到统计
      • 签到
      • 获得签到记录分页
      • 获得用户积分记录分页
    • App 端 - 配额管理
      • 获取当前用户配额余额
      • 获取配额变动记录分页
      • 获取上架的套餐列表
      • 创建配额订单
      • 取消配额订单
      • 获取订单详情
      • 获取我的订单列表
      • 更新配额订单为已支付
      • 同步订单支付状态
    • 用户 App - 会员等级
      • 获得会员等级列表
    • 用户 App - 会员经验记录
      • 获得会员经验记录分页
    • 用户 App - 个人印章(已废弃)
      • 创建个人印章
      • 更新个人印章
      • 删除个人印章
      • 获得个人印章
      • 获得个人印章分页
    • 用户 APP - 用户个人中心
      • 获得基本信息
      • 修改基本信息
      • 修改用户手机
      • 基于微信小程序的授权码,修改用户手机
      • 修改用户密码
      • 重置密码
    • 用户 APP - 认证
      • 使用手机 + 密码登录
      • 登出系统
      • 刷新令牌
      • 使用手机 + 验证码登录
      • 发送手机验证码
      • 校验手机验证码
      • 社交授权的跳转
      • 社交快捷登录,使用 code 授权码
      • 微信小程序的一键登录
      • 创建微信 JS SDK 初始化所需的签名
    • 管理后台 - 代码生成器
      • 获得数据库自带的表定义列表
      • 获得表定义列表
      • 获得表定义分页
      • 获得表和字段的明细
      • 基于数据库的表结构,创建代码生成器的表和字段定义
      • 更新数据库的表和字段定义
      • 基于数据库的表结构,同步数据库的表和字段定义
      • 删除数据库的表和字段定义
      • 批量删除数据库的表和字段定义
      • 预览生成代码
      • 下载生成代码
    • 管理后台 - API 错误日志
      • 更新 API 错误日志的状态
      • 获得 API 错误日志
      • 获得 API 错误日志分页
      • 导出 API 错误日志 Excel
    • 管理后台 - API 访问日志
      • 获得 API 访问日志
      • 获得API 访问日志分页
      • 导出API 访问日志 Excel
    • 管理后台 - 参数配置
      • 创建参数配置
      • 修改参数配置
      • 删除参数配置
      • 批量删除参数配置
      • 获得参数配置
      • 根据参数键名查询参数值
      • 获取参数配置分页
      • 导出参数配置
    • 管理后台 - Redis 监控
      • 获得 Redis 监控信息
    • 管理后台 - 文件存储
      • 上传文件
      • 获取文件预签名地址(上传)
      • 创建文件
      • 获得文件
      • 删除文件
      • 批量删除文件
      • 下载文件
      • 获得文件分页
    • 管理后台 - 文件配置
      • 创建文件配置
      • 更新文件配置
      • 更新文件配置为 Master
      • 删除文件配置
      • 批量删除文件配置
      • 获得文件配置
      • 获得文件配置分页
      • 测试文件配置是否正确
    • 管理后台 - 学生
      • 创建学生
      • 更新学生
      • 删除学生
      • 批量删除学生
      • 获得学生
      • 获得学生分页
      • 导出学生 Excel
      • 获得学生课程列表
      • 获得学生班级
      • 创建学生
      • 更新学生
      • 删除学生
      • 批量删除学生
      • 获得学生
      • 获得学生分页
      • 导出学生 Excel
      • 获得学生课程列表
      • 获得学生班级
      • 创建学生
      • 更新学生
      • 删除学生
      • 批量删除学生
      • 获得学生
      • 获得学生分页
      • 导出学生 Excel
      • 获得学生课程分页
      • 创建学生课程
      • 更新学生课程
      • 删除学生课程
      • 批量删除学生课程
      • 获得学生课程
      • 获得学生班级分页
      • 创建学生班级
      • 更新学生班级
      • 删除学生班级
      • 批量删除学生班级
      • 获得学生班级
    • 管理后台 - 示例分类
      • 创建示例分类
      • 更新示例分类
      • 删除示例分类
      • 获得示例分类
      • 获得示例分类列表
      • 导出示例分类 Excel
    • 管理后台 - 示例联系人
      • 创建示例联系人
      • 更新示例联系人
      • 删除示例联系人
      • 批量删除示例联系人
      • 获得示例联系人
      • 获得示例联系人分页
      • 导出示例联系人 Excel
    • 管理后台 - 定时任务
      • 创建定时任务
      • 更新定时任务
      • 更新定时任务的状态
      • 删除定时任务
      • 批量删除定时任务
      • 触发定时任务
      • 同步定时任务
      • 获得定时任务
      • 获得定时任务分页
      • 导出定时任务 Excel
      • 获得定时任务的下 n 次执行时间
    • 管理后台 - 定时任务日志
      • 获得定时任务日志
      • 获得定时任务日志分页
      • 导出定时任务日志 Excel
    • 管理后台 - 数据源配置
      • 创建数据源配置
      • 更新数据源配置
      • 删除数据源配置
      • 批量删除数据源配置
      • 获得数据源配置
      • 获得数据源配置列表
    • PC端门户 - 平台配置
      • 获取 seal-core 签署页地址
    • 管理后台 - 印章授权
      • 创建印章授权
      • 更新印章授权
      • 删除印章授权
      • 获得印章授权
      • 获得印章授权分页
    • 管理后台 - 电子签名任务
      • 从模板创建签署任务
      • 创建签署任务
      • 用户签署任务
      • 拒绝签署任务
      • 撤销签署任务
      • 删除签署任务
      • 批量签署任务
      • 批量获取签署任务状态
      • 获得电子签名任务
      • 获取签署任务参与人列表
      • 获取签署任务的印章放置信息
      • 获得电子签名任务分页
      • 获取签署任务统计信息
      • 提交表单数据(智能流程 - 两阶段模式)
      • 修改表单数据(智能流程 - 两阶段模式)
      • 获取字段默认值(解析动态值)
      • 验证签署权限
      • 上传签署后的PDF文件
      • 同步纯前端签署状态
      • 保存签署草稿
      • 获取签署草稿
      • 删除签署草稿
      • 获取任务版本历史
      • 比较PDF版本差异
      • 验证PDF文件完整性
      • 生成签署链接
      • 获取印章图片
      • 获取任务参与人的表单字段定义
      • 获取参与人已填写的表单数据
    • 管理后台 - IP白名单
      • 创建IP白名单
      • 删除IP白名单
      • 获得IP白名单列表
    • 管理后台 - PDF签名验证
      • 验证PDF签名(兼容两种模式)
      • 读取PDF元数据和签名信息
    • 管理后台 - 电子印章
      • 签名使用日志
        • 获得印章/签名使用日志分页
    • 管理后台 - 合同模板
      • 创建合同模板
      • 更新合同模板
      • 删除合同模板
      • 获得合同模板
      • 获得合同模板分页
      • 批量保存合同模板表单字段(并创建新版本)
      • 批量保存模板签署方
      • 更新模板状态
      • 获得模板版本历史
      • 恢复到指定版本
      • 获取模板的最新版本
    • 管理后台 - 模板分类
      • 创建模板分类
      • 更新模板分类
      • 删除模板分类
      • 获得模板分类
      • 获得模板分类分页
      • 获得所有启用的模板分类列表
    • 管理后台 - License 授权
      • 获取 License 授权状态
      • 获取当前服务器机器码
    • 管理后台 - API密钥
      • 创建API密钥
      • 更新API密钥
      • 删除API密钥
      • 获得API密钥
      • 获得API密钥分页
      • 修改API密钥状态
    • 管理后台 - Token 黑名单
      • 将 Token 加入黑名单
      • 将用户加入黑名单(强制下线)
      • 检查 Token 是否在黑名单中
      • 检查用户是否在黑名单中
      • 获取黑名单功能状态
    • 管理后台 - 批量任务
      • 创建批量发起任务
      • 创建批量签署任务
      • 获得批量任务详情
      • 获得批量任务分页
      • 批量获取任务状态
      • 获取批量任务子项列表
    • 管理后台 - 印章
      • 签名信息
        • 创建印章/签名信息
        • 更新印章/签名信息
        • 更新印章/签名信息状态
        • 废止印章/签名信息
        • 获得印章/签名信息
        • 获得印章/签名信息分页
        • 获取当前用户可用的印章列表
        • 设置默认印章
        • 取消默认印章
        • 作废印章
        • 模板生成印章
        • 获取指定类型的默认印章
        • 检查企业印章唯一性
    • 管理后台 - API认证授权
      • 获取访问令牌
      • 验证访问令牌
      • 注销访问令牌
    • 开放 API - Webhook 回调配置
      • 配置 Webhook
      • 查询 Webhook 配置
      • 删除 Webhook 配置
    • 开放 API - Seal 认证
      • 获取访问令牌(AppKey/Secret)
    • 开放 API - 签署任务
      • 创建签署任务
      • 查询签署任务详情
      • 撤销签署任务
      • 获取签署链接
      • 下载签署文档
    • 开放 API - 合同模板
      • 查询模板详情
      • 获得合同模板分页(带权限过滤)
    • App 端 - 批量任务
      • 创建批量发起任务(仅手动填写模式)
      • 获得批量任务详情
      • 获得批量任务分页
      • 获取批量任务子项列表
    • 移动端 APP - 文件存储
      • 上传文件
      • 获取文件预签名地址(上传)
      • 创建文件
    • PC端门户 - 支付渠道
      • 获得指定应用的开启的支付渠道编码列表
    • PC端门户 - 支付订单
      • 获得支付订单
      • 提交支付订单
    • 管理后台 - 转账单
      • 获得转账订单
      • 获得转账订单分页
      • 导出转账订单 Excel
    • 管理后台 - 支付渠道
      • 创建支付渠道
      • 更新支付渠道
      • 删除支付渠道
      • 获得支付渠道
      • 获得指定应用的支付渠道列表
      • 获得指定应用的开启的支付渠道编码列表
    • 管理后台 - 用户钱包
      • 获得用户钱包明细
      • 获得会员钱包分页
      • 更新会员用户余额
    • 管理后台 - 钱包充值
      • 更新钱包充值为已充值
      • 发起钱包充值退款
      • 更新钱包充值为已退款
    • 管理后台 - 钱包余额明细
      • 获得钱包流水分页
    • 管理后台 - 钱包充值套餐
      • 创建钱包充值套餐
      • 更新钱包充值套餐
      • 删除钱包充值套餐
      • 获得钱包充值套餐
      • 获得钱包充值套餐分页
    • 管理后台 - 退款订单
      • 获得退款订单
      • 获得退款订单分页
      • 导出退款订单 Excel
    • 管理后台 - 回调通知
      • 支付渠道的统一【支付】回调
      • 支付渠道的统一【退款】回调
      • 支付渠道的统一【转账】回调
      • 获得回调通知的明细
      • 获得回调通知分页
    • 管理后台 - 支付订单
      • 获得支付订单
      • 获得支付订单详情
      • 提交支付订单
      • 获得支付订单分页
      • 导出支付订单 Excel
    • 管理后台 - 示例订单
      • 创建示例订单
      • 获得示例订单分页
      • 更新示例订单为已支付
      • 发起示例订单的退款
      • 更新示例订单为已退款
    • 管理后台 - 示例提现订单
      • 创建示例提现单
      • 提现单转账
      • 获得示例提现单分页
      • 更新示例提现单的转账状态
    • 管理后台 - 支付应用信息
      • 创建支付应用信息
      • 更新支付应用信息
      • 更新支付应用状态
      • 删除支付应用信息
      • 获得支付应用信息
      • 获得支付应用信息分页
      • 获得应用列表
    • 用户 APP - 转账单
      • 同步转账单
    • 用户 App - 支付渠道
      • 获得指定应用的开启的支付渠道编码列表
    • 用户 APP - 钱包
      • 获取钱包
    • 用户 APP - 钱包充值
      • 创建钱包充值记录(发起充值)
      • 获得钱包充值记录分页
    • 用户 APP - 钱包余额明细
      • 获得钱包流水分页
      • 获得钱包流水统计
    • 用户 APP - 钱包充值套餐
      • 获得钱包充值套餐列表
    • 用户 APP - 支付订单
      • 获得支付订单
      • 提交支付订单
    • 默认 Controller,解决部分 module 未开启时的 404 提示。
      • bpm404
      • mp404
      • mall404
      • mall404
      • mall404
      • erp404
      • wms404
      • crm404
      • mes404
      • im404
      • report404
      • pay404
      • ai404
      • iot404
      • 测试接口:打印 query、header、body
    • 数据模型
      • MenuSaveVO
      • CommonResultOpenSignTaskRespVO
      • SignPosition
      • ParticipantInfo
      • key
      • MenuRespVO
      • OpenSignTaskRespVO
      • CommonResultListMenuRespVO
      • MenuSimpleRespVO
      • CommonResultListMenuSimpleRespVO
      • MapObject
      • CommonResultBoolean
      • CommonResultMenuRespVO
      • Participant
      • RoleSaveReqVO
      • OpenSignTaskCreateReqVO
      • CommonResultString
      • RoleRespVO
      • SealAuthTokenRespVO
      • CommonResultRoleRespVO
      • CommonResultListParticipantInfo
      • PageResultRoleRespVO
      • OpenWebhookConfigRespVO
      • CommonResultPageResultRoleRespVO
      • CommonResultOpenWebhookConfigRespVO
      • CommonResultListRoleRespVO
      • OpenWebhookConfigVO
      • CommonResultSetLong
      • CommonResultLong
      • PermissionAssignRoleMenuReqVO
      • PerforationSegment
      • PermissionAssignRoleDataScopeReqVO
      • PerforationData
      • PermissionAssignUserRoleReqVO
      • ResponseModel
      • PointVO
      • Point
      • CaptchaVO
      • TenantRespVO
      • CommonResultListTenantRespVO
      • CommonResultTenantRespVO
      • Participant
      • FormFieldData
      • TenantSaveReqVO
      • SealSignTaskCreateReqVO
      • PageInfo
      • PageResultTenantRespVO
      • ParticipantInfo
      • CommonResultPageResultTenantRespVO
      • AppSignTaskCreateFromFileReqVO
      • MapBoolean
      • TenantPackageSaveReqVO
      • ParticipantInfo
      • CommonResultMapBoolean
      • TenantPackageRespVO
      • AppSignTaskCreateFromImagesReqVO
      • CommonResultTenantPackageRespVO
      • PageResultTenantPackageRespVO
      • CommonResultPageResultTenantPackageRespVO
      • SealSignTaskSignReqVO
      • TenantPackageSimpleRespVO
      • SealSignTaskStatusReqVO
      • CommonResultListTenantPackageSimpleRespVO
      • SocialUserBindReqVO
      • SealSignTaskBatchSignReqVO
      • CommonResultSealSignTaskRespVO
      • SocialUserUnbindReqVO
      • ParticipantInfo
      • SocialUserRespVO
      • SealSignTaskStatusRespVO
      • SealPlacementRespVO
      • CommonResultListSocialUserRespVO
      • CommonResultListSealSignTaskStatusRespVO
      • CommonResultSocialUserRespVO
      • PageResultSocialUserRespVO
      • SealSignTaskRespVO
      • CommonResultPageResultSealSignTaskRespVO
      • CommonResultPageResultSocialUserRespVO
      • SealSignTaskStatisticsRespVO
      • SocialClientSaveReqVO
      • CommonResultListParticipantInfo
      • CommonResultSealSignTaskStatisticsRespVO
      • SocialClientRespVO
      • SealSignTaskFormSubmitReqVO
      • CommonResultSocialClientRespVO
      • CommonResultListSealPlacementRespVO
      • PageResultSocialClientRespVO
      • PageResultSealSignTaskRespVO
      • SealSignTaskFieldDefaultsRespVO
      • CommonResultPageResultSocialClientRespVO
      • CommonResultSealSignTaskFieldDefaultsRespVO
      • ValidateSignPermissionRespVO
      • SocialWxaSubscribeMessageSendReqDTO
      • CommonResultValidateSignPermissionRespVO
      • OAuth2OpenAccessTokenRespVO
      • SealInstance
      • CommonResultOAuth2OpenAccessTokenRespVO
      • MapString
      • key
      • OAuth2OpenCheckTokenRespVO
      • CommonResultOAuth2OpenCheckTokenRespVO
      • key
      • Client
      • SavePureFrontendDraftReqVO
      • KeyValueBoolean
      • key
      • OAuth2OpenAuthorizeInfoRespVO
      • PureFrontendDraftRespVO
      • CommonResultOAuth2OpenAuthorizeInfoRespVO
      • CommonResultPureFrontendDraftRespVO
      • SyncPureFrontendSignStatusReqVO
      • TaskVersionHistoryRespVO
      • Dept
      • Post
      • key
      • OAuth2UserInfoRespVO
      • ComparePdfVersionsRespVO
      • CommonResultOAuth2UserInfoRespVO
      • CommonResultComparePdfVersionsRespVO
      • OAuth2UserUpdateReqVO
      • ComparePdfVersionsReqVO
      • OAuth2AccessTokenRespVO
      • key
      • PageResultOAuth2AccessTokenRespVO
      • CommonResultListTaskVersionHistoryRespVO
      • VerifyPdfIntegrityRespVO
      • CommonResultPageResultOAuth2AccessTokenRespVO
      • CommonResultVerifyPdfIntegrityRespVO
      • OAuth2ClientSaveReqVO
      • key
      • OAuth2ClientRespVO
      • VerifyPdfIntegrityReqVO
      • CommonResultOAuth2ClientRespVO
      • GenerateSignLinkRespVO
      • PageResultOAuth2ClientRespVO
      • CommonResultGenerateSignLinkRespVO
      • CommonResultPageResultOAuth2ClientRespVO
      • key
      • CommonResultListMapObject
      • NotifyMessageRespVO
      • key
      • CommonResultNotifyMessageRespVO
      • SignatureTokenRespVO
      • PageResultNotifyMessageRespVO
      • GenerateSignLinkReqVO
      • CommonResultSignatureTokenRespVO
      • CommonResultPageResultNotifyMessageRespVO
      • SignatureTokenReqVO
      • SignatureStatusRespVO
      • CommonResultListNotifyMessageRespVO
      • CommonResultSignatureStatusRespVO
      • NotifyTemplateSaveReqVO
      • SealAuthorizationCreateReqVO
      • NotifyTemplateRespVO
      • SealAuthorizationUpdateReqVO
      • CommonResultNotifyTemplateRespVO
      • SealAuthorizationRespVO
      • PageResultNotifyTemplateRespVO
      • CommonResultPageResultNotifyTemplateRespVO
      • CommonResultPageResultSealAuthorizationRespVO
      • NotifyTemplateSimpleRespVO
      • CommonResultListNotifyTemplateSimpleRespVO
      • NotifyTemplateSendReqVO
      • CommonResultSealTemplateRespVO
      • NoticeSaveReqVO
      • NoticeRespVO
      • CommonResultPageResultSealTemplateRespVO
      • PageResultNoticeRespVO
      • CommonResultPageResultNoticeRespVO
      • CommonResultNoticeRespVO
      • MapLong
      • LoginLogRespVO
      • SealTemplateFormFieldBatchSaveReqVO
      • CommonResultLoginLogRespVO
      • CommonResultMapLong
      • PageResultLoginLogRespVO
      • CommonResultPageResultLoginLogRespVO
      • SignatoryVerificationConfigVO
      • OperateLogRespVO
      • SaveSignatoryConfigReqVO
      • PageResultSealRespVO
      • CommonResultOperateLogRespVO
      • SignatoryConfigRespVO
      • PageResultOperateLogRespVO
      • CommonResultSignatoryConfigRespVO
      • CommonResultListSealRespVO
      • CommonResultPageResultOperateLogRespVO
      • SignatoryContactRespVO
      • UserSaveReqVO
      • PageResultSignatoryContactRespVO
      • UserUpdatePasswordReqVO
      • CommonResultPageResultSignatoryContactRespVO
      • UserUpdateStatusReqVO
      • ShareSummaryRespVO
      • UserRespVO
      • CommonResultShareSummaryRespVO
      • PageResultUserRespVO
      • QuotaBalanceRespVO
      • SealBatchTaskRespVO
      • CommonResultPageResultUserRespVO
      • CommonResultQuotaBalanceRespVO
      • CommonResultListUserRespVO
      • SendCodeRespVO
      • PageResultSealBatchTaskRespVO
      • UserSimpleRespVO
      • CommonResultSendCodeRespVO
      • CommonResultListUserSimpleRespVO
      • SendCodeReqVO
      • CommonResultListSealBatchTaskRespVO
      • CommonResultUserRespVO
      • VerifyResultVO
      • UserImportRespVO
      • CommonResultVerifyResultVO
      • CommonResultListSealBatchTaskItemRespVO
      • CommonResultUserImportRespVO
      • VerifyReqVO
      • CommonResultUserSimpleRespVO
      • VerificationStatusVO
      • RoleSimpleRespVO
      • CommonResultVerificationStatusVO
      • DeptSimpleRespVO
      • BatchItemData
      • PostSimpleRespVO
      • SealBatchTaskCreateReqVO
      • UserProfileRespVO
      • SealBatchTaskItemRespVO
      • CommonResultUserProfileRespVO
      • BatchLaunchItem
      • UserProfileUpdateReqVO
      • CommonResultSealBatchTaskRespVO
      • UserProfileUpdatePasswordReqVO
      • MailLogRespVO
      • CommonResultPageResultSealBatchTaskRespVO
      • PageResultMailLogRespVO
      • CommonResultPageResultMailLogRespVO
      • SealBatchTaskStatusReqVO
      • CommonResultMailLogRespVO
      • MailAccountSaveReqVO
      • MailAccountRespVO
      • PageResultSealAuthorizationRespVO
      • CommonResultMailAccountRespVO
      • PageResultMailAccountRespVO
      • CommonResultSealRespVO
      • CommonResultPageResultMailAccountRespVO
      • MailAccountSimpleRespVO
      • CommonResultPageResultSealRespVO
      • CommonResultListMailAccountSimpleRespVO
      • MailTemplateSaveReqVO
      • SealRevokeReqVO
      • MailTemplateRespVO
      • SealTemplateGenerateReqVO
      • CommonResultMailTemplateRespVO
      • TemplateCategorySaveReqVO
      • PageResultMailTemplateRespVO
      • TemplateCategoryRespVO
      • CommonResultPageResultMailTemplateRespVO
      • CommonResultTemplateCategoryRespVO
      • MailTemplateSimpleRespVO
      • PageResultTemplateCategoryRespVO
      • CommonResultListMailTemplateSimpleRespVO
      • CommonResultPageResultTemplateCategoryRespVO
      • MailTemplateSendReqVO
      • CommonResultListTemplateCategoryRespVO
      • DictDataSaveReqVO
      • SendCodeRespVO
      • DictDataSimpleRespVO
      • CommonResultSendCodeRespVO
      • CommonResultListDictDataSimpleRespVO
      • SendCodeReqVO
      • DictDataRespVO
      • VerifyResultVO
      • PageResultDictDataRespVO
      • PageResultSealTemplateRespVO
      • CommonResultVerifyResultVO
      • CommonResultPageResultDictDataRespVO
      • VerifyReqVO
      • CommonResultDictDataRespVO
      • CommonResultListSealTemplateRespVO
      • VerificationStatusVO
      • DictTypeSaveReqVO
      • CommonResultVerificationStatusVO
      • DictTypeRespVO
      • CommonResultInteger
      • PageResultDictTypeRespVO
      • SealIpWhitelistCreateReqVO
      • CommonResultPageResultDictTypeRespVO
      • SealIpWhitelistRespVO
      • CommonResultDictTypeRespVO
      • CommonResultListSealIpWhitelistRespVO
      • DictTypeSimpleRespVO
      • SealTemplateCreateReqVO
      • CommonResultListDictTypeSimpleRespVO
      • CommonResultSealAuthorizationRespVO
      • DeptSaveReqVO
      • VerificationItemResult
      • DeptRespVO
      • ContractInfoVO
      • CommonResultListDeptRespVO
      • SignerVO
      • CommonResultListDeptSimpleRespVO
      • TimelineEventVO
      • CommonResultDeptRespVO
      • VerificationResultVO
      • PostSaveReqVO
      • CommonResultVerificationResultVO
      • PostRespVO
      • FilePresignedUrlRespVO
      • CommonResultPostRespVO
      • CommonResultFilePresignedUrlRespVO
      • CommonResultListPostSimpleRespVO
      • PageResultPostRespVO
      • MiniprogramConfig
      • CommonResultPageResultPostRespVO
      • AuthLoginRespVO
      • AuthByRefRespVO
      • CommonResultAuthLoginRespVO
      • CommonResultAuthByRefRespVO
      • AuthLoginReqVO
      • SignTaskCreateResultVO
      • UserVO
      • CommonResultSignTaskCreateResultVO
      • MenuVO
      • AppSealGrantCreateReqVO
      • AuthPermissionInfoRespVO
      • AppSealGrantRespVO
      • CommonResultAuthPermissionInfoRespVO
      • CommonResultListAppSealGrantRespVO
      • AuthRegisterReqVO
      • TemplateRespVO
      • AuthSmsLoginReqVO
      • CommonResultListTemplateRespVO
      • AuthSmsSendReqVO
      • MessageRespVO
      • AuthResetPasswordReqVO
      • CommonResultMessageRespVO
      • AuthSocialLoginReqVO
      • MessageSendReqVO
      • SmsLogRespVO
      • CommonResultListMessageRespVO
      • PageResultSmsLogRespVO
      • ContractGenerateReqVO
      • CommonResultPageResultSmsLogRespVO
      • ContractUpdateReqVO
      • CommonResultSmsLogRespVO
      • ContractRespVO
      • SmsChannelSaveReqVO
      • CommonResultContractRespVO
      • SmsChannelRespVO
      • PdfExportRespVO
      • CommonResultSmsChannelRespVO
      • CommonResultPdfExportRespVO
      • PageResultSmsChannelRespVO
      • PdfExportReqVO
      • CommonResultPageResultSmsChannelRespVO
      • ParticipantInfo
      • SmsChannelSimpleRespVO
      • SigningCreateReqVO
      • CommonResultListSmsChannelSimpleRespVO
      • ConversationCreateReqVO
      • SmsTemplateSaveReqVO
      • ConversationRespVO
      • SmsTemplateRespVO
      • PageResultConversationRespVO
      • CommonResultSmsTemplateRespVO
      • CommonResultPageResultConversationRespVO
      • PageResultSmsTemplateRespVO
      • CommonResultConversationRespVO
      • CommonResultPageResultSmsTemplateRespVO
      • ConversationDetailRespVO
      • SmsTemplateSimpleRespVO
      • CommonResultConversationDetailRespVO
      • CommonResultListSmsTemplateSimpleRespVO
      • AuditStartReqVO
      • SmsTemplateSendReqVO
      • AuditTaskRespVO
      • AreaNodeRespVO
      • CommonResultAuditTaskRespVO
      • CommonResultListAreaNodeRespVO
      • AuditRiskRespVO
      • AppTenantRespVO
      • CommonResultListAuditRiskRespVO
      • CommonResultAppTenantRespVO
      • CommonResultAuditRiskRespVO
      • AppDictDataRespVO
      • CommonResultListAuditTaskRespVO
      • CommonResultListAppDictDataRespVO
      • AuditRetryReqVO
      • AppAreaNodeRespVO
      • VariableOptionVO
      • CommonResultListAppAreaNodeRespVO
      • AppEnterpriseCreateReqVO
      • TemplateSignatoryFieldVO
      • AppEnterpriseRespVO
      • TemplateSignatoryVO
      • CommonResultAppEnterpriseRespVO
      • PageResultAppEnterpriseRespVO
      • CommonResultPageResultAppEnterpriseRespVO
      • CommonResultAppTemplateDetailRespVO
      • AppEnterpriseSwitchReqVO
      • TemplateCategoryRespVO
      • Enterprise
      • CommonResultListTemplateCategoryRespVO
      • AppEnterpriseSimpleRespVO
      • AppTemplateRespVO
      • CommonResultAppEnterpriseSimpleRespVO
      • CommonResultListAppTemplateRespVO
      • AppEnterpriseUserRespVO
      • PageResultAppTemplateRespVO
      • PageResultAppEnterpriseUserRespVO
      • CommonResultPageResultAppTemplateRespVO
      • CommonResultPageResultAppEnterpriseUserRespVO
      • GenerateTokenReqDTO
      • AppEnterpriseUserAddReqVO
      • SignSecurityLevelOption
      • AppEnterpriseUserCreateReqVO
      • SignSecurityConfigRespVO
      • AppEnterpriseUserUpdateReqVO
      • CommonResultSignSecurityConfigRespVO
      • CommonResultAppEnterpriseUserRespVO
      • MiniprogramInfoVO
      • AppMemberVerifyRespVO
      • CommonResultMiniprogramInfoVO
      • CommonResultAppMemberVerifyRespVO
      • QuotaBalanceRespVO
      • AppMemberVerifySubmitReqVO
      • CommonResultQuotaBalanceRespVO
      • AppIdCardOcrRespVO
      • SealSignTaskParticipantReqVO
      • CommonResultAppIdCardOcrRespVO
      • SealSignTaskCreateFromTemplateReqVO
      • AppIdCardOcrReqVO
      • VerificationResultVO
      • AppEnterpriseVerifyRespVO
      • CommonResultVerificationResultVO
      • CommonResultAppEnterpriseVerifyRespVO
      • CommonResultMapString
      • AppEnterpriseVerifySubmitReqVO
      • SealUsageLogRespVO
      • AppQuotaBalanceRespVO
      • CommonResultAppQuotaBalanceRespVO
      • CommonResultPageResultSealUsageLogRespVO
      • AppQuotaLogRespVO
      • SealApiKeyCreateReqVO
      • PageResultAppQuotaLogRespVO
      • SealApiKeyUpdateReqVO
      • CommonResultPageResultAppQuotaLogRespVO
      • AppQuotaPackageRespVO
      • CommonResultSealApiKeyRespVO
      • CommonResultListAppQuotaPackageRespVO
      • AppQuotaOrderCreateRespVO
      • CommonResultPageResultSealApiKeyRespVO
      • CommonResultAppQuotaOrderCreateRespVO
      • AppQuotaOrderCreateReqVO
      • AppQuotaOrderRespVO
      • CommonResultAppQuotaOrderRespVO
      • PageResultAppQuotaOrderRespVO
      • CommonResultPageResultAppQuotaOrderRespVO
      • PayOrderNotifyReqDTO
      • Level
      • AppMemberUserInfoRespVO
      • PageResultSealApiKeyRespVO
      • CommonResultAppMemberUserInfoRespVO
      • AppMemberUserUpdateReqVO
      • AppMemberUserUpdateMobileReqVO
      • PageResultSealUsageLogRespVO
      • AppMemberUserUpdateMobileByWeixinReqVO
      • AppMemberUserUpdatePasswordReqVO
      • AppMemberUserResetPasswordReqVO
      • AppAuthLoginRespVO
      • CommonResultAppAuthLoginRespVO
      • AppAuthLoginReqVO
      • AppAuthSmsLoginReqVO
      • AppAuthSmsSendReqVO
      • AppAuthSmsValidateReqVO
      • AppAuthSocialLoginReqVO
      • AppAuthWeixinMiniAppLoginReqVO
      • SocialWxJsapiSignatureRespDTO
      • CommonResultSocialWxJsapiSignatureRespDTO
      • MemberEnterpriseRespVO
      • PageResultMemberEnterpriseRespVO
      • CommonResultPageResultMemberEnterpriseRespVO
      • CommonResultMemberEnterpriseRespVO
      • MemberEnterpriseUpdateReqVO
      • AddressRespVO
      • CommonResultListAddressRespVO
      • MemberVerifyRespVO
      • PageResultMemberVerifyRespVO
      • CommonResultPageResultMemberVerifyRespVO
      • MemberVerifyAuditReqVO
      • CommonResultMemberVerifyRespVO
      • MemberEnterpriseVerifyRespVO
      • PageResultMemberEnterpriseVerifyRespVO
      • CommonResultPageResultMemberEnterpriseVerifyRespVO
      • CommonResultMemberEnterpriseVerifyRespVO
      • MemberEnterpriseVerifyDetailRespVO
      • CommonResultMemberEnterpriseVerifyDetailRespVO
      • CommonResultListMemberEnterpriseVerifyRespVO
      • MemberSignInConfigCreateReqVO
      • MemberSignInConfigUpdateReqVO
      • MemberSignInConfigRespVO
      • CommonResultMemberSignInConfigRespVO
      • CommonResultListMemberSignInConfigRespVO
      • MemberSignInRecordRespVO
      • PageResultMemberSignInRecordRespVO
      • CommonResultPageResultMemberSignInRecordRespVO
      • MemberPointRecordRespVO
      • PageResultMemberPointRecordRespVO
      • CommonResultPageResultMemberPointRecordRespVO
      • MemberConfigSaveReqVO
      • MemberConfigRespVO
      • CommonResultMemberConfigRespVO
      • MemberQuotaOrderRespVO
      • PageResultMemberQuotaOrderRespVO
      • CommonResultPageResultMemberQuotaOrderRespVO
      • CommonResultMemberQuotaOrderRespVO
      • MemberQuotaAccountRespVO
      • PageResultMemberQuotaAccountRespVO
      • CommonResultPageResultMemberQuotaAccountRespVO
      • CommonResultMemberQuotaAccountRespVO
      • MemberQuotaAccountAdjustReqVO
      • MemberQuotaLogRespVO
      • CommonResultListMemberQuotaLogRespVO
      • QuotaStatisticsDTO
      • CommonResultQuotaStatisticsDTO
      • MemberQuotaPackageSaveReqVO
      • MemberQuotaPackageRespVO
      • CommonResultMemberQuotaPackageRespVO
      • PageResultMemberQuotaPackageRespVO
      • CommonResultPageResultMemberQuotaPackageRespVO
      • CommonResultListMemberQuotaPackageRespVO
      • MemberLevelCreateReqVO
      • MemberLevelUpdateReqVO
      • MemberLevelRespVO
      • CommonResultMemberLevelRespVO
      • MemberLevelSimpleRespVO
      • CommonResultListMemberLevelSimpleRespVO
      • CommonResultListMemberLevelRespVO
      • MemberLevelRecordRespVO
      • CommonResultMemberLevelRecordRespVO
      • PageResultMemberLevelRecordRespVO
      • CommonResultPageResultMemberLevelRecordRespVO
      • MemberExperienceRecordRespVO
      • CommonResultMemberExperienceRecordRespVO
      • PageResultMemberExperienceRecordRespVO
      • CommonResultPageResultMemberExperienceRecordRespVO
      • MemberGroupCreateReqVO
      • MemberGroupUpdateReqVO
      • MemberGroupRespVO
      • CommonResultMemberGroupRespVO
      • MemberGroupSimpleRespVO
      • CommonResultListMemberGroupSimpleRespVO
      • PageResultMemberGroupRespVO
      • CommonResultPageResultMemberGroupRespVO
      • MemberUserUpdateReqVO
      • MemberUserUpdateLevelReqVO
      • MemberUserUpdatePointReqVO
      • MemberUserRespVO
      • CommonResultMemberUserRespVO
      • PageResultMemberUserRespVO
      • CommonResultPageResultMemberUserRespVO
      • MemberTagCreateReqVO
      • MemberTagUpdateReqVO
      • MemberTagRespVO
      • CommonResultMemberTagRespVO
      • CommonResultListMemberTagRespVO
      • PageResultMemberTagRespVO
      • CommonResultPageResultMemberTagRespVO
      • AppEnterpriseJoinSubmitReqVO
      • AppEnterpriseJoinHandleReqVO
      • AppEnterpriseJoinRespVO
      • PageResultAppEnterpriseJoinRespVO
      • CommonResultPageResultAppEnterpriseJoinRespVO
      • MemberEnterpriseDO
      • PageResultMemberEnterpriseDO
      • CommonResultPageResultMemberEnterpriseDO
      • AppAddressCreateReqVO
      • AppAddressUpdateReqVO
      • AppAddressRespVO
      • CommonResultAppAddressRespVO
      • CommonResultListAppAddressRespVO
      • AppSocialUserBindReqVO
      • AppSocialUserUnbindReqVO
      • AppSocialUserRespVO
      • CommonResultAppSocialUserRespVO
      • AppSocialWxaQrcodeReqVO
      • AppSocialWxaSubscribeTemplateRespVO
      • CommonResultListAppSocialWxaSubscribeTemplateRespVO
      • AppMemberSignInConfigRespVO
      • CommonResultListAppMemberSignInConfigRespVO
      • AppMemberSignInRecordSummaryRespVO
      • CommonResultAppMemberSignInRecordSummaryRespVO
      • AppMemberSignInRecordRespVO
      • CommonResultAppMemberSignInRecordRespVO
      • PageResultAppMemberSignInRecordRespVO
      • CommonResultPageResultAppMemberSignInRecordRespVO
      • AppMemberPointRecordRespVO
      • PageResultAppMemberPointRecordRespVO
      • CommonResultPageResultAppMemberPointRecordRespVO
      • AppMemberLevelRespVO
      • CommonResultListAppMemberLevelRespVO
      • AppMemberExperienceRecordRespVO
      • PageResultAppMemberExperienceRecordRespVO
      • CommonResultPageResultAppMemberExperienceRecordRespVO
      • AppUserSealCreateReqVO
      • AppUserSealUpdateReqVO
      • AppUserSealRespVO
      • CommonResultAppUserSealRespVO
      • PageResultAppUserSealRespVO
      • CommonResultPageResultAppUserSealRespVO
      • DatabaseTableRespVO
      • CommonResultListDatabaseTableRespVO
      • CodegenTableRespVO
      • CommonResultListCodegenTableRespVO
      • PageResultCodegenTableRespVO
      • CommonResultPageResultCodegenTableRespVO
      • CodegenColumnRespVO
      • CodegenDetailRespVO
      • CommonResultCodegenDetailRespVO
      • CommonResultListLong
      • CodegenCreateListReqVO
      • CodegenTableSaveReqVO
      • CodegenColumnSaveReqVO
      • CodegenUpdateReqVO
      • CodegenPreviewRespVO
      • CommonResultListCodegenPreviewRespVO
      • ApiErrorLogRespVO
      • CommonResultApiErrorLogRespVO
      • PageResultApiErrorLogRespVO
      • CommonResultPageResultApiErrorLogRespVO
      • ApiAccessLogRespVO
      • CommonResultApiAccessLogRespVO
      • PageResultApiAccessLogRespVO
      • CommonResultPageResultApiAccessLogRespVO
      • ConfigSaveReqVO
      • ConfigRespVO
      • CommonResultConfigRespVO
      • PageResultConfigRespVO
      • CommonResultPageResultConfigRespVO
      • {}
      • Properties
      • CommandStat
      • RedisMonitorRespVO
      • CommonResultRedisMonitorRespVO
      • FileCreateReqVO
      • FileRespVO
      • CommonResultFileRespVO
      • PageResultFileRespVO
      • CommonResultPageResultFileRespVO
      • FileConfigSaveReqVO
      • FileClientConfig
      • FileConfigRespVO
      • CommonResultFileConfigRespVO
      • PageResultFileConfigRespVO
      • CommonResultPageResultFileConfigRespVO
      • Demo03CourseDO
      • Demo03GradeDO
      • Demo03StudentNormalSaveReqVO
      • Demo03StudentNormalRespVO
      • CommonResultDemo03StudentNormalRespVO
      • PageResultDemo03StudentNormalRespVO
      • CommonResultPageResultDemo03StudentNormalRespVO
      • CommonResultListDemo03CourseDO
      • CommonResultDemo03GradeDO
      • Demo03StudentInnerSaveReqVO
      • Demo03StudentInnerRespVO
      • CommonResultDemo03StudentInnerRespVO
      • PageResultDemo03StudentInnerRespVO
      • CommonResultPageResultDemo03StudentInnerRespVO
      • Demo03StudentErpSaveReqVO
      • Demo03StudentErpRespVO
      • CommonResultDemo03StudentErpRespVO
      • PageResultDemo03StudentErpRespVO
      • CommonResultPageResultDemo03StudentErpRespVO
      • PageResultDemo03CourseDO
      • CommonResultPageResultDemo03CourseDO
      • CommonResultDemo03CourseDO
      • PageResultDemo03GradeDO
      • CommonResultPageResultDemo03GradeDO
      • Demo02CategorySaveReqVO
      • Demo02CategoryRespVO
      • CommonResultDemo02CategoryRespVO
      • CommonResultListDemo02CategoryRespVO
      • Demo01ContactSaveReqVO
      • Demo01ContactRespVO
      • CommonResultDemo01ContactRespVO
      • PageResultDemo01ContactRespVO
      • CommonResultPageResultDemo01ContactRespVO
      • JobSaveReqVO
      • JobRespVO
      • CommonResultJobRespVO
      • PageResultJobRespVO
      • CommonResultPageResultJobRespVO
      • CommonResultListLocalDateTime
      • JobLogRespVO
      • CommonResultJobLogRespVO
      • PageResultJobLogRespVO
      • CommonResultPageResultJobLogRespVO
      • DataSourceConfigSaveReqVO
      • DataSourceConfigRespVO
      • CommonResultDataSourceConfigRespVO
      • CommonResultListDataSourceConfigRespVO
      • SealTemplateFormFieldRespVO
      • SealTemplateSignatoryRespVO
      • SealTemplateRespVO
      • SealTemplateFormFieldSaveReqVO
      • SealTemplateSignatorySaveReqVO
      • key
      • key
      • key
      • key
      • key
      • CommonResultMapObject
      • PlatformRoutingRespVO
      • CommonResultPlatformRoutingRespVO
      • FieldError
      • ParsedRow
      • BatchFileParseRespVO
      • CommonResultBatchFileParseRespVO
      • key
      • SealBatchLaunchCreateReqVO
      • SealCreateReqVO
      • SealUpdateReqVO
      • SealRespVO
      • SealApiKeyCreateRespVO
      • CommonResultSealApiKeyCreateRespVO
      • SealApiKeyRespVO
      • CommonResultSealAuthTokenRespVO
      • SignatoryInfo
      • FormFieldInfo
      • OpenTemplateRespVO
      • PageResultOpenTemplateRespVO
      • CommonResultPageResultOpenTemplateRespVO
      • CommonResultOpenTemplateRespVO
      • TemplateVariableVO
      • FormFieldVO
      • AppTemplateDetailRespVO
      • PlatformRouting
      • PlatformRoutingRespVO
      • CommonResultPlatformRoutingRespVO
      • CommonResultSetString
      • PayOrderRespVO
      • CommonResultPayOrderRespVO
      • AppPayOrderSubmitRespVO
      • CommonResultAppPayOrderSubmitRespVO
      • AppPayOrderSubmitReqVO
      • PayTransferRespVO
      • CommonResultPayTransferRespVO
      • PageResultPayTransferRespVO
      • CommonResultPageResultPayTransferRespVO
      • PayChannelCreateReqVO
      • PayChannelUpdateReqVO
      • PayChannelRespVO
      • CommonResultPayChannelRespVO
      • CommonResultListPayChannelRespVO
      • PayWalletRespVO
      • CommonResultPayWalletRespVO
      • PageResultPayWalletRespVO
      • CommonResultPageResultPayWalletRespVO
      • PayWalletUpdateBalanceReqVO
      • PayRefundNotifyReqDTO
      • PayWalletTransactionRespVO
      • PageResultPayWalletTransactionRespVO
      • CommonResultPageResultPayWalletTransactionRespVO
      • WalletRechargePackageCreateReqVO
      • WalletRechargePackageUpdateReqVO
      • WalletRechargePackageRespVO
      • CommonResultWalletRechargePackageRespVO
      • PageResultWalletRechargePackageRespVO
      • CommonResultPageResultWalletRechargePackageRespVO
      • Order
      • PayRefundDetailsRespVO
      • CommonResultPayRefundDetailsRespVO
      • PayRefundPageItemRespVO
      • PageResultPayRefundPageItemRespVO
      • CommonResultPageResultPayRefundPageItemRespVO
      • Log
      • PayNotifyTaskDetailRespVO
      • CommonResultPayNotifyTaskDetailRespVO
      • PayNotifyTaskRespVO
      • PageResultPayNotifyTaskRespVO
      • CommonResultPageResultPayNotifyTaskRespVO
      • PayOrderExtension
      • PayOrderDetailsRespVO
      • CommonResultPayOrderDetailsRespVO
      • PayOrderSubmitRespVO
      • CommonResultPayOrderSubmitRespVO
      • PayOrderSubmitReqVO
      • PayOrderPageItemRespVO
      • PageResultPayOrderPageItemRespVO
      • CommonResultPageResultPayOrderPageItemRespVO
      • PayDemoOrderCreateReqVO
      • PayDemoOrderRespVO
      • PageResultPayDemoOrderRespVO
      • CommonResultPageResultPayDemoOrderRespVO
      • PayDemoWithdrawCreateReqVO
      • PayDemoWithdrawRespVO
      • PageResultPayDemoWithdrawRespVO
      • CommonResultPageResultPayDemoWithdrawRespVO
      • PayTransferNotifyReqDTO
      • PayAppCreateReqVO
      • PayAppUpdateReqVO
      • PayAppUpdateStatusReqVO
      • PayAppRespVO
      • CommonResultPayAppRespVO
      • PayAppPageItemRespVO
      • PageResultPayAppPageItemRespVO
      • CommonResultPageResultPayAppPageItemRespVO
      • CommonResultListPayAppRespVO
      • AppPayWalletRespVO
      • CommonResultAppPayWalletRespVO
      • AppPayWalletRechargeCreateRespVO
      • CommonResultAppPayWalletRechargeCreateRespVO
      • AppPayWalletRechargeCreateReqVO
      • AppPayWalletRechargeRespVO
      • PageResultAppPayWalletRechargeRespVO
      • CommonResultPageResultAppPayWalletRechargeRespVO
      • AppPayWalletTransactionRespVO
      • PageResultAppPayWalletTransactionRespVO
      • CommonResultPageResultAppPayWalletTransactionRespVO
      • AppPayWalletTransactionSummaryRespVO
      • CommonResultAppPayWalletTransactionSummaryRespVO
      • AppPayWalletPackageRespVO
      • CommonResultListAppPayWalletPackageRespVO

    简介

      ____             _   ____            _ 
     / ___|  ___  __ _| | / ___| _   _ ___| |_ ___ _ __ ___  
     \___ \ / _ \/ _` | | \___ \| | | / __| __/ _ \ '_ ` _ \ 
      ___) |  __/ (_| | |  ___) | |_| \__ \ ||  __/ | | | | |
     |____/ \___|\__,_|_| |____/ \__, |___/\__\___|_| |_| |_|
                                 |___/                        
    企业级电子印章管理与合同签署系统
    Version License Spring Boot Java
    基于 Spring Boot 2.7.x 开发,采用模块化设计,支持小程序 + H5 双平台签署。

    作者: 小华同学 ai
    官网: https://s.leepm.com
    版本: v1.6.0

    shawn_huangxing_qrcode.png#

    目录#

    系统简介
    技术架构
    项目结构
    SPI 扩展机制
    平台路由配置
    签署链接生成与跳转流程
    签署安全级别
    Open API 开放接口
    快速开始
    配置参考
    更新日志

    系统简介#

    Seal 电子签章系统提供完整的电子印章管理与合同签署能力:
    印章管理 - 创建、分类、权限控制、使用审计
    签署任务 - 创建签署任务,多方协同签署
    双平台签署 - 支持微信小程序和 H5 网页两种签署方式
    安全级别 - 快捷签署(无需登录)和登录签署(需身份认证)
    多租户隔离 - 支持 SaaS 多租户模式
    PDF 数字签名 - 支持元数据签名和真实数字证书签名

    技术架构#

    技术栈#

    技术版本说明
    Spring Boot2.7.x基础框架
    MyBatis-Plus3.5.xORM 框架
    MySQL5.7+ / 8.0+数据库
    Redis6.0+缓存 & 短链接存储
    iText5.5.13PDF 处理与数字签名

    架构图#

    ┌─────────────────────────────────────────────────────────┐
    │                     应用层 (Application)                │
    │  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌────────┐ │
    │  │ Admin UI │  │seal-core │  │mini-cont.│  │Portal  │ │
    │  │ (管理后台) │  │ (签署引擎) │  │(小程序/H5)│  │(PC门户) │ │
    │  └──────────┘  └──────────┘  └──────────┘  └────────┘ │
    └─────────────────────────────────────────────────────────┘
                                ↓
    ┌─────────────────────────────────────────────────────────┐
    │                  接口层 (Controller)                    │
    │  ┌────────────┐  ┌────────────┐  ┌──────────────────┐  │
    │  │  Admin API  │  │   App API   │  │   Portal API    │  │
    │  │ (管理端)     │  │ (签署/认证)  │  │  (PC门户端)      │  │
    │  └────────────┘  └────────────┘  └──────────────────┘  │
    │  ┌──────────────────────────────────────────────────┐   │
    │  │  Open API(第三方开放接口)                         │   │
    │  │  认证 → 签署任务 → Webhook 回调                    │   │
    │  └──────────────────────────────────────────────────┘   │
    └─────────────────────────────────────────────────────────┘
                                ↓
    ┌─────────────────────────────────────────────────────────┐
    │                  业务层 (Service)                       │
    │  ┌──────────┐  ┌──────────┐  ┌────────────┐           │
    │  │SealSign  │  │Seal      │  │Notification│           │
    │  │TaskSvc   │  │ConfigSvc │  │Service     │           │
    │  │(签署任务)  │  │(配置读取)  │  │(通知&短链接) │           │
    │  └──────────┘  └──────────┘  └────────────┘           │
    │  ┌──────────┐  ┌──────────┐  ┌────────────┐           │
    │  │Signature │  │IntentVer.│  │Template    │           │
    │  │Service   │  │Service   │  │Service     │           │
    │  │(PDF签名)  │  │(意愿验证)  │  │(模板管理)   │           │
    │  └──────────┘  └──────────┘  └────────────┘           │
    └─────────────────────────────────────────────────────────┘
                                ↓
    ┌─────────────────────────────────────────────────────────┐
    │                  扩展层 (SPI / Starter)                 │
    │  ┌────────────────────┐  ┌──────────────────────────┐  │
    │  │  UserInfoProvider   │  │  QuotaValidator          │  │
    │  │  (用户信息获取)       │  │  (配额校验)               │  │
    │  └────────────────────┘  └──────────────────────────┘  │
    └─────────────────────────────────────────────────────────┘
                                ↓
    ┌─────────────────────────────────────────────────────────┐
    │                  数据层 (DAO / Mapper)                  │
    │  ┌──────────┐  ┌──────────┐  ┌──────────┐             │
    │  │  MySQL   │  │  Redis   │  │  OSS     │             │
    │  │ (业务数据) │  │ (短链接/缓存)│  │ (文件存储) │             │
    │  └──────────┘  └──────────┘  └──────────┘             │
    └─────────────────────────────────────────────────────────┘

    核心模块#

    yudao-module-seal/
    ├── yudao-module-seal-api/                  # 公共 API(DTO、枚举、SPI 接口)
    │   └── api/
    │       ├── auth/                           #   认证 SPI(SealAuthProvider)
    │       ├── storage/                        #   存储 SPI(SealStorageProvider)
    │       └── validator/                      #   校验 SPI(SealQuotaValidator、SealUserValidator)
    ├── yudao-module-seal-biz/                  # 业务实现(Controller、Service、DAL)
    │   └── service/user/                       #   用户信息 SPI(UserInfoProvider、UserInfoAdapter)
    └── yudao-module-seal-spring-boot-starter/  # 产品化 Starter(SPI 适配、License)
        ├── adapter/                            #   SPI 适配器实现(auth、storage、user、enterprise)
        └── validator/                          #   SPI 校验器实现(Ruoyi 适配 + NoOp 降级)

    前端项目#

    项目说明路径
    seal-core签署引擎 H5(签署页面、短链接路由)yudao-ui/seal-core
    mini-contractuni-app 用户端(小程序 / H5 / APP)mini-contract/
    contract-portal-pcPC 端合同管理门户yudao-ui/contract-portal-pc
    yudao-ui-admin-vue3管理后台yudao-ui/yudao-ui-admin-vue3

    项目结构#

    yudao-module-seal-biz/src/main/java/cn/iocoder/yudao/module/seal/
    ├── controller/
    │   ├── admin/                    # 管理端 API
    │   │   ├── sealsigntask/         # 签署任务管理
    │   │   └── vo/                   # 管理端 VO
    │   ├── app/                      # App 端 API(小程序/H5 直接调用)
    │   │   ├── signtask/             # 签署任务(含 auth-by-ref 认证)
    │   │   ├── seal/                 # 印章操作
    │   │   ├── shortlink/            # 短链接信息
    │   │   └── template/             # 模板操作
    │   ├── portal/                   # Portal 端 API(PC 门户调用)
    │   └── open/                     # Open API(第三方开放接口)
    │       ├── OpenSealAuthController    # 认证(AppKey/Secret → Token)
    │       ├── OpenSignTaskController    # 签署任务 CRUD
    │       ├── OpenWebhookController     # Webhook 回调配置
    │       └── vo/                       # Open API 请求/响应 VO
    ├── service/
    │   ├── sealsigntask/             # 签署任务核心业务
    │   ├── config/                   # 配置服务(SealConfigService)
    │   ├── notification/             # 通知 & 短链接生成
    │   ├── signature/                # PDF 数字签名
    │   ├── intentverification/       # 签署意愿验证
    │   └── webhook/                  # Webhook 回调服务
    │       ├── SealWebhookService        # 接口
    │       └── SealWebhookServiceImpl    # 实现(WebClient + 异步 + 重试)
    ├── dal/
    │   ├── dataobject/               # 数据对象(DO)
    │   │   └── webhook/              # Webhook 相关 DO
    │   │       ├── SealWebhookConfigDO   # 回调配置
    │   │       └── SealWebhookLogDO      # 回调日志
    │   ├── mysql/                    # Mapper
    │   │   └── webhook/              # Webhook Mapper
    │   └── redis/                    # Redis Key 常量
    ├── framework/
    │   └── security/                 # Seal Token 认证体系
    └── util/
        └── jwt/                      # JWT 工具

    SPI 扩展机制#

    设计目标#

    Seal 模块通过 SPI(Service Provider Interface)机制实现与外部系统的解耦。核心思想是:
    seal-api 定义 SPI 接口(契约)
    seal-biz 通过接口调用,不关心具体实现
    seal-spring-boot-starter 提供面向 ruoyi-vue-pro 的默认实现
    第三方客户 可以替换任意 SPI 实现,适配自己的系统
    这种设计使得 Seal 模块可以独立运行,也可以无缝集成到不同的宿主系统中。

    架构总览#

    ┌─────────────────────────────────────────────────────────────────┐
    │                    seal-biz(业务层)                             │
    │                                                                 │
    │  SealSignTaskServiceImpl                                        │
    │    ├── @Resource UserInfoProvider          ← 获取用户手机号等    │
    │    ├── @Resource SealUserValidator         ← 校验用户/实名认证   │
    │    ├── @Autowired(required=false)                               │
    │    │   SealQuotaValidator                  ← 配额校验(可选)    │
    │    └── @Autowired(required=false)                               │
    │        EnterpriseAccessValidator           ← 企业权限校验(可选) │
    │                                                                 │
    │  PdfDigitalSignatureService                                     │
    │    └── @Resource SealStorageProvider       ← 文件上传/下载       │
    │                                                                 │
    │  SealTokenAdapter                                               │
    │    └── @Resource SealAuthProvider          ← 用户认证            │
    └────────────────────────┬────────────────────────────────────────┘
                             │ 接口调用(无编译依赖)
                             ▼
    ┌─────────────────────────────────────────────────────────────────┐
    │                 seal-spring-boot-starter(适配层)                │
    │                                                                 │
    │  ┌─────────────────┐  ┌──────────────────┐  ┌───────────────┐  │
    │  │ RuoyiAuthAdapter │  │RuoyiQuotaValid.  │  │UserInfoAdapter│  │
    │  │ JwtAuthAdapter   │  │RuoyiUserValid.   │  │  Impl         │  │
    │  │ OAuth2AuthAdapter│  │NoOpQuotaValid.   │  │NoOpUserInfo   │  │
    │  └─────────────────┘  │NoOpUserValid.    │  │  Adapter      │  │
    │                        └──────────────────┘  └───────────────┘  │
    │  ┌──────────────────────┐  ┌──────────────────────────────┐     │
    │  │ RuoyiFileClientAdapter│  │EnterpriseAccessValidatorImpl │     │
    │  │ OssStorageAdapter     │  │NoOpEnterpriseAccessValidator │     │
    │  │ MinioStorageAdapter   │  └──────────────────────────────┘     │
    │  │ LocalStorageAdapter   │                                       │
    │  └──────────────────────┘                                       │
    │                                                                 │
    │  通过 @Conditional 注解自动选择实现                                │
    └─────────────────────────────────────────────────────────────────┘

    SPI 接口一览#

    SPI 接口所在模块职责是否必需默认实现
    SealAuthProviderseal-api用户认证(从请求中提取用户信息)是拒绝所有请求(需配置)
    SealStorageProviderseal-api文件存储(上传/下载/删除)是抛异常(需配置)
    SealQuotaValidatorseal-api配额校验与扣减否(可选)跳过配额检查
    SealUserValidatorseal-api用户存在性与实名认证校验是RuoyiUserValidator
    UserInfoProviderseal-biz获取用户手机号、昵称等详细信息是通过 Bridge 桥接
    UserInfoAdapterseal-bizUserInfoProvider 的适配器接口是NoOpUserInfoAdapter(降级)
    EnterpriseAccessValidatorseal-biz验证用户是否有企业访问权限否(可选)NoOpEnterpriseAccessValidator(放行)

    详细说明#

    1. SealAuthProvider(认证提供者)#

    接口定义(seal-api):
    内置实现:
    实现类激活条件说明
    RuoyiAuthAdapterclasspath 存在 SecurityFrameworkUtils从 Ruoyi 的 ThreadLocal 中获取登录用户
    JwtAuthAdapteryudao.seal.auth.type=jwt解析 JWT Token
    OAuth2AuthAdapteryudao.seal.auth.type=oauth2OAuth2 Token 验证
    自定义示例:

    2. SealStorageProvider(文件存储提供者)#

    接口定义(seal-api):
    内置实现:
    实现类说明
    RuoyiFileClientAdapter适配 Ruoyi 的 FileClient(推荐,复用 Ruoyi 文件配置)
    OssStorageAdapter阿里云 OSS
    MinioStorageAdapterMinIO 对象存储
    LocalStorageAdapter本地文件系统

    3. SealQuotaValidator(配额校验器)#

    接口定义(seal-api):
    内置实现:
    实现类激活条件说明
    RuoyiQuotaValidatoryudao.seal.quota-validator=ruoyi(默认)读取 member_quota_account 表,使用乐观锁扣减
    NoOpQuotaValidatoryudao.seal.quota-validator=noop不做任何校验,始终返回 true(测试用)
    Biz 层调用方式(注意 null 安全):

    4. SealUserValidator(用户校验器)#

    接口定义(seal-api):
    内置实现:
    实现类激活条件说明
    RuoyiUserValidatoryudao.seal.user-validator=ruoyi(默认)查询 system_user 和 member_user 表
    NoOpUserValidatoryudao.seal.user-validator=noop始终返回成功(开发/测试用,生产会告警)

    5. UserInfoProvider / UserInfoAdapter(用户信息提供者)#

    这是一个使用了**桥接模式(Bridge Pattern)**的双层 SPI 设计:
                            seal-biz 定义
    ┌──────────────┐    ┌──────────────────┐    ┌──────────────┐
    │ Service 层    │───▶│ UserInfoProvider  │◀──│UserInfoPro-  │
    │ (业务代码调用) │    │ (接口)            │    │viderBridge   │
    └──────────────┘    └──────────────────┘    └──────┬───────┘
                                                       │ 委托
                                                       ▼
                        ┌──────────────────┐    ┌──────────────┐
                        │ UserInfoAdapter   │◀──│UserInfoAdap- │  seal-starter 实现
                        │ (接口)            │    │terImpl       │
                        └──────────────────┘    └──────────────┘
    为什么需要两层?
    1.
    UserInfoProvider:seal-biz 内部使用的标准接口,业务代码只依赖它
    2.
    UserInfoAdapter:供 Starter 模块实现的适配器接口,包含 getAdapterType() 等管理方法
    3.
    UserInfoProviderBridge:桥接器,将 Starter 的 Adapter 实现桥接为 Biz 的 Provider
    4.
    这样 Biz 模块完全不依赖 Starter 模块,实现编译隔离
    UserInfoProvider 接口(seal-biz):
    内置实现:
    实现类激活条件说明
    UserInfoAdapterImplclasspath 存在 MemberUserApi通过反射调用 member 模块,避免编译依赖
    NoOpUserInfoAdapter无其他 Adapter 实现时返回 null,功能降级,日志告警
    Biz 层调用方式:

    6. EnterpriseAccessValidator(企业权限校验器)#

    接口定义(seal-biz):
    内置实现:
    实现类激活条件说明
    EnterpriseAccessValidatorImplclasspath 存在 MemberEnterpriseUserService通过反射调用 member 模块
    NoOpEnterpriseAccessValidator无其他实现时始终放行,日志告警

    SPI 注入模式总结#

    Seal 模块中 SPI 的注入方式分为两类,开发时必须遵循:
    必需依赖(@Resource):
    可选依赖(@Autowired(required = false)):

    自动配置机制#

    Starter 模块通过 Spring Boot 的自动配置机制注册所有 SPI 实现:
    1.
    注册入口:META-INF/spring.factories 声明 SealAutoConfiguration
    2.
    总开关:yudao.seal.mode=starter 时激活自动配置
    3.
    条件装配:每个实现类使用 @Conditional* 注解控制装配条件
    spring.factories
      └── SealAutoConfiguration (@ConditionalOnProperty: yudao.seal.mode=starter)
            ├── @ComponentScan 扫描 seal.biz + seal.starter 包
            ├── RuoyiAuthAdapter      (@ConditionalOnClass: SecurityFrameworkUtils)
            ├── RuoyiQuotaValidator   (@ConditionalOnProperty: quota-validator=ruoyi, 默认)
            ├── RuoyiUserValidator    (@ConditionalOnProperty: user-validator=ruoyi, 默认)
            ├── UserInfoAdapterImpl   (@ConditionalOnClass: MemberUserApi)
            ├── UserInfoProviderBridge(@ConditionalOnBean: UserInfoAdapter)
            ├── NoOpQuotaValidator    (@ConditionalOnProperty: quota-validator=noop)
            ├── NoOpUserValidator     (@ConditionalOnProperty: user-validator=noop)
            ├── NoOpUserInfoAdapter   (@ConditionalOnMissingBean: UserInfoAdapter)
            └── NoOpEnterpriseAccess  (@ConditionalOnMissingBean: EnterpriseAccessValidator)

    配置属性#

    配置键可选值默认值说明
    yudao.seal.modestarter / 不设置不启用总开关,必须设为 starter 才激活自动配置
    yudao.seal.auth.typeruoyi / jwt / oauth2ruoyi认证方式
    yudao.seal.storage.typelocal / oss / minio-存储方式
    yudao.seal.quota-validatorruoyi / noopruoyi配额校验器
    yudao.seal.user-validatorruoyi / noopruoyi用户校验器

    自定义 SPI 实现指南#

    如果需要将 Seal 模块集成到非 Ruoyi 系统,只需实现对应的 SPI 接口:
    步骤 1:创建实现类
    步骤 2:确保你的实现类能被 Spring 扫描到(@Component 或 @Bean)
    步骤 3:如果使用了条件属性,在 application.yml 中设置对应值
    注意:自定义实现会自动覆盖内置的默认实现(通过 @ConditionalOnMissingBean / @ConditionalOnProperty 机制)。

    平台路由配置#

    概述#

    平台路由配置决定了签署链接的生成方式和用户的签署入口(小程序 / H5)。所有配置统一在数据库 infra_config 表中管理,管理员通过管理后台「基础设施 - 参数配置」操作,无需修改代码或重启服务。

    配置项#

    配置键说明示例值
    seal.platform.h5-domainseal-core H5 域名(签署引擎)https://seal.example.com
    seal.platform.mini-contract-h5-domainmini-contract H5 域名(登录签署用)https://app.example.com
    seal.platform.miniprogram-appid微信小程序 AppIDwx22db0d6ebe81e2ee
    seal.platform.miniprogram-name小程序在引导页显示的名称MiniContract.Pro
    seal.platform.miniprogram-logo小程序在引导页显示的图标 URLhttps://oss.example.com/logo.png

    启停控制#

    通过 infra_config 表的 visible 字段(管理后台显示为「是否可见」)控制功能开关:
    visible 值效果
    是 (true)该配置启用,正常读取值
    否 (false)该配置禁用,等同于未配置

    平台组合策略#

    小程序 AppIDMini-Contract H5 域名行为
    启用禁用只走小程序签署
    禁用启用只走 H5 登录签署
    启用启用小程序优先,H5 作为回退
    禁用禁用无法签署(异常)

    初始化#

    首次部署需执行 SQL 脚本初始化配置:

    技术实现#

    配置读取链路:
    管理后台「参数配置」
        ↓ 写入
    infra_config 表(config_key + value + visible)
        ↓ 读取
    ConfigApi.getVisibleConfigValueByKey()
        ↓ visible=false 返回 null
    SealConfigService.getVisibleConfig()
        ↓ null 或空 → 返回 ""(功能禁用)
    业务代码调用(如 getSealCoreH5Domain()、isMiniprogramEnabled())
    相关代码:
    ConfigApi.java / ConfigApiImpl.java - 基础配置 API(含 visible 感知方法)
    SealConfigService.java - 平台路由配置读取服务
    SealConfigChecker.java - 启动时配置检查,打印当前启用状态

    签署链接生成与跳转流程#

    短链接格式#

    前缀用途场景
    /s/{ref}H5 签署链接H5 模式优先时生成
    /m/{ref}小程序签署链接小程序模式优先时生成
    /p/{ref}预览链接签署完成后查看合同

    链接生成逻辑#

    SealSignTaskNotificationServiceImpl.generateSignUrl():
    调用方未指定 platform 参数
        ↓
    SealConfigService.isMiniprogramEnabled() ?
        ├── true  → platform = "miniprogram" → 生成 /m/{ref}
        └── false → platform = "h5"          → 生成 /s/{ref}
    短链接数据存储在 Redis 中,key 格式为 seal:sign:token:{ref},默认 7 天过期。

    前端跳转流程(SignRedirect.vue)#

    用户点击签署链接后,seal-core 的 SignRedirect.vue 负责路由分发:
    用户点击签署链接
        ↓
    前端调用 /app-api/api/v1/seal/auth/by-ref?ref=xxx
        ↓
    后端返回认证结果 + platformRouting
        ↓
    ┌─ linkType = QUICK_SIGN(快捷签署)
    │   → 直接跳转到签署页面 /h5/sign/document
    │
    ├─ linkType = PREVIEW_LINK(预览)
    │   → 跳转到预览页面 /h5/preview/contract
    │
    └─ linkType = SECURE_SIGN(登录签署)
        ↓
        ┌─ /m/ 路径(小程序链接)
        │   ├─ 微信内 → 显示小程序桥接页(打开小程序按钮)
        │   └─ 非微信 → 显示「请使用微信打开」页面(复制链接按钮)
        │              └─ 如果 H5 也启用 → 底部显示「使用网页签署」回退链接
        │
        └─ /s/ 路径(H5 链接)
            ├─ 微信内 + 小程序可用 → 显示小程序桥接页
            ├─ H5 可用 → 跳转 H5 登录页(mini-contract 登录页)
            ├─ 仅小程序(非微信)→ 显示「请使用微信打开」页面
            └─ 都不可用 → 显示错误提示

    后端 platformRouting 响应结构#

    AuthByRefRespVO.PlatformRouting(SECURE_SIGN 模式下返回):
    {
      "preferMiniprogram": true,
      "miniprogram": {
        "enabled": true,
        "appId": "wx22db0d6ebe81e2ee",
        "name": "MiniContract.Pro",
        "logo": "https://...",
        "urlScheme": "weixin://dl/business/?appid=wx...&path=..."
      },
      "h5LoginUrl": "https://app.example.com/#/pages/login/index?redirect=..."
    }
    preferMiniprogram: 由 isMiniprogramEnabled() 决定
    miniprogram.enabled: 小程序 AppID 配置且 visible=是
    h5LoginUrl: mini-contract H5 域名配置且 visible=是 时拼接完整登录 URL,否则为空

    签署安全级别#

    级别定义#

    级别值说明用户体验
    快捷签署0无需登录,点击链接直接签署用户点击链接 → 直接进入签署页面
    登录签署1需要登录后才能签署用户点击链接 → 引导登录 → 登录后跳转签署页面

    配置方式#

    1.
    全局默认级别 - 数据库 seal.sign.default-security-level(0 或 1)
    2.
    任务级别覆盖 - 创建签署任务时可指定 signSecurityLevel,覆盖全局默认值
    3.
    链接过期时间 - 数据库 seal.sign.link-expire-hours,默认 168 小时(7 天)

    实现原理#

    创建签署链接时:
        ├─ 快捷签署 → Redis 存储完整 Seal-Token → 前端拿到 token 直接签署
        └─ 登录签署 → Redis 存储元数据(taskId, participantId, tenantId)
                    → 前端需要用户登录后,带着登录态再请求签署
    
    前端认证时(/auth/by-ref):
        ├─ 快捷签署 → 直接返回 Seal-Token,linkType=QUICK_SIGN
        └─ 登录签署 → 返回 requireLogin=true,linkType=SECURE_SIGN
                    → 同时返回 platformRouting 告诉前端如何跳转

    Open API 开放接口#

    概述#

    Open API 为第三方系统提供签署能力集成接口。第三方通过 AppKey/Secret 认证后,可以创建签署任务、获取签署链接、配置 Webhook 回调,实现签署流程的自动化。

    架构总览#

    ┌──────────────────────────────────────────────────────────────────┐
    │                      第三方系统                                   │
    │                                                                  │
    │  1. 获取 Token    2. 创建签署任务    3. 嵌入签署页面    4. 接收回调  │
    └──────┬───────────────┬──────────────────┬──────────────┬─────────┘
           │               │                  │              │
           ▼               ▼                  ▼              ▼
    ┌──────────────────────────────────────────────────────────────────┐
    │                    Open API 接口层                                │
    │                    路径前缀: /open-api(框架自动添加)               │
    │                                                                  │
    │  ┌─────────────────┐  ┌──────────────────┐  ┌────────────────┐  │
    │  │OpenSealAuth     │  │OpenSignTask      │  │OpenWebhook     │  │
    │  │Controller       │  │Controller        │  │Controller      │  │
    │  │                 │  │                  │  │                │  │
    │  │POST /auth/token │  │POST /sign-tasks  │  │POST /webhooks  │  │
    │  │(AppKey/Secret   │  │GET  /sign-tasks/ │  │GET  /webhooks  │  │
    │  │ → Seal-Token)   │  │     {taskId}     │  │DELETE /webhooks│  │
    │  │                 │  │POST /sign-tasks/ │  │                │  │
    │  │                 │  │     {taskId}/     │  │                │  │
    │  │                 │  │     cancel       │  │                │  │
    │  │                 │  │GET  /sign-tasks/ │  │                │  │
    │  │                 │  │     {taskId}/     │  │                │  │
    │  │                 │  │     sign-links   │  │                │  │
    │  │                 │  │GET  /sign-tasks/ │  │                │  │
    │  │                 │  │     {taskId}/     │  │                │  │
    │  │                 │  │     download     │  │                │  │
    │  └─────────────────┘  └──────────────────┘  └────────────────┘  │
    └──────────────────────────────────────────────────────────────────┘
                                ↓
    ┌──────────────────────────────────────────────────────────────────┐
    │                    业务层 (Service)                               │
    │                                                                  │
    │  ┌──────────────────────┐  ┌─────────────────────────────────┐  │
    │  │SealSignTaskService   │  │SealWebhookService               │  │
    │  │(复用已有签署任务服务)   │  │                                 │  │
    │  │                      │  │ saveWebhookConfig()  配置回调    │  │
    │  │ createSignTask()     │  │ sendWebhook()        异步发送    │  │
    │  │ generateSignLink()   │  │ retryFailedWebhooks() 失败重试  │  │
    │  │ cancelSignTask()     │  │                                 │  │
    │  └──────────────────────┘  │ HTTP 客户端: WebClient           │  │
    │                            │ 签名算法: HMAC-SHA256             │  │
    │                            │ 重试策略: 指数退避 (1/5/30 min)    │  │
    │                            └─────────────────────────────────┘  │
    └──────────────────────────────────────────────────────────────────┘
                                ↓
    ┌──────────────────────────────────────────────────────────────────┐
    │                    数据层 (Database)                              │
    │                                                                  │
    │  ┌──────────────────────┐  ┌─────────────────────────────────┐  │
    │  │seal_api_key          │  │seal_webhook_config              │  │
    │  │(API 密钥表)           │  │(回调配置表)                      │  │
    │  │                      │  │                                 │  │
    │  │ id (Integer)         │  │ id, api_key_id, callback_url    │  │
    │  │ app_name             │  │ secret, events, status          │  │
    │  │ api_key, secret_key  │  └─────────────────────────────────┘  │
    │  │ status               │  ┌─────────────────────────────────┐  │
    │  └──────────────────────┘  │seal_webhook_log                 │  │
    │                            │(回调日志表)                       │  │
    │                            │                                 │  │
    │                            │ id, webhook_config_id, task_id   │  │
    │                            │ event_type, request_body         │  │
    │                            │ response_status, response_body   │  │
    │                            │ status, retry_count              │  │
    │                            │ next_retry_time                  │  │
    │                            └─────────────────────────────────┘  │
    └──────────────────────────────────────────────────────────────────┘

    路径规范#

    Open API 的 Controller 位于 controller.open 包下,框架 WebProperties 自动添加 /open-api 前缀:
    因此 Controller 的 @RequestMapping 不需要写 /open-api 前缀:

    API 接口一览#

    方法实际路径说明认证方式
    POST/open-api/api/v1/seal/auth/token获取访问令牌AppKey + SecretKey
    POST/open-api/api/v1/seal/sign-tasks创建签署任务Seal-Token
    GET/open-api/api/v1/seal/sign-tasks/{taskId}查询任务详情Seal-Token
    POST/open-api/api/v1/seal/sign-tasks/{taskId}/cancel撤销任务Seal-Token
    GET/open-api/api/v1/seal/sign-tasks/{taskId}/sign-links获取签署链接Seal-Token
    GET/open-api/api/v1/seal/sign-tasks/{taskId}/download下载已签署文件Seal-Token
    POST/open-api/api/v1/seal/webhooks配置 WebhookSeal-Token
    GET/open-api/api/v1/seal/webhooks查询 Webhook 配置Seal-Token
    DELETE/open-api/api/v1/seal/webhooks删除 Webhook 配置Seal-Token

    典型集成流程#

    第三方系统                          Contract.Pro                    签署人
        │                                   │                            │
        │  1. POST /auth/token              │                            │
        │     (apiKey + secretKey + nonce)   │                            │
        │ ◀─── Seal-Token ─────────────────│                            │
        │                                   │                            │
        │  2. POST /sign-tasks              │                            │
        │     (模板ID + 参与人 + callbackUrl)│                            │
        │ ◀─── taskId + signUrl ───────────│                            │
        │                                   │                            │
        │  3. 将 signUrl 嵌入 iframe/WebView │                            │
        │ ─────────────────────────────────────────── signUrl ──────────▶│
        │                                   │                            │
        │                                   │  4. 用户在 seal-core 签署   │
        │                                   │ ◀──── 签署完成 ────────────│
        │                                   │                            │
        │  5. Webhook 回调                   │                            │
        │ ◀─── POST callbackUrl ───────────│                            │
        │     {eventType: "sign_completed", │                            │
        │      taskId, signedFileUrl}       │                            │
        │                                   │                            │
        │  6. GET /sign-tasks/{id}/download │                            │
        │ ◀─── signedFileUrl ──────────────│                            │
        │                                   │                            │

    Webhook 回调机制#

    事件类型#

    事件说明触发时机
    sign_completed签署完成所有参与人完成签署
    sign_rejected签署拒绝任一参与人拒签
    sign_cancelled签署撤销发起人撤销任务
    sign_expired签署过期任务超过截止时间

    回调请求格式#

    POST {callbackUrl}
    Headers:
      Content-Type: application/json
      X-Seal-Signature: {HMAC-SHA256 签名}
      X-Seal-Event: {事件类型}
      X-Seal-Timestamp: {时间戳}
    
    Body:
    {
      "eventType": "sign_completed",
      "taskId": 1024,
      "taskName": "劳动合同",
      "status": 3,
      "timestamp": 1707724800000,
      "signedFileUrl": "https://oss.example.com/signed/xxx.pdf"
    }

    签名验证#

    第三方收到回调后,应使用配置的 secret 验证签名:

    重试策略#

    重试次数延迟说明
    第 1 次1 分钟首次失败后
    第 2 次5 分钟指数退避
    第 3 次30 分钟最后一次尝试
    超过 3 次重试后标记为最终失败,记录在 seal_webhook_log 表中。

    技术实现#

    HTTP 客户端:WebClient(Spring WebFlux,与项目 AI 模块保持一致)
    异步发送:@Async + TransactionSynchronizationManager(事务提交后触发)
    失败重试:@Scheduled(fixedDelay = 60000) 定时扫描待重试记录

    安全配置#

    Open API 的安全配置在 SecurityConfiguration 中:
    拦截器配置在 SealWebMvcConfigurer 中:

    快速开始#

    前置要求#

    JDK 1.8+
    Maven 3.6+
    MySQL 5.7+ 或 8.0+
    Redis 6.0+

    步骤 1:添加依赖#

    <dependency>
        <groupId>cn.iocoder.boot</groupId>
        <artifactId>yudao-module-seal-spring-boot-starter</artifactId>
        <version>${revision}</version>
    </dependency>

    步骤 2:初始化数据库#

    步骤 3:在管理后台配置平台路由#

    进入管理后台「基础设施 - 参数配置」,找到 seal 分类,配置:
    1.
    seal.platform.h5-domain - 填写 seal-core 的访问域名
    2.
    seal.platform.miniprogram-appid - 填写微信小程序 AppID(如需小程序签署)
    3.
    seal.platform.miniprogram-name - 填写小程序显示名称
    4.
    seal.platform.miniprogram-logo - 填写小程序图标 URL
    5.
    seal.platform.mini-contract-h5-domain - 填写 mini-contract H5 域名(如需 H5 登录签署)
    通过「是否可见」开关控制各平台的启停。

    步骤 4:启动服务#

    启动时 SealConfigChecker 会自动打印当前配置状态:
    ========================================
    Seal 模块配置检查(数据来源:管理后台「参数配置」)
    ========================================
      [seal-core H5 域名] = https://seal.example.com (已启用)
      [Mini-Contract H5 域名] 未配置或已禁用(配置键: seal.platform.mini-contract-h5-domain)
      [小程序 AppID] = wx22db0d6ebe81e2ee (已启用)
    ========================================

    配置参考#

    application-seal.yaml#

    Seal 模块的配置文件位于 yudao-module-seal-biz/src/main/resources/application-seal.yaml,通过 SealConfigurationLoader(EnvironmentPostProcessor)自动加载,无需手动 import。
    主要配置分类:
    分类说明配置前缀
    基础配置模块开关、调试模式yudao.seal
    API 路径管理端/App端路径前缀yudao.seal.api
    安全认证JWT 密钥、Token 过期时间yudao.seal.security
    License授权验证yudao.seal.license
    文档转换PDF 转换服务seal.document.convert
    数字签名PDF 签名证书seal.digital-signature
    平台路由已迁移到数据库管理seal.platform.*(infra_config 表)
    注意:平台路由配置(H5 域名、小程序信息)已从 YAML 迁移到数据库,通过管理后台动态管理。详见 平台路由配置 章节。

    SQL 初始化脚本#

    脚本说明
    sql/mysql/014-sign-security-mode.sql签署安全级别配置
    sql/mysql/015-platform-routing-config.sql平台路由配置(H5 域名、小程序信息)

    更新日志#

    2026-02-12 - Open API 开放接口#

    新增 Open API 模块(controller.open 包),支持第三方系统集成签署能力
    OpenSealAuthController:AppKey/Secret 认证,获取 Seal-Token
    OpenSignTaskController:签署任务创建、查询、撤销、签署链接获取、文件下载
    OpenWebhookController:Webhook 回调配置管理(CRUD)
    SealWebhookService:异步回调发送 + HMAC-SHA256 签名 + 指数退避重试
    数据库新增 seal_webhook_config(回调配置)和 seal_webhook_log(回调日志)表
    框架 WebProperties 新增 openApi 配置,自动为 controller.open 包添加 /open-api 前缀

    2026-02-06 - 平台路由配置重构#

    平台路由配置从 YAML 迁移到数据库(infra_config 表)
    通过「是否可见」开关控制小程序/H5 模式的启停
    签署链接自动根据启用的平台选择 /s/(H5)或 /m/(小程序)前缀
    新增 ConfigApi.getVisibleConfigValueByKey() 方法,支持 visible 感知
    SealConfigService 简化为纯数据库读取,去掉 YAML 兜底逻辑
    SealConfigChecker 启动时打印平台配置状态
    前端 SignRedirect.vue 完善非微信环境 + 仅小程序模式的处理
    其他引用平台配置的类统一改用 SealConfigService

    v2.0.0 (2025-10-03) - 产品化版本#

    Spring Boot Starter 机制
    SPI 扩展机制(认证 + 存储)
    License 验证系统
    双模式集成(Starter / Direct)

    技术支持#

    邮件:shawn@leepm.com
    社区讨论:GitHub Issues
    修改于 2026-02-14 04:12:10
    下一页
    开放平台接入文档
    Built with