datai/docs/index.md
Kris a674b04a93 feat: 优化 Salesforce 多系统认证需求文档
- 增加 Salesforce CLI 和 Legacy Credential 登录支持
- 将错误码映射从数据库表改为枚举类(SalesforceErrorCode)
- 增加会话管理表(datai_sf_login_session)和功能
- 增加登录历史导出 Excel 和分页查询功能
- 优化系统配置字段(login_url、grant_type、org_alias)
- 更新业务场景、功能需求、数据模型、业务规则等章节
- 确保总需求文档与所有子需求保持一致
2026-01-22 10:42:55 +08:00

151 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 项目单一真源
## 元数据
- 项目名称datai
- 创建时间2026-01-21
- 版本1.0.0
- 状态:初始化
## 项目概述
datai 是一个基于 Spring Boot 的项目采用文档驱动开发Documentation-Driven Development模式通过"单一真源"Single Source of Truth原则管理项目的所有信息。
## 技术栈
- 后端框架Spring Boot
- Java 版本Java 8+
- 数据库MySQL (Druid连接池)
- ORM框架MyBatis
- 缓存Redis/Ehcache
- 工作流Flowable
- 认证授权OAuth2/JustAuth
- 其他技术Netty、WebSocket、RabbitMQ等
## 目录索引
### 核心文档
- [Authentication.canvas](./Authentication.canvas) - 项目组件可视化
### 文档目录
- [API 文档](./api-docs/README.md) - API 相关文档
- [变更日志](./changelog/README.md) - 变更日志
- [决策记录](./decisions/README.md) - 决策记录ADR
- [设计文档](./design/README.md) - 设计稿或架构设计
- [实施方案](./implementation/README.md) - 实施方案
- [业务逻辑](./method-logic/README.md) - 业务逻辑或算法逻辑
- [AI 提示词](./prompts/README.md) - AI 提示词库
- [参考代码](./reference-code/README.md) - 参考代码
- [需求文档](./requirements/README.md) - 需求文档
- [复盘文档](./retros/README.md) - 复盘与回顾
- [会话记录](./sessions/README.md) - 会议或对话记录
- [技能资料](./skill/README.md) - 技能相关资料
- [数据库脚本](./sql/README.md) - 数据库脚本
### Prompt 目录
- [元提示词](./Prompt/0001-元提示词.md) - 终极提示词架构师
- [创建 Trae 项目规则](./Prompt/0002-创建-trae-项目规则.md) - Trae 项目规则生成
- [需求澄清提示词](./Prompt/0003-需求澄清提示词.md) - 需求澄清专家
- [单一真源文档驱动架构师](./Prompt/0004-单一真源文档驱动架构师.md) - 文档驱动架构师
- [项目单一真源初始化专家](./Prompt/0005-项目单一真源初始化专家.md) - 项目初始化专家
- [API文档提示词](./Prompt/0006-api-docs-提示词.md) - API文档生成提示词
- [变更日志提示词](./Prompt/0007-changelog-提示词.md) - 变更日志生成提示词
- [决策记录提示词](./Prompt/0008-decisions-提示词.md) - 决策记录生成提示词
- [设计文档提示词](./Prompt/0009-design-提示词.md) - 设计文档生成提示词
## 模块索引
- [datai-admin](./../datai-admin/) - 管理后台模块
- [datai-common](./../datai-common/) - 通用工具模块
- [datai-framework](./../datai-framework/) - 核心框架模块
- [datai-models](./../datai-models/) - 模型模块集合
- datai-flowable - 工作流模块
- datai-form - 表单模块
- datai-generator - 代码生成器模块
- datai-message - 消息模块
- datai-online - 在线开发模块
- datai-quartz - 定时任务模块
- [datai-plugins](./../datai-plugins/) - 插件模块集合
- datai-atomikos - Atomikos事务管理
- datai-cache-ehcache - Ehcache缓存实现
- datai-cache-redis - Redis缓存实现
- datai-mybatis-interceptor - MyBatis拦截器
- datai-mybatis-jpa - MyBatis JPA支持
- datai-mybatis-plus - MyBatis Plus支持
- datai-netty - Netty通信框架
- datai-rabbitmq - RabbitMQ消息队列
- datai-websocket - WebSocket支持
- [datai-scenes](./../datai-scenes/) - 场景模块集合
- datai-scene-auth - 认证场景模块
- datai-scene-file - 文件场景模块
- datai-scene-pay - 支付场景模块
- [datai-system](./../datai-system/) - 系统核心模块
## 需求追踪
- [2026-01-21-001-动态数据源延迟加载](./requirements/2026-01-21-001-动态数据源延迟加载.md) - 实现动态数据源的延迟加载机制,支持应用启动时只加载主库,从库按需动态加载和切换 - 已完成
- [设计文档](./design/2026-01-21-001-动态数据源延迟加载设计.md) - 动态数据源延迟加载技术方案设计
- [架构决策](./decisions/2026-01-21-001-ADR-动态数据源延迟加载.md) - ADR-001: 动态数据源延迟加载架构决策
- [数据库脚本](./sql/2026-01-21-001-sys_datasource_config.sql) - 数据源配置表 SQL 文档
- [代码生成提示词](./prompts/2026-01-21-001-动态数据源延迟加载代码生成提示词.md) - 动态数据源延迟加载代码生成专用提示词
- [会话记录](./sessions/2026-01-21-001-session.md) - 动态数据源延迟加载开发会话记录
- [变更日志](./changelog/2026-01-21-001-changelog.md) - 动态数据源延迟加载变更记录
- [复盘文档](./retros/2026-01-21-001-retro.md) - 动态数据源延迟加载复盘文档
- [API 文档](./api-docs/2026-01-21-001-api.md) - 动态数据源延迟加载 API 文档
- [2026-01-21-002-项目国际化需求](./requirements/2026-01-21-002-项目国际化需求.md) - 实现项目的全面国际化功能,支持前端、后端、数据库三层国际化,支持中文和英文两种语言 - 进行中
- [2026-01-21-002-01-前端国际化需求](./requirements/2026-01-21-002-01-前端国际化需求.md) - 实现前端界面的国际化功能,支持界面元素、表单验证、动态内容的国际化
- [2026-01-21-002-02-后端国际化需求](./requirements/2026-01-21-002-02-后端国际化需求.md) - 实现后端的国际化功能,支持错误消息、日志消息、验证消息、通知消息的国际化
- [2026-01-21-002-03-数据库国际化需求](./requirements/2026-01-21-002-03-数据库国际化需求.md) - 实现数据库数据的国际化功能,支持字典数据、系统配置、菜单数据的国际化
- [2026-01-21-002-04-时区国际化需求](./requirements/2026-01-21-002-04-时区国际化需求.md) - 实现时区国际化功能,支持用户设置时区偏好,根据用户时区显示时间
- [2026-01-21-002-05-货币格式化需求](./requirements/2026-01-21-002-05-货币格式化需求.md) - 实现货币格式化功能,支持根据用户地区显示货币
- [2026-01-21-002-06-日期格式化需求](./requirements/2026-01-21-002-06-日期格式化需求.md) - 实现日期格式化功能,支持根据用户地区显示日期
- [2026-01-21-002-07-数字格式化需求](./requirements/2026-01-21-002-07-数字格式化需求.md) - 实现数字格式化功能,支持根据用户地区显示数字
- [2026-01-21-002-08-语言管理需求](./requirements/2026-01-21-002-08-语言管理需求.md) - 提供语言管理功能,支持添加、编辑、删除语言,支持设置系统默认语言
- [2026-01-21-002-09-国际化资源管理需求](./requirements/2026-01-21-002-09-国际化资源管理需求.md) - 提供国际化资源管理功能,支持添加、编辑、删除国际化资源,支持批量导入导出
- [2026-01-21-003-salesforce-multi-system-auth](./requirements/2026-01-21-003-salesforce-multi-system-auth.md) - 实现 Salesforce 多系统认证功能,支持配置多个不同类型的 Salesforce 系统,使用策略模式实现登录,区分源 org 和目标 org支持缓存过期时间戳校验、结构化缓存键设计、登录状态查询、错误码映射 - 进行中
- [2026-01-21-003-01-salesforce-multi-system-config](./requirements/2026-01-21-003-01-salesforce-multi-system-config.md) - Salesforce 多系统配置,支持配置多个不同类型的 Salesforce 系统,支持用户自定义系统类型,支持区分源 org 和目标 org支持敏感信息加密存储 - 代码生成已完成
- [2026-01-21-003-01-salesforce-multi-system-config-design](./design/2026-01-21-003-01-salesforce-multi-system-config-design.md) - Salesforce 多系统配置技术方案设计,包含架构设计、数据库设计、接口设计、核心逻辑设计等
- [2026-01-21-003-01-ADR-salesforce-multi-system-config](./decisions/2026-01-21-003-01-ADR-salesforce-multi-system-config.md) - ADR-003-01: Salesforce 多系统配置架构决策
- [2026-01-21-003-01-datai_sf_system_config](./sql/2026-01-21-003-01-datai_sf_system_config.sql) - Salesforce 系统配置表 SQL 文档
- [2026-01-21-003-01-salesforce-multi-system-config代码生成提示词](./prompts/2026-01-21-003-01-salesforce-multi-system-config代码生成提示词.md) - Salesforce 多系统配置代码生成提示词
- [2026-01-21-003-01-session](./sessions/2026-01-21-003-01-session.md) - Salesforce 多系统配置开发会话记录
- [2026-01-21-003-01-changelog](./changelog/2026-01-21-003-01-changelog.md) - Salesforce 多系统配置变更记录
- [2026-01-21-003-01-retro](./retros/2026-01-21-003-01-retro.md) - Salesforce 多系统配置复盘文档
- [2026-01-21-003-01-api](./api-docs/2026-01-21-003-01-api.md) - Salesforce 多系统配置 API 文档
- [2026-01-21-003-02-salesforce-strategy-login](./requirements/2026-01-21-003-02-salesforce-strategy-login.md) - Salesforce 策略模式登录,使用策略模式实现不同类型的 Salesforce 系统登录,支持 OAuth2 和 Session ID 登录,登录策略工厂使用工厂方法模式
- [2026-01-21-003-02-salesforce-strategy-login-design](./design/2026-01-21-003-02-salesforce-strategy-login-design.md) - Salesforce 策略模式登录技术方案设计,包含策略模式设计、工厂方法设计、接口设计、核心逻辑设计等
- [2026-01-21-003-02-ADR-salesforce-strategy-login](./decisions/2026-01-21-003-02-ADR-salesforce-strategy-login.md) - ADR-003-02: Salesforce 策略模式登录架构决策
- [2026-01-21-003-02-salesforce-strategy-login-database](./sql/2026-01-21-003-02-salesforce-strategy-login-database.md) - Salesforce 策略模式登录数据库结构说明,说明不需要创建新的数据库表,登录信息会回写到已有的 datai_sf_system_config 表中
- [2026-01-21-003-02-salesforce-strategy-login代码生成提示词](./prompts/2026-01-21-003-02-salesforce-strategy-login代码生成提示词.md) - Salesforce 策略模式登录代码生成提示词
- [2026-01-21-003-02-session](./sessions/2026-01-21-003-02-session.md) - Salesforce 策略模式登录开发会话记录
- [2026-01-21-003-02-changelog](./changelog/2026-01-21-003-02-changelog.md) - Salesforce 策略模式登录变更记录
- [2026-01-21-003-02-retro](./retros/2026-01-21-003-02-retro.md) - Salesforce 策略模式登录复盘文档
- [2026-01-21-003-02-api](./api-docs/2026-01-21-003-02-api.md) - Salesforce 策略模式登录 API 文档
- [2026-01-21-003-03-salesforce-login-history](./requirements/2026-01-21-003-03-salesforce-login-history.md) - Salesforce 登录历史,记录所有登录历史信息,包含审计信息,支持选择历史登录成功信息快速登录
- [2026-01-21-003-04-salesforce-cache-optimization](./requirements/2026-01-21-003-04-salesforce-cache-optimization.md) - Salesforce 缓存优化,登录成功后将 SF 登录信息保存到 Redis 缓存,使用时校验有效性,结构化缓存键设计,缓存刷新和清理
- [2026-01-21-003-05-salesforce-session-management](./requirements/2026-01-21-003-05-salesforce-session-management.md) - Salesforce 会话管理,支持会话管理,会话失效时自动重新登录,获取当前 Session ID 和 Instance URL
- [2026-01-21-003-06-salesforce-login-status-query](./requirements/2026-01-21-003-06-salesforce-login-status-query.md) - Salesforce 登录状态查询提供登录状态查询接口显示每个系统的登录状态Session ID 脱敏处理
- [2026-01-21-003-07-salesforce-error-code-mapping](./requirements/2026-01-21-003-07-salesforce-error-code-mapping.md) - Salesforce 错误码映射,建立完整的错误码映射表,提供友好的错误提示,支持错误重试机制
## 更新日志
- 2026-01-21: 初始化项目单一真源结构
- 2026-01-21: 新增需求 - 动态数据源延迟加载
- 2026-01-21: 新增设计文档 - 动态数据源延迟加载技术方案
- 2026-01-21: 新增架构决策 - ADR-001: 动态数据源延迟加载
- 2026-01-21: 新增数据库脚本 - sys_datasource_config 表
- 2026-01-21: 新增代码生成提示词 - 动态数据源延迟加载
- 2026-01-21: 新增变更日志 - 动态数据源延迟加载变更记录
- 2026-01-21: 新增复盘文档 - 动态数据源延迟加载复盘
- 2026-01-21: 新增 API 文档 - 动态数据源延迟加载 API
- 2026-01-21: 新增架构决策 - ADR-003-01: Salesforce 多系统配置
- 2026-01-21: 新增数据库脚本 - datai_sf_system_config 表
- 2026-01-21: 新增代码生成提示词 - Salesforce 多系统配置
- 2026-01-22: 新增设计文档 - Salesforce 策略模式登录技术方案
## 使用说明
1. 本文档是项目的单一真源,包含项目的所有信息
2. 每个模块都有对应的 index.md 作为模块的单一真源
3. 所有文档都通过索引关系相互链接
4. 文档命名格式YYYY-MM-DD-00X-功能名.md
5. 遵循阶段化执行流程,每个阶段生成对应的文档
## 维护规则
- 创建新文档时,必须更新相关索引
- 删除文档时,必须清理索引链接
- 修改文档时,必须同步更新索引
- Authentication.canvas 在 index 更新时同步更新