跳转到内容

功能清单

XiHan.BasicApp 内置了中后台系统所需的完整能力。以下按领域列出。

身份与认证

  • 用户、角色、部门、菜单管理
  • JWT 双令牌(Access + Refresh),多端登录与会话管理
  • 多种登录方式:账号密码、邮箱 / 短信验证码、OAuth2(GitHub / Gitee / Google / QQ)、2FA(TOTP / 邮箱 / 短信)
  • 密码 PBKDF2 哈希;一次性验证码消费即销毁、恒定时间比较

权限(RBAC + ABAC)

  • 权限码 module:resource:action(如 saas:user:read),超级管理员用字面通配 *
  • 角色层级继承(闭包表)、数据范围(本人 / 部门 / 租户,独立于权限码的维度)、字段级脱敏
  • ABAC 属性条件(挂在角色权限 / 用户直授权限上,同组 AND、组间 OR):时间窗、IP、资源状态、数值阈值等 subject. / resource. / environment. 命名空间表达式
  • 约束规则引擎:静态 / 动态职责分离(SSD / DSD)、互斥、基数、先决条件、时间、位置(IP)、自定义共 8 类,违规可拒绝 / 警告 / 仅记录 / 转审批
  • 权限委托(委托人 → 被委托人 → 权限或角色范围 → 生效 / 到期时间窗,可随时撤销)
  • 权限申请审批与变更留痕

权限模型的完整说明见 权限模型

多租户

  • 字段级隔离,全局数据使用 TenantId=0 约定
  • 邮箱全局唯一登录,登录后按归属自动落点(控制台 / 工作台 / 租户选择),可随时切换租户
  • 超级管理员平台态运维,可切入任意租户代为管理
  • 租户版本(Edition)权限白名单运行时门控;开通一站式建管理员、角色与授权;降级自动回收越权授权

审计日志

  • 访问 / API / 操作 / 异常 / 登录 / 实体变更(Diff)/ 权限变更 七类日志,各自独立写入
  • 落库前自动脱敏(密码、令牌、密钥、证件号等);实体变更区分新增 / 修改 / 删除 / 恢复
  • 链路时间线:按维度(如租户 / 用户 / 请求)横向拉通上述七类日志,按时间轴串联同一次操作的完整轨迹

代码生成

  • 单表 / 树形 / 主从三种模式,从实体、DTO、API 到前端页面一键生成
  • 基于 Scriban 模板,支持自定义;Zip 下载或直接写入文件

工作流

  • 图执行引擎(来自框架 Workflow 包):节点 + 连线的有向图,17 个内置活动(开始/结束/终止/条件网关/并行/汇聚/延时/等待信号/人工任务/HTTP/脚本/发布事件/子流程/遍历/设置变量/日志/抛出故障)
  • 人工任务(审批):或签 / 会签 / 依次审批三种完成策略,支持转办、自定义办理结果
  • 长流程挂起不占线程:等人、等定时、等信号、等子流程都以「书签」挂起,由办理动作、定时器轮询、信号发布或子流程终态回调唤醒
  • 持久化落库:BasicApp 用 SqlSugar 存储替换框架的内存默认实现(定义 / 实例 / 节点实例 / 书签四张表),进程重启不丢流程
  • 运营页面:流程定义(草稿 → 发布 → 停用 / 版本管理)、流程实例(挂起 / 恢复 / 取消 / 终止 / 重试)、我的待办
  • 待办通知:待办创建、转办、实例故障自动发站内通知

AI 能力

  • AI Provider 管理:多供应商注册(密钥加密落库、读侧不回显)、测试连接、设为默认
  • 提示词库:集中维护 AI 提示词模板,支持状态启停
  • 知识库(RAG):文档摄取(切片 + 向量嵌入入库)、重建索引、检索问答(返回带引用来源的答案),并以技能形式接入 Agent 调用链

平台能力

  • 动态 API:应用服务经 [DynamicApi] 暴露,无 Controller 样板,Scalar 文档自动生成
  • 菜单单一事实源:后端 PageRegistry 统一注册菜单、路由、组件路径、权限码与国际化键
  • 全链路分布式缓存(授权快照、版本门控、菜单、配置、字典),写路径精准失效
  • 网关灰度发布(百分比 / 白名单 / 租户 / 请求头)、请求追踪、限流熔断
  • OAuth2 / OIDC 授权服务器:平台本身可作为 SSO 提供方供第三方应用接入(客户端注册、授权码 / 令牌签发与吊销),与登录页消费的外部 OAuth2(GitHub 等)是相反方向的两套能力
  • 开放 API 个人凭证:用户自助申请 AppKey / AppSecret,用于服务端签名调用开放接口,可随时滚动密钥
  • 消息模板(邮件 / 短信 / 站内通知 / 机器人,Scriban 渲染,租户可覆盖默认)、SignalR 实时通知与在线聊天(单聊 / 群聊 / 部门会话,管理员可审计会话内容)
  • 机器人通知:钉钉 / 飞书 / 企业微信 Webhook 机器人配置,以及多实例 Telegram Bot 管理
  • 数据字典:键值对枚举集中维护,供表单、搜索下拉复用
  • 服务器监控:CPU / 内存 / 磁盘 / GPU / 网络 / 主板 / 运行时信息可视化
  • 文件多存储(本地 / S3 / OSS / COS / MinIO)、定时任务、审核工作流、国际化(中 / 英)

前端体验

  • Schema 驱动列表页:搜索 / 表格 / 导出由配置生成,内置列设置、密度切换、高级搜索、个人视图保存、行悬停速览、树形模式与列宽拖拽
  • 权限 / 租户 / 偏好感知:页面、字段、操作三级按权限码过滤,字段级脱敏;列设置与搜索偏好同步到后端,多端一致
  • 灵动岛全局反馈、多标签页、收藏夹、命令面板式全局搜索
  • 消息中心:顶部横幅、登录弹窗、通知中心,支持强制阅读与按角色 / 部门定向
  • 偏好中心:亮 / 暗主题、主题色、布局风格与紧凑度,偏好云端同步
  • 富文本(Tiptap)与 Markdown 编辑器、Cron 可视化、JSON 编辑 / 查看
  • 锁屏、水印、时区切换、导入 / 导出中心(模板导入、异步导出任务)

下一步

Released under The MIT License