🚀3分钟画流程图!AI+绘图神器CP💥学完老板跪求教程!

🚀3分钟画流程图!AI+绘图神器CP💥学完老板跪求教程!

“朋友,又在熬夜改第8版流程图?🤯”
晚上9点🌙盯着被业务方打回的文档,谁不想把文字”biu~”变成流程图?

作为被UML暴击999次的产品狗🐶今天手把手教你这套王炸组合——
【DeepSeek对话生成+Mermaid自动绘图】💡实测3分钟把需求文档变标准流程图❗

🛠️保姆级教程(手残党友好版)
1️⃣ ​ AI生成XML文件

🔹把产品文档丢进DeepSeek对话框

### 产品需求文档(PRD):用户登录模块设计

---

#### **1. 需求背景**  
为满足多场景用户身份认证需求,提升用户登录便捷性与系统安全性,需设计支持多方式登录、单点登录及账户管理的统一认证模块,适配Web端、移动端及第三方应用集成场景。

---

#### **2. 功能范围**  
- **核心功能**:  
  - 多方式登录:微信/钉钉/QQ第三方授权、账号密码、短信验证码  
  - 单点登录(SSO)  
  - 密码找回与重置  
- **辅助功能**:  
  - 登录态管理(Token有效期、自动续签)  
  - 风险控制(异常登录检测、设备/IP风控)  
  - 用户协议与隐私授权  

---

#### **3. 详细需求说明**  

##### **3.1 多方式登录**  
| 登录方式      | 实现逻辑                                                                 | 安全要求                          |  
|---------------|--------------------------------------------------------------------------|-----------------------------------|  
| **微信/钉钉/QQ** | 对接开放平台OAuth2.0协议,获取用户唯一标识(UnionID/OpenID)及基础信息    | 强制绑定手机号(首次登录)        |  
| **账号密码**     | 支持6-20位含大小写+特殊字符组合,BCrypt加密存储                          | 失败3次触发图形验证码             |  
| **短信验证码**   | 对接运营商服务,验证码5分钟有效期,同手机号60秒限频                      | 单日发送上限5次,IP/设备频控      |  

##### **3.2 单点登录(SSO)**  
- **协议标准**:支持OAuth 2.0、SAML 2.0协议  
- **应用场景**:  
  - 企业内部系统(如ERP、CRM)无缝跳转登录  
  - 第三方合作伙伴系统共享登录态(需白名单授权)  
- **Token管理**:JWT格式,有效期2小时,支持RSA256加密及自动刷新  

##### **3.3 密码找回**  
1. **身份验证**:  
   - 已绑定手机/邮箱:短信/邮件验证码验证  
   - 未绑定安全信息:人工审核(上传身份证+活体检测)  
2. **重置流程**:  
   - 临时链接30分钟有效,强制修改后旧密码失效  
   - 历史密码不可重复使用(记录最近3次)  

---

#### **4. 非功能性需求**  
- **性能**:登录接口响应时间≤500ms(P99)  
- **安全性**:  
  - HTTPS传输,敏感字段脱敏(如手机号显示为138****1234)  
  - 防暴力破解:5分钟内同账号/IP失败10次锁定30分钟  
- **兼容性**:  
  - 微信SDK兼容小程序/公众号/H5  
  - 钉钉适配企业自建应用与ISV应用  

---

#### **5. 交互原型与规则**  
- **登录页布局**(优先级顺序):  
  ![登录页原型](https://via.placeholder.com/800x400?text=第三方登录+验证码+账号密码+SSO入口)  
  - 第三方图标按微信→钉钉→QQ顺序排列  
  - 账号密码/验证码登录可切换Tab  
  - SSO入口仅对合作域名/IP段显示  
- **异常提示**:  
  ```plaintext  
  # 密码错误  
  提示:账号或密码错误,剩余尝试次数{X}次(触发图形验证码后提示)  

  # 风险拦截  
  提示:检测到非常用设备登录,请通过{已绑定手机号}接收验证码完成安全验证  
  ```

---

#### **6. 数据埋点与监控**  
- **核心指标**:  
  - 登录成功率(分渠道统计)  
  - 平均登录耗时、SSO跳转耗时  
  - 密码找回转化率  
- **报警规则**:  
  - 登录接口错误率>1%触发P1告警  
  - 同一账号1小时内多地登录触发风控通知  

---

#### **7. 交付验收标准**  
- 通过CSRF、XSS渗透测试(出具第三方安全报告)  
- 全渠道登录成功率≥99.5%(压测模拟1000并发)  
- 兼容Android/iOS/Windows/MacOS主流版本  

--- 

**PRD附件**:  
- [第三方登录OpenAPI文档链接]  
- [SSO协议对接示例代码]  
- [风控策略详细配置表]  


🔹输入咒语:”以上为登录模块,请分析并输出XML流程图”✨
🔹检查XML结构,确保结构满足需求,层次分明,每个节点的name属性要准确描述步骤,condition属性要明确判断条件。同时,子流程的引用要正确,确保流程的连贯性。复制【📋复制】deepseel输出的文件

<process name="UserLoginFlow">
    <!-- 登录主流程 -->
    <step name="Start" type="start"/>
    <step name="LoginMethodSelection" type="decision">
        <choice>
            <case condition="WeChat">
                <subflow name="WeChatLoginFlow"/>
            </case>
            <case condition="DingTalk">
                <subflow name="DingTalkLoginFlow"/>
            </case>
            <case condition="QQ">
                <subflow name="QQLoginFlow"/>
            </case>
            <case condition="AccountPassword">
                <subflow name="AccountPasswordLoginFlow"/>
            </case>
            <case condition="SMSVerification">
                <subflow name="SMSVerificationLoginFlow"/>
            </case>
        </choices>
    </step>

    <!-- 第三方登录公共流程 -->
    <subflow name="ThirdPartyLoginCommon">
        <step name="OpenPlatformAuth" type="action">调用对应SDK获取OpenID/UnionID</step>
        <step name="CheckBindingStatus" type="decision">
            <choice>
                <case condition="Bound">
                    <step name="GenerateSessionToken" type="action">生成JWT Token并设置Cookie</step>
                    <step name="RedirectToHomepage" type="action">跳转至用户中心</step>
                </case>
                <case condition="Unbound">
                    <subflow name="BindPhoneNumberFlow"/>
                </case>
            </choices>
        </step>
    </subflow>

    <!-- 账号密码登录流程 -->
    <subflow name="AccountPasswordLoginFlow">
        <step name="InputCredentials" type="action">输入账号密码</step>
        <step name="ValidateCredentials" type="action">验证用户名密码(BCrypt比对)</step>
        <step name="PasswordErrorHandling" type="decision">
            <choice>
                <case condition="Success">
                    <subflow name="ThirdPartyLoginCommon"/>
                </case>
                <case condition="Failure">
                    <step name="IncrementFailedCount" type="action">记录登录失败次数</step>
                    <step name="CheckLockoutPolicy" type="decision">
                        <case condition="ExceededAttempts">
                            <step name="ShowCaptcha" type="action">显示图形验证码</step>
                        </case>
                        <case condition="StillValid">
                            <step name="PromptRetry" type="action">提示重新输入</step>
                        </case>
                    </step>
                </case>
            </choices>
        </step>
    </subflow>

    <!-- 短信验证码登录流程 -->
    <subflow name="SMSVerificationLoginFlow">
        <step name="RequestVerificationCode" type="action">发送短信验证码至绑定手机号</step>
        <step name="InputVerificationCode" type="action">输入收到的验证码</step>
        <step name="ValidateSMSCode" type="action">校验验证码有效性</step>
        <step name="ProceedToLogin" type="action">调用ThirdPartyLoginCommon子流程</step>
    </subflow>

    <!-- 密码找回流程 -->
    <subflow name="PasswordRecoveryFlow">
        <step name="InitiateRecovery" type="action">展示找回密码页面</step>
        <step name="SelectIdentityMethod" type="decision">
            <choice>
                <case condition="RegisteredPhone">
                    <subflow name="SMSVerificationForRecovery"/>
                </case>
                <case condition="RegisteredEmail">
                    <subflow name="EmailVerificationForRecovery"/>
                </case>
                <case condition="ManualAudit">
                    <step name="UploadIDDocuments" type="action">上传身份证件照片</step>
                    <step name="LiveIDCheck" type="action">活体检测验证</step>
                </case>
            </choices>
        </step>
        <step name="ResetPassword" type="action">生成临时密码并发送至用户</step>
        <step name="UpdatePassword" type="action">引导用户设置新密码</step>
    </subflow>

    <!-- 单点登录(SSO)流程 -->
    <subflow name="SSOLoginFlow">
        <step name="ReceiveSSORequest" type="action">解析传入的OAuth2.0/SAML参数</step>
        <step name="ValidateSSOToken" type="action">验证Token签名与有效期</step>
        <step name="QueryUserProfile" type="action">调用用户信息接口获取数据</step>
        <step name="EstablishSession" type="action">创建跨域Session并设置Cross-Origin Cookie</step>
        <step name="RedirectToTargetApp" type="action">跳转至目标系统首页</step>
    </subflow>

    <!-- 终止节点 -->
    <step name="End" type="end"/>
</process>

2️⃣ 将xml文件复制到Curor转换为可视化流程代码

3️⃣ ​打开mermaid官网,👉https://mermaid.live

🔸在code中复制 Curor生成的流程代码文件

🔸系统自动生成可视化流程图架构图🗺️
🔸微调细节,点击一键下载,收工!🎉


💡使用体验

最爽的不是省时间⏳
而是突然get上帝视角👼
再也不用边画图边骂排版了!

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注