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 --> SOSAI对话系统架构
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-app | 2024-01 |
| 状态管理 | 小程序复杂度适中 | 页面级状态管理 | Redux、MobX | 2024-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 代码。