Skip to content

MindGuard 系统架构图

字数
6346 字
阅读时间
31 分钟

MindGuard 心理健康支持小程序系统架构可视化文档

版本:v1.0.0 | 更新时间:2025年10月20日

架构图采用 Mermaid 语法,支持实时渲染和交互式浏览


📋 目录


🏗️ 总体架构

系统整体架构图

mermaid
graph TB
    subgraph "用户层"
        U1[学生用户]
        U2[心理老师]
        U3[系统管理员]
    end

    subgraph "小程序前端层"
        UI[微信小程序界面]
        NAV[导航系统]
        COMP[TDesign组件库]
    end

    subgraph "服务层"
        AUTH[认证服务]
        CHECKIN[情绪打卡服务]
        TASK[任务管理服务]
        FORUM[社区服务]
        JOURNAL[日记服务]
        AI[AI对话服务]
        REPORT[周报服务]
    end

    subgraph "云函数层"
        CF1[用户登录]
        CF2[打卡记录器]
        CF3[任务工作流]
        CF4[树洞审核]
        CF5[周报生成]
        CF6[SOS中继]
        CF7[AI消息管理]
        CF8[建议编排器]
    end

    subgraph "AI工作流"
        DIFY1[情绪分析]
        DIFY2[风险识别]
        DIFY3[建议生成]
        DIFY4[内容审核]
        DIFY5[智能对话]
    end

    subgraph "数据层"
        DB1[(用户数据库)]
        DB2[(情绪数据库)]
        DB3[(社区数据库)]
        DB4[(对话数据库)]
        STORAGE[(云存储)]
    end

    subgraph "基础设施层"
        WXCloud[微信云开发]
        CDN[内容分发网络]
        MONITOR[监控系统]
        LOG[日志系统]
    end

    U1 --> UI
    U2 --> UI
    U3 --> UI

    UI --> NAV
    UI --> COMP

    NAV --> AUTH
    NAV --> CHECKIN
    NAV --> TASK
    NAV --> FORUM
    NAV --> JOURNAL
    NAV --> AI
    NAV --> REPORT

    AUTH --> CF1
    CHECKIN --> CF2
    TASK --> CF3
    FORUM --> CF4
    REPORT --> CF5
    AI --> CF7
    CHECKIN --> CF8

    CF2 --> DIFY1
    CF4 --> DIFY2
    CF8 --> DIFY3
    CF4 --> DIFY4
    CF7 --> DIFY5

    CF1 --> DB1
    CF2 --> DB2
    CF3 --> DB2
    CF4 --> DB3
    CF5 --> DB2
    CF7 --> DB4

    CF4 --> STORAGE
    CF7 --> STORAGE

    WXCloud --> CF1
    WXCloud --> CF2
    WXCloud --> CF3
    WXCloud --> CF4
    WXCloud --> CF5
    WXCloud --> CF6
    WXCloud --> CF7
    WXCloud --> CF8

    CDN --> STORAGE
    MONITOR --> WXCloud
    LOG --> WXCloud

技术栈架构图

mermaid
graph LR
    subgraph "前端技术栈"
        WXMP[微信小程序]
        WXML[WXML模板]
        WXSS[WXSS样式]
        JS[JavaScript]
        TDESIGN[TDesign组件]
    end

    subgraph "后端技术栈"
        WXSVR[微信云开发]
        NODEJS[Node.js]
        CLODFUNC[云函数]
        NOSQL[NoSQL数据库]
        CLOUDSTORAGE[云存储]
    end

    subgraph "AI技术栈"
        DIFY[Dify工作流]
        LLM[大语言模型]
        NLP[自然语言处理]
        REBT[理性情绪疗法]
    end

    subgraph "开发工具栈"
        DEVTOOLS[微信开发者工具]
        GIT[Git版本控制]
        NPM[NPM包管理]
        MOCK[Mock数据]
    end

    WXMP --> WXML
    WXMP --> WXSS
    WXMP --> JS
    WXMP --> TDESIGN

    WXSVR --> NODEJS
    WXSVR --> CLODFUNC
    WXSVR --> NOSQL
    WXSVR --> CLOUDSTORAGE

    DIFY --> LLM
    DIFY --> NLP
    DIFY --> REBT

    DEVTOOLS --> GIT
    DEVTOOLS --> NPM
    DEVTOOLS --> MOCK

📱 前端架构

小程序页面架构

mermaid
graph TB
    subgraph "主包 - 核心页面"
        TODAY[今天页面<br/>情绪打卡+微建议]
        TASKS[任务页面<br/>任务管理+执行]
        TREEHOLE[树洞页面<br/>社区互动]
        JOURNAL[随笔页面<br/>日记记录]
        MINE[我的页面<br/>个人中心]
    end

    subgraph "普通分包"
        COMMUNITY[社区分包<br/>帖子详情+编辑]
        PROFILE[个人资料分包<br/>资料编辑+徽章]
        BREATH[呼吸练习<br/>放松工具]
        MINDFULNESS[正念冥想<br/>冥想引导]
        JOURNALSEG[日记分包<br/>日记详情+导出]
        TASKSSEG[任务分包<br/>任务详情]
    end

    subgraph "独立分包"
        SOS[SOS紧急求助<br/>危机干预]
        HEARTCHAT[心语精灵<br/>AI对话]
    end

    subgraph "组件层"
        TDCOMP[TDesign组件]
        CUSTOMCOMP[自定义组件]
        MOODWHEEL[心情轮组件]
        TASKCARD[任务卡片组件]
        EMOTIONPICKER[情绪选择器]
    end

    subgraph "工具层"
        UTILS[工具函数]
        TELEMETRY[遥测系统]
        CACHE[缓存管理]
        REQUEST[网络请求]
    end

    TODAY --> COMMUNITY
    TODAY --> BREATH
    TODAY --> MINDFULNESS
    TODAY --> SOS
    TODAY --> HEARTCHAT

    TASKS --> PROFILE
    TASKS --> TASKSSEG

    TREEHOLE --> COMMUNITY

    JOURNAL --> JOURNALSEG

    MINE --> PROFILE

    COMMUNITY --> TDCOMP
    PROFILE --> TDCOMP
    BREATH --> CUSTOMCOMP
    MINDFULNESS --> CUSTOMCOMP
    SOS --> CUSTOMCOMP
    HEARTCHAT --> CUSTOMCOMP

    TDCOMP --> UTILS
    CUSTOMCOMP --> UTILS
    MOODWHEEL --> UTILS
    TASKCARD --> UTILS
    EMOTIONPICKER --> UTILS

    UTILS --> TELEMETRY
    UTILS --> CACHE
    UTILS --> REQUEST

前端数据流架构

mermaid
sequenceDiagram
    participant User as 用户
    participant Page as 页面组件
    participant Service as 服务层
    participant Cloud as 云函数
    participant DB as 数据库
    participant Cache as 本地缓存

    User->>Page: 用户操作
    Page->>Service: 调用API
    Service->>Cache: 检查缓存

    alt 缓存命中
        Cache-->>Service: 返回缓存数据
    else 缓存未命中
        Service->>Cloud: 调用云函数
        Cloud->>DB: 查询/更新数据
        DB-->>Cloud: 返回数据
        Cloud-->>Service: 返回结果
        Service->>Cache: 更新缓存
    end

    Service-->>Page: 返回数据
    Page->>Page: 数据处理+渲染
    Page-->>User: 更新界面

    Note over Page,Cache: 缓存策略<br/>- 情绪数据: 6小时<br/>- 任务数据: 1小时<br/>- 用户信息: 24小时

⚙️ 服务层架构

服务层模块关系图

mermaid
graph TB
    subgraph "核心服务"
        AUTH[认证服务<br/>auth.js]
        USER[用户服务<br/>user.js]
        USERCACHE[用户缓存<br/>userCache.js]
    end

    subgraph "情绪健康闭环"
        CHECKIN[情绪打卡<br/>checkins.js]
        SUGGESTION[微建议<br/>suggestions.js]
        TASK[任务管理<br/>tasks.js]
    end

    subgraph "社区守护系统"
        FORUM[社区服务<br/>forum.js]
        POST[云帖子<br/>cloud-post.js]
        PRIVACY[隐私服务<br/>privacy.js]
    end

    subgraph "日记与记录"
        JOURNAL[日记服务<br/>journals.js]
        REPORT[周报服务<br/>reports.js]
        BADGES[徽章服务<br/>badges.js]
    end

    subgraph "AI对话系统"
        ASKMSG[AI对话<br/>askMessage.js]
        NOTIFICATION[通知服务<br/>notifications.js]
    end

    subgraph "支撑服务"
        APPCONFIG[应用配置<br/>appConfig.js]
        RESOURCES[资源服务<br/>resources.js]
        PROFILE[个人资料<br/>profile.js]
    end

    subgraph "基础工具"
        TELEMETRY[遥测系统]
        REQUEST[网络请求]
        MOCK[Mock数据]
    end

    AUTH --> USER
    AUTH --> USERCACHE

    CHECKIN --> SUGGESTION
    SUGGESTION --> TASK

    FORUM --> POST
    FORUM --> PRIVACY

    JOURNAL --> REPORT
    REPORT --> BADGES

    ASKMSG --> NOTIFICATION

    USER --> PROFILE
    USER --> RESOURCES

    AUTH --> TELEMETRY
    CHECKIN --> TELEMETRY
    TASK --> TELEMETRY
    FORUM --> TELEMETRY
    JOURNAL --> TELEMETRY
    ASKMSG --> TELEMETRY

    CHECKIN --> REQUEST
    SUGGESTION --> REQUEST
    TASK --> REQUEST
    FORUM --> REQUEST
    JOURNAL --> REQUEST
    ASKMSG --> REQUEST

    CHECKIN --> MOCK
    SUGGESTION --> MOCK
    TASK --> MOCK
    FORUM --> MOCK
    JOURNAL --> MOCK

服务层调用时序图

mermaid
sequenceDiagram
    participant Page as 页面
    participant Auth as 认证服务
    participant Checkin as 打卡服务
    participant Suggestion as 建议服务
    participant Task as 任务服务
    participant Telemetry as 遥测
    participant Cloud as 云函数

    Page->>Auth: ensureLoggedIn()
    Auth->>Telemetry: report('auth_check')
    Auth-->>Page: 返回用户信息

    Page->>Checkin: getTodayCheckin()
    Checkin->>Cloud: callFunction('checkinRecorder')
    Cloud-->>Checkin: 返回打卡数据
    Checkin->>Telemetry: report('checkin_view')
    Checkin-->>Page: 返回格式化数据

    Page->>Suggestion: getTodaySuggestions()
    Suggestion->>Cloud: callFunction('suggestionOrchestrator')
    Cloud-->>Suggestion: 返回建议数据
    Suggestion->>Telemetry: report('suggestion_view')
    Suggestion-->>Page: 返回建议列表

    Page->>Task: acceptSuggestion()
    Task->>Cloud: callFunction('taskWorkflow')
    Cloud-->>Task: 返回任务数据
    Task->>Telemetry: report('task_created')
    Task-->>Page: 返回创建的任务

    Note over Page,Cloud: 所有服务调用都会<br/>记录遥测数据用于分析

☁️ 云函数架构

云函数分类架构

mermaid
graph TB
    subgraph "用户认证类"
        WXLOGIN[微信登录<br/>wxlogin]
        USERUPDATE[用户资料更新<br/>user-updateProfile]
    end

    subgraph "情绪健康类"
        CHECKINREC[打卡记录器<br/>checkinRecorder]
        SUGGESTION[建议编排器<br/>suggestionOrchestrator]
        TASKWORKFLOW[任务工作流<br/>taskWorkflow]
        WEEKLYREPORT[周报生成<br/>weeklyReport]
    end

    subgraph "社区守护类"
        POSTSERVICE[帖子服务<br/>postService]
        TREEMOD[树洞审核<br/>treeholeModeration]
        SOSRELAY[SOS中继<br/>sosRelay]
    end

    subgraph "AI对话类"
        ASK[AI对话主服务<br/>ask]
        ASKMSG[消息管理器<br/>askMessageManager]
        ASKAGENT[Agent管理器<br/>askAgentManager]
        ASKFILE[文件管理器<br/>askFileManager]
        ASKSESSION[会话管理器<br/>difySessionManager]
        ASKEMOTION[情绪摄入<br/>askEmotionIngest]
    end

    subgraph "数据分析类"
        ANALYTICS[数据分析<br/>analyticsIngest]
        DATAQUERY[数据查询<br/>data-query]
        GETWERUN[微信运动<br/>getWeRunSteps]
    end

    subgraph "共享组件"
        AUTHMIDDLEWARE[认证中间件]
        LOGMIDDLEWARE[日志中间件]
        VALIDATION[数据验证]
        ERRORHANDLER[错误处理]
    end

    WXLOGIN --> AUTHMIDDLEWARE
    USERUPDATE --> AUTHMIDDLEWARE
    CHECKINREC --> AUTHMIDDLEWARE
    SUGGESTION --> AUTHMIDDLEWARE
    TASKWORKFLOW --> AUTHMIDDLEWARE
    WEEKLYREPORT --> AUTHMIDDLEWARE
    POSTSERVICE --> AUTHMIDDLEWARE
    TREEMOD --> AUTHMIDDLEWARE
    SOSRELAY --> AUTHMIDDLEWARE
    ASK --> AUTHMIDDLEWARE
    ASKMSG --> AUTHMIDDLEWARE
    ASKAGENT --> AUTHMIDDLEWARE
    ASKFILE --> AUTHMIDDLEWARE
    ASKSESSION --> AUTHMIDDLEWARE
    ASKEMOTION --> AUTHMIDDLEWARE
    ANALYTICS --> AUTHMIDDLEWARE
    DATAQUERY --> AUTHMIDDLEWARE
    GETWERUN --> AUTHMIDDLEWARE

    AUTHMIDDLEWARE --> LOGMIDDLEWARE
    LOGMIDDLEWARE --> VALIDATION
    VALIDATION --> ERRORHANDLER

云函数执行流程

mermaid
flowchart TD
    START([请求开始]) --> VALIDATE{数据验证}

    VALIDATE -->|验证失败| ERROR[返回错误]
    VALIDATE -->|验证成功| AUTH{用户认证}

    AUTH -->|认证失败| ERROR
    AUTH -->|认证成功| LOG[记录日志]

    LOG --> BUSINESS{业务逻辑}

    BUSINESS -->|情绪打卡| CHECKIN[打卡处理流程]
    BUSINESS -->|任务管理| TASK[任务处理流程]
    BUSINESS -->|社区互动| FORUM[社区处理流程]
    BUSINESS -->|AI对话| AI[对话处理流程]
    BUSINESS -->|数据分析| ANALYTICS_FUNC[分析处理流程]

    CHECKIN --> DB[(数据库操作)]
    TASK --> DB
    FORUM --> DB
    AI --> DB
    ANALYTICS_FUNC --> DB

    DB --> SUCCESS{操作成功?}

    SUCCESS -->|是| RESPONSE[返回成功结果]
    SUCCESS -->|否| ERROR

    RESPONSE --> TELEMETRY[上报遥测]
    ERROR --> TELEMETRY

    TELEMETRY --> END([请求结束])

🤖 AI工作流架构

Dify工作流集成架构

mermaid
graph TB
    subgraph "触发源"
        CHECKIN[情绪打卡]
        JOURNAL[日记记录]
        FORUM[社区帖子]
        ASK[AI对话]
        SOS[紧急求助]
    end

    subgraph "Dify工作流引擎"
        WORKFLOW1[情绪分析工作流]
        WORKFLOW2[建议生成工作流]
        WORKFLOW3[风险评估工作流]
        WORKFLOW4[内容审核工作流]
        WORKFLOW5[智能对话工作流]
        WORKFLOW6[危机干预工作流]
    end

    subgraph "AI模型服务"
        LLM1[情绪识别模型]
        LLM2[文本生成模型]
        LLM3[风险识别模型]
        LLM4[内容理解模型]
        LLM5[对话模型]
        LLM6[心理评估模型]
    end

    subgraph "知识库"
        KNOWLEDGE1[心理知识库]
        KNOWLEDGE2[REBT疗法库]
        KNOWLEDGE3[危机处理库]
        KNOWLEDGE4[校园资源库]
    end

    subgraph "结果处理"
        RESULT1[情绪分析结果]
        RESULT2[个性化建议]
        RESULT3[风险评估报告]
        RESULT4[审核结果]
        RESULT5[对话回复]
        RESULT6[干预方案]
    end

    CHECKIN --> WORKFLOW1
    JOURNAL --> WORKFLOW1
    JOURNAL --> WORKFLOW2
    FORUM --> WORKFLOW3
    FORUM --> WORKFLOW4
    ASK --> WORKFLOW5
    SOS --> WORKFLOW6

    WORKFLOW1 --> LLM1
    WORKFLOW2 --> LLM2
    WORKFLOW3 --> LLM3
    WORKFLOW4 --> LLM4
    WORKFLOW5 --> LLM5
    WORKFLOW6 --> LLM6

    LLM1 --> KNOWLEDGE1
    LLM2 --> KNOWLEDGE2
    LLM3 --> KNOWLEDGE3
    LLM4 --> KNOWLEDGE1
    LLM5 --> KNOWLEDGE1
    LLM6 --> KNOWLEDGE3

    KNOWLEDGE1 --> RESULT1
    KNOWLEDGE2 --> RESULT2
    KNOWLEDGE3 --> RESULT3
    KNOWLEDGE1 --> RESULT4
    KNOWLEDGE1 --> RESULT5
    KNOWLEDGE3 --> RESULT6

    RESULT1 --> CHECKIN
    RESULT2 --> JOURNAL
    RESULT3 --> FORUM
    RESULT4 --> FORUM
    RESULT5 --> ASK
    RESULT6 --> SOS

AI对话系统架构

mermaid
graph TB
    subgraph "前端界面"
        CHATUI[聊天界面]
        INPUTAREA[输入区域]
        MESSAGEAREA[消息展示区]
        AGENTSELECT[Agent选择器]
    end

    subgraph "会话管理层"
        SESSIONMGR[会话管理器]
        MSGCACHE[消息缓存]
        CONTEXTMGR[上下文管理]
        HISTORYMGR[历史记录管理]
    end

    subgraph "Agent管理"
        AGENTREG[Agent注册中心]
        CBTAGENT[CBT助手]
        EMOTIONAGENT[情绪伙伴]
        STUDYAGENT[学习顾问]
        SLEEPAGENT[睡眠助手]
    end

    subgraph "消息处理层"
        MSGPROCESSOR[消息处理器]
        NLU[自然语言理解]
        NLG[自然语言生成]
        SAFETYFILTER[安全过滤]
    end

    subgraph "Dify集成"
        DIFYAPI[Dify API接口]
        WORKFLOW[对话工作流]
        PROMPTMGR[提示词管理]
        KNOWLEDGEBASE[知识库]
    end

    subgraph "数据存储"
        SESSIONDB[(会话数据库)]
        MSGDB[(消息数据库)]
        USERCONTEXTDB[(用户上下文数据库)]
    end

    CHATUI --> INPUTAREA
    CHATUI --> MESSAGEAREA
    CHATUI --> AGENTSELECT

    INPUTAREA --> SESSIONMGR
    AGENTSELECT --> AGENTREG

    SESSIONMGR --> MSGCACHE
    SESSIONMGR --> CONTEXTMGR
    SESSIONMGR --> HISTORYMGR

    AGENTREG --> CBTAGENT
    AGENTREG --> EMOTIONAGENT
    AGENTREG --> STUDYAGENT
    AGENTREG --> SLEEPAGENT

    MSGCACHE --> MSGPROCESSOR
    CONTEXTMGR --> MSGPROCESSOR

    MSGPROCESSOR --> NLU
    MSGPROCESSOR --> NLG
    MSGPROCESSOR --> SAFETYFILTER

    NLU --> DIFYAPI
    NLG --> DIFYAPI
    SAFETYFILTER --> DIFYAPI

    DIFYAPI --> WORKFLOW
    DIFYAPI --> PROMPTMGR
    DIFYAPI --> KNOWLEDGEBASE

    SESSIONMGR --> SESSIONDB
    MSGCACHE --> MSGDB
    CONTEXTMGR --> USERCONTEXTDB

🗄️ 数据层架构

数据库集合架构

mermaid
erDiagram
    USERS {
        string _id PK
        string _openid
        object profile
        object preferences
        object stats
        datetime created_at
        datetime updated_at
    }

    CHECKINS {
        string _id PK
        string _openid FK
        string mood
        number intensity
        number energy_level
        array tags
        string note
        date date
        boolean has_checked_in
        datetime created_at
    }

    TASKS {
        string _id PK
        string _openid FK
        string title
        string description
        string status
        string source
        string category
        string priority
        number estimated_duration_minutes
        datetime due_at
        datetime completed_at
        array checklist_steps
        datetime created_at
        datetime updated_at
    }

    SUGGESTIONS {
        string _id PK
        string _openid FK
        string title
        string description
        string category
        string priority
        number estimated_duration_minutes
        string reasoning
        string status
        object metadata
        datetime created_at
    }

    JOURNALS {
        string _id PK
        string _openid FK
        string entry_type
        string title
        string body_text
        number mood_score
        array mood_tags
        array media_refs
        object rebt_struct
        string share_scope
        string source
        boolean is_favorited
        datetime created_at
        datetime updated_at
    }

    FORUM_POSTS {
        string _id PK
        string _openid FK
        string title
        string content
        string alias_name
        string anonymity_mode
        array tags
        string topic
        number mood_thermometer
        number risk_score
        string risk_flag
        number risk_level
        string status
        object stats
        array images
        datetime created_at
        datetime updated_at
    }

    FORUM_COMMENTS {
        string _id PK
        string _openid FK
        string post_id FK
        string content
        string parent_id
        string alias_name
        string anonymity_mode
        number like_count
        boolean is_liked
        datetime created_at
    }

    ASK_SESSIONS {
        string _id PK
        string _openid FK
        string agent_id
        string title
        object session_data
        object stats
        datetime created_at
        datetime updated_at
    }

    ASK_MESSAGES {
        string _id PK
        string _openid FK
        string session_id FK
        string type
        string content
        object metadata
        string status
        datetime created_at
    }

    WEEKLY_REPORTS {
        string _id PK
        string _openid FK
        number week_number
        number year
        string headline
        string period_label
        number mood_score
        object mood_summary
        object task_metrics
        array recommendations
        object risk_digest
        array achievements
        datetime generated_at
    }

    USERS ||--o{ CHECKINS : creates
    USERS ||--o{ TASKS : creates
    USERS ||--o{ SUGGESTIONS : receives
    USERS ||--o{ JOURNALS : writes
    USERS ||--o{ FORUM_POSTS : publishes
    USERS ||--o{ FORUM_COMMENTS : comments
    USERS ||--o{ ASK_SESSIONS : starts
    USERS ||--o{ ASK_MESSAGES : sends
    USERS ||--o{ WEEKLY_REPORTS : generates

    FORUM_POSTS ||--o{ FORUM_COMMENTS : receives
    ASK_SESSIONS ||--o{ ASK_MESSAGES : contains

数据访问层架构

mermaid
graph TB
    subgraph "应用层"
        SERVICES[服务层]
        CLOUDFUNCS[云函数]
    end

    subgraph "数据访问层"
        DATAMAPPER[数据映射器]
        CACHELAYER[缓存层]
        VALIDATION[数据验证]
        AUTHORIZATION[权限控制]
    end

    subgraph "数据存储层"
        PRIMARYDB[(主数据库)]
        READREPLICA[(只读副本)]
        REDIS[(Redis缓存)]
        CLOUDSTORAGE[(云存储)]
    end

    subgraph "数据同步层"
        REPLICATION[数据复制]
        BACKUP[数据备份]
        MONITOR[数据监控]
        MIGRATION[数据迁移]
    end

    SERVICES --> DATAMAPPER
    CLOUDFUNCS --> DATAMAPPER

    DATAMAPPER --> CACHELAYER
    DATAMAPPER --> VALIDATION
    DATAMAPPER --> AUTHORIZATION

    CACHELAYER --> REDIS
    VALIDATION --> PRIMARYDB
    AUTHORIZATION --> PRIMARYDB

    PRIMARYDB --> READREPLICA
    PRIMARYDB --> BACKUP

    READREPLICA --> MONITOR
    BACKUP --> MIGRATION

    MONITOR --> REPLICATION
    REPLICATION --> PRIMARYDB

🔒 安全架构

安全防护体系架构

mermaid
graph TB
    subgraph "网络安全层"
        WAF[Web应用防火墙]
        DDOS[DDoS防护]
        CDN[内容分发网络]
        SSL[SSL/TLS加密]
    end

    subgraph "应用安全层"
        AUTH[身份认证]
        AUTHZ[权限控制]
        INPUTVALID[输入验证]
        OUTPUTENCODE[输出编码]
        RATELIMIT[频率限制]
    end

    subgraph "数据安全层"
        ENCRYPT[数据加密]
        MASK[数据脱敏]
        AUDIT[审计日志]
        BACKUPSEC[安全备份]
    end

    subgraph "隐私保护层"
        CONSENT[用户授权]
        ANONYMITY[匿名化处理]
        DATAMIN[数据最小化]
        RETENTION[数据保留策略]
    end

    subgraph "监控安全层"
        SECMONITOR[安全监控]
        INTRUSION[入侵检测]
        VULNERABILITY[漏洞扫描]
        INCIDENT[事件响应]
    end

    WAF --> AUTH
    DDOS --> RATELIMIT
    CDN --> SSL

    AUTH --> AUTHZ
    AUTHZ --> INPUTVALID
    INPUTVALID --> OUTPUTENCODE
    OUTPUTENCODE --> ENCRYPT

    ENCRYPT --> MASK
    MASK --> AUDIT
    AUDIT --> BACKUPSEC

    BACKUPSEC --> CONSENT
    CONSENT --> ANONYMITY
    ANONYMITY --> DATAMIN
    DATAMIN --> RETENTION

    RETENTION --> SECMONITOR
    SECMONITOR --> INTRUSION
    INTRUSION --> VULNERABILITY
    VULNERABILITY --> INCIDENT

用户隐私保护架构

mermaid
flowchart TD
    USERINPUT[用户输入] --> CONSENTCHECK{用户授权检查}

    CONSENTCHECK -->|未授权| REQUESTAUTH[请求授权]
    CONSENTCHECK -->|已授权| DATACOLLECTION[数据收集]

    REQUESTAUTH --> DATACOLLECTION

    DATACOLLECTION --> ANONYMIZE{需要匿名化?}

    ANONYMIZE -->|是| ANONYMOUS[匿名化处理]
    ANONYMIZE -->|否| DIRECTPROCESS[直接处理]

    ANONYMOUS --> ENCRYPT[数据加密]
    DIRECTPROCESS --> ENCRYPT

    ENCRYPT --> STORAGE[安全存储]

    STORAGE --> ACCESSCONTROL{访问控制检查}

    ACCESSCONTROL -->|无权限| DENY[拒绝访问]
    ACCESSCONTROL -->|有权限| DATAMASK{需要脱敏?}

    DATAMASK -->|是| MASKDATA[数据脱敏]
    DATAMASK -->|否| RETURNDATA[返回数据]

    MASKDATA --> RETURNDATA

    RETURNDATA --> AUDITLOG[审计记录]
    DENY --> AUDITLOG

    AUDITLOG --> RETENTION[数据保留策略]

    RETENTION --> SECUREDELETE[安全删除]

🚀 部署架构

微信云开发部署架构

mermaid
graph TB
    subgraph "开发环境"
        DEVLOCAL[本地开发]
        DEVTEST[本地测试]
        DEVCLOUD[开发云环境]
    end

    subgraph "测试环境"
        TESTCLOUD[测试云环境]
        AUTOTEST[自动化测试]
        STRESS[压力测试]
    end

    subgraph "生产环境"
        PRODCLOUD[生产云环境]
        PRODBACKUP[生产备份]
        PRODMONITOR[生产监控]
    end

    subgraph "CI/CD流水线"
        GIT[代码仓库]
        BUILD[构建打包]
        DEPLOY[自动部署]
        ROLLBACK[回滚机制]
    end

    subgraph "监控运维"
        LOGCENTER[日志中心]
        METRICS[指标监控]
        ALERT[告警系统]
        PERFORMANCE[性能监控]
    end

    DEVLOCAL --> GIT
    DEVTEST --> GIT
    DEVCLOUD --> GIT

    GIT --> BUILD
    BUILD --> DEPLOY

    DEPLOY --> TESTCLOUD
    DEPLOY --> PRODCLOUD

    TESTCLOUD --> AUTOTEST
    TESTCLOUD --> STRESS

    AUTOTEST --> DEPLOY
    STRESS --> DEPLOY

    PRODCLOUD --> PRODBACKUP
    PRODCLOUD --> PRODMONITOR

    PRODMONITOR --> LOGCENTER
    PRODMONITOR --> METRICS
    PRODMONITOR --> ALERT
    PRODMONITOR --> PERFORMANCE

    ALERT --> ROLLBACK
    METRICS --> ROLLBACK

分包加载策略架构

mermaid
graph LR
    subgraph "启动加载"
        MAINPKG[主包加载<br/>5个Tab页面]
        CORECOMP[核心组件<br/>TDesign组件]
        UTILS[工具函数<br/>基础工具]
    end

    subgraph "预加载策略"
        PRELOAD1[今天页面预加载<br/>社区+正念+SOS]
        PRELOAD2[任务页面预加载<br/>个人资料]
        PRELOAD3[树洞页面预加载<br/>社区详情]
    end

    subgraph "按需加载"
        ONDEMAND1[点击时加载<br/>日记分包]
        ONDEMAND2[功能时加载<br/>呼吸练习]
        ONDEMAND3[对话时加载<br/>心语精灵]
    end

    subgraph "独立分包"
        INDEP1[SOS紧急求助<br/>独立运行]
        INDEP2[心语精灵<br/>独立运行]
    end

    MAINPKG --> PRELOAD1
    MAINPKG --> PRELOAD2
    MAINPKG --> PRELOAD3

    PRELOAD1 --> ONDEMAND1
    PRELOAD2 --> ONDEMAND2
    PRELOAD3 --> ONDEMAND3

    ONDEMAND1 --> INDEP1
    ONDEMAND2 --> INDEP1
    ONDEMAND3 --> INDEP2

    CORECOMP --> MAINPKG
    UTILS --> MAINPKG

📊 性能监控架构

性能监控体系

mermaid
graph TB
    subgraph "前端监控"
        FP[首屏渲染时间]
        FMP[首次有意义渲染]
        TTI[可交互时间]
        CLS[累积布局偏移]
        FID[首次输入延迟]
    end

    subgraph "网络监控"
        APICALL[API调用监控]
        ERRORRATE[错误率监控]
        LATENCY[延迟监控]
        THROUGHPUT[吞吐量监控]
    end

    subgraph "业务监控"
        USERBEHAVIOR[用户行为]
        CONVERSION[转化率]
        RETENTION[留存率]
        ENGAGEMENT[参与度]
    end

    subgraph "系统监控"
        CPU[CPU使用率]
        MEMORY[内存使用率]
        DISK[磁盘使用率]
        NETWORK[网络带宽]
    end

    subgraph "告警系统"
        THRESHOLD[阈值告警]
        ANOMALY[异常检测]
        TREND[趋势预警]
        CUSTOM[自定义规则]
    end

    FP --> THRESHOLD
    FMP --> THRESHOLD
    TTI --> ANOMALY
    CLS --> TREND
    FID --> CUSTOM

    APICALL --> THRESHOLD
    ERRORRATE --> ANOMALY
    LATENCY --> TREND
    THROUGHPUT --> CUSTOM

    USERBEHAVIOR --> THRESHOLD
    CONVERSION --> ANOMALY
    RETENTION --> TREND
    ENGAGEMENT --> CUSTOM

    CPU --> THRESHOLD
    MEMORY --> ANOMALY
    DISK --> TREND
    NETWORK --> CUSTOM

缓存架构设计

mermaid
graph TB
    subgraph "多级缓存"
        L1[内存缓存<br/>页面级]
        L2[本地缓存<br/>小程序存储]
        L3[CDN缓存<br/>静态资源]
        L4[数据库缓存<br/>Redis]
    end

    subgraph "缓存策略"
        LRU[LRU淘汰]
        TTL[TTL过期]
        WRITEBACK[写回策略]
        WRITEPROCEED[写穿策略]
    end

    subgraph "缓存一致性"
        INVALIDATE[失效通知]
        REFRESH[主动刷新]
        VERSION[版本控制]
        EVENT[事件驱动]
    end

    subgraph "缓存监控"
        HITRATE[命中率监控]
        SIZEMONITOR[容量监控]
        LATENCYMONITOR[延迟监控]
        ERRORMONITOR[错误监控]
    end

    L1 --> LRU
    L2 --> TTL
    L3 --> WRITEBACK
    L4 --> WRITEPROCEED

    LRU --> INVALIDATE
    TTL --> REFRESH
    WRITEBACK --> VERSION
    WRITEPROCEED --> EVENT

    INVALIDATE --> HITRATE
    REFRESH --> SIZEMONITOR
    VERSION --> LATENCYMONITOR
    EVENT --> ERRORMONITOR

🔄 数据流架构

情绪健康闭环数据流

mermaid
flowchart TD
    START([用户开始]) --> MOODINPUT[情绪输入]

    MOODINPUT --> VALIDATE1{情绪验证}
    VALIDATE1 -->|无效| ERROR1[提示重新输入]
    ERROR1 --> MOODINPUT
    VALIDATE1 -->|有效| SAVECHECKIN[保存打卡]

    SAVECHECKIN --> AIANALYSIS[AI情绪分析]
    AIANALYSIS --> GENERATESUG[生成建议]

    GENERATESUG --> SHOWSUG[展示建议]
    SHOWSUG --> USERACTION{用户选择}

    USERACTION -->|接受| CREATETASK[创建任务]
    USERACTION -->|跳过| NEXTSUG[下一条建议]
    USERACTION -->|忽略| ENDLOOP[结束循环]

    CREATETASK --> TASKEXEC[任务执行]
    TASKEXEC --> COMPLETE[完成标记]
    COMPLETE --> UPDATEPROGRESS[更新进度]

    UPDATEPROGRESS --> REWARD[奖励反馈]
    REWARD --> ENDLOOP

    NEXTSUG --> SHOWSUG
    ENDLOOP --> START

社区守护数据流

mermaid
sequenceDiagram
    participant User as 用户
    participant Frontend as 前端
    participant Service as 服务层
    participant CloudFunc as 云函数
    participant AI as AI工作流
    participant DB as 数据库
    participant Admin as 管理员

    User->>Frontend: 发布帖子
    Frontend->>Service: submitPost()
    Service->>CloudFunc: callFunction('postService')

    CloudFunc->>AI: 内容分析
    AI->>AI: 风险评估
    AI-->>CloudFunc: 风险评分

    alt 低风险
        CloudFunc->>DB: 直接发布
        DB-->>CloudFunc: 发布成功
        CloudFunc-->>Service: 返回结果
    else 中风险
        CloudFunc->>DB: 标记待审核
        CloudFunc->>Admin: 发送审核通知
        Admin->>Admin: 人工审核
        Admin->>DB: 更新审核状态
    else 高风险
        CloudFunc->>Admin: 紧急通知
        CloudFunc->>User: 提供帮助资源
        Admin->>Admin: 人工介入
    end

    Service-->>Frontend: 返回结果
    Frontend-->>User: 显示结果

📈 扩展性架构

水平扩展架构

mermaid
graph TB
    subgraph "负载均衡层"
        LB[负载均衡器]
        ROUTER[智能路由]
        HEALTH[健康检查]
    end

    subgraph "应用服务层"
        APP1[应用实例1]
        APP2[应用实例2]
        APP3[应用实例N]
    end

    subgraph "数据层"
        MASTER[(主数据库)]
        SLAVE1[(从数据库1)]
        SLAVE2[(从数据库2)]
        SLAVEN[(从数据库N)]
    end

    subgraph "缓存层"
        REDIS1[Redis集群1]
        REDIS2[Redis集群2]
        REDISN[Redis集群N]
    end

    subgraph "消息队列"
        QUEUE1[消息队列1]
        QUEUE2[消息队列2]
        QUEUEN[消息队列N]
    end

    LB --> ROUTER
    ROUTER --> HEALTH
    ROUTER --> APP1
    ROUTER --> APP2
    ROUTER --> APP3

    APP1 --> MASTER
    APP2 --> MASTER
    APP3 --> MASTER

    MASTER --> SLAVE1
    MASTER --> SLAVE2
    MASTER --> SLAVEN

    APP1 --> REDIS1
    APP2 --> REDIS2
    APP3 --> REDISN

    APP1 --> QUEUE1
    APP2 --> QUEUE2
    APP3 --> QUEUEN

微服务演进架构

mermaid
graph LR
    subgraph "当前架构 - 单体"
        MONOLITH[单体应用]
        DB1[(单一数据库)]
    end

    subgraph "演进阶段1 - 服务分离"
        USERSVC[用户服务]
        MOODSVC[情绪服务]
        COMMUNITYSVC[社区服务]
        DB2[(用户数据库)]
        DB3[(情绪数据库)]
        DB4[(社区数据库)]
    end

    subgraph "演进阶段2 - 微服务"
        AUTHSVC[认证服务]
        CHECKINSVC[打卡服务]
        SUGGESTIONSVC[建议服务]
        TASKSVC[任务服务]
        FORUMSVC[论坛服务]
        AICHAT[AI聊天服务]
        DB5[(分布式数据库)]
    end

    subgraph "演进阶段3 - 云原生"
        CONTAINER1[容器化服务1]
        CONTAINER2[容器化服务2]
        CONTAINERN[容器化服务N]
        ORCHESTRATOR[容器编排]
        SERVICEGRID[服务网格]
    end

    MONOLITH --> USERSVC
    USERSVC --> AUTHSVC
    AUTHSVC --> CONTAINER1

    DB1 --> DB2
    DB2 --> DB5
    DB5 --> ORCHESTRATOR

    DB3 --> DB4
    DB4 --> DB5

    CONTAINER1 --> SERVICEGRID
    CONTAINER2 --> SERVICEGRID
    CONTAINERN --> SERVICEGRID

🎯 架构决策记录

关键架构决策

决策内容背景原因选择的方案替代方案决策时间
前端框架微信小程序生态限制原生小程序开发Taro、uni-app2024-01
状态管理小程序复杂度适中页面级状态管理Redux、MobX2024-01
数据库微信云开发集成NoSQL文档数据库关系型数据库2024-01
缓存策略提升用户体验多级缓存单一缓存2024-02
AI集成需要智能分析能力Dify工作流自建AI服务2024-03
安全方案用户隐私保护多层安全防护基础安全措施2024-03
分包策略小程序大小限制功能分包单一包体2024-04
监控方案运维需求遥测系统日志监控2024-05

技术债务管理

mermaid
graph TB
    subgraph "当前技术债务"
        DEBT1[代码重复]
        DEBT2[缺少测试]
        DEBT3[文档不全]
        DEBT4[性能优化]
    end

    subgraph "解决策略"
        REFACTOR[代码重构]
        TESTING[补充测试]
        DOCS[完善文档]
        OPTIMIZE[性能优化]
    end

    subgraph "预防措施"
        CODE REVIEW[代码审查]
        CI_CD[自动化流程]
        STANDARDS[编码规范]
        TRAINING[团队培训]
    end

    DEBT1 --> REFACTOR
    DEBT2 --> TESTING
    DEBT3 --> DOCS
    DEBT4 --> OPTIMIZE

    REFACTOR --> CODE REVIEW
    TESTING --> CI_CD
    DOCS --> STANDARDS
    OPTIMIZE --> TRAINING

🔮 未来架构演进

短期演进计划(3-6个月)

mermaid
graph TB
    subgraph "性能优化"
        CACHE1[缓存优化]
        LAZYLOAD[懒加载优化]
        COMPRESSION[资源压缩]
    end

    subgraph "功能增强"
        OFFLINE[离线支持]
        PUSH[推送通知]
        SHARE[分享功能]
    end

    subgraph "安全加固"
        ENCRYPTION1[端到端加密]
        AUDIT1[审计增强]
        PRIVACY1[隐私保护]
    end

    subgraph "开发体验"
        TESTING1[单元测试]
        MONITOR1[监控增强]
        DEBUG[调试工具]
    end

中期演进计划(6-12个月)

mermaid
graph TB
    subgraph "架构升级"
        MICROSERVICE[微服务化]
        CONTAINER[容器化]
        ORCHESTRATION[服务编排]
    end

    subgraph "AI能力提升"
        MULTIMODAL[多模态AI]
        PERSONALIZATION[个性化推荐]
        PREDICTIVE[预测分析]
    end

    subgraph "生态扩展"
        OPENAPI[开放API]
        PLUGIN[插件系统]
        INTEGRATION[第三方集成]
    end

    subgraph "数据智能"
        BIGDATA[大数据分析]
        DASHBOARD[数据仪表板]
        INSIGHTS[智能洞察]
    end

长期演进计划(1-2年)

mermaid
graph TB
    subgraph "平台化"
        MULTIPLATFORM[多平台支持]
        SAAS[SaaS化]
        MARKETPLACE[应用市场]
    end

    subgraph "智能化"
        AUTOMATION[智能自动化]
        AGENT[智能体平台]
        KNOWLEDGE[知识图谱]
    end

    subgraph "生态建设"
        DEVELOPER[开发者生态]
        PARTNER[合作伙伴]
        COMMUNITY[用户社区]
    end

    subgraph "技术前沿"
        WEB3[Web3集成]
        METADATA[元数据管理]
        QUANTUM[量子计算准备]
    end

📚 相关文档


📞 联系信息

  • 架构设计: 开发团队
  • 文档维护: 架构师
  • 最后更新: 2025年10月20日
  • 版本: v1.0.0

本架构文档采用 Mermaid 语法编写,支持在 GitHub、GitLab 等平台直接渲染。如需修改架构图,请更新对应的 Mermaid 代码。

贡献者

The avatar of contributor named as Cai Hongyu Cai Hongyu

文件历史

撰写