| 
					
				 | 
			
			
				@@ -0,0 +1,488 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 简单版类图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```plantuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@startuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class _User {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + objectId: String  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + username: String  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + realname: String  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + password: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + gender: String  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + age: Number  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + email: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + avatar: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + teacherId: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + studentId: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + identity: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + school: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + department: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class ChatPartner { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + objectId: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + name: String  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + expertise: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + avatar: String  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + bio: String  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class ChatCompanion { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + objectId: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + name: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + avatar: String  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + bio: String  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class ChatRecord { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + objectId: String  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + title:String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + content:Array  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + user: Pointer<User>  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + chatpartner: Pointer<ChatPartner>  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class ChatEvaluate{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + objectId:String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + avater:String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + content:String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + rating:Number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + user: Pointer<User>  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class Survey { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + objectId: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + link: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + title: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + audience: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + publisher:String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + publishtime: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + category: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class DriftBottle { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + bottleID: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + content: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + username: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + throwtime: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + catcher: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + catchtime: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    + status: String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Survey "1" -- "0..*" _User 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_User "1" -- "0..*" DriftBottle 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_User "*" --> "*" ChatEvaluate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_User "1" --> "*" ChatRecord      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ChatPartner "1" --> "*" ChatRecord  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ChatCompanion "1" --> "*" ChatRecord       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@enduml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 时序图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```plantuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@startuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+actor 用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+participant "专业陪聊师" as 专业陪聊师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+participant "普通陪聊师" as 普通陪聊师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+participant "聊天记录" as 聊天记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+participant "报告" as 报告 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+用户 -> 用户: 选择陪聊师() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+alt 选择专业陪聊师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    用户 -> 专业陪聊师: 提供聊天() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+else 选择普通陪聊师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    用户 -> 普通陪聊师: 提供聊天() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+用户 -> 用户: 开始聊天() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+用户 -> 聊天记录: 总结聊天记录() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+聊天记录 -> 聊天记录: 获取聊天记录() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+聊天记录 -> 报告: 生成报告() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+报告 -> 用户: 返回分析报告 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@enduml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 活动图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```plantuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@startuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+|用户| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+start 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+:发送消息; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+|专业陪聊机器人| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+:回复消息; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+|用户| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+repeat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if (继续聊天?) then (是) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    |用户| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    :发送消息; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    |专业陪聊机器人| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    :回复消息; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+else (否) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    |管理员| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    :记录消息; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+repeat while (回复消息) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@enduml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# //社区部分 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 用例图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```plantuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@startuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+actor 用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+rectangle "心理社区" { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    用户 -- (使用心理普查) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    用户 -- (使用漂流瓶) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+rectangle "使用心理普查"{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    用户 -- (填写问卷) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    用户 -- (发布问卷) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+rectangle "使用漂流瓶"{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    用户 -- (扔漂流瓶) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    用户 -- (捞漂流瓶) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@enduml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 时序图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```mermaid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+sequenceDiagram 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    participant User 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    participant System 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    User->>System: 访问系统 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    alt 用户未登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System->>User: 显示登录注册界面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        User->>System: 输入用户名和密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        alt 登录成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 跳转到已登录页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            User->>System: 查看问卷通知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 显示问卷通知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            User->>System: 发布问卷 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            alt 用户是老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                System->>User: 提示“问卷已成功发布” 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else 用户不是老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                System->>User: 提示“权限不够” 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else 登录失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 显示错误信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 用户已登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System->>User: 跳转到已登录页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        User->>System: 查看问卷通知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System->>User: 显示问卷通知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        User->>System: 发布问卷 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        alt 用户是老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 提示“问卷已成功发布” 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else 用户不是老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 提示“权限不够” 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```mermaid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+sequenceDiagram 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    participant User 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    participant System 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    User->>System: 访问系统 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    alt 用户未登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System->>User: 显示登录注册界面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        User->>System: 输入用户名和密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        alt 登录成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 跳转到已登录页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            User->>System: 扔漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 提示“请输入漂流瓶内容” 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            User->>System: 编写漂流瓶内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 抛出漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            User->>System: 捞漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            alt 条件满足 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                System->>User: 成功捞上漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else 条件不满足 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                System->>User: 打捞失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            User->>System: 查看我的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 显示扔出的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 显示捞上的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            User->>System: 扔回捞上的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 扔回成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else 登录失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 显示错误信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 用户已登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System->>User: 跳转到已登录页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        User->>System: 扔漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System->>User: 提示“请输入漂流瓶内容” 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        User->>System: 编写漂流瓶内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System->>User: 抛出漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        User->>System: 捞漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        alt 条件满足 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 成功捞上漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else 条件不满足 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System->>User: 打捞失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        User->>System: 查看我的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System->>User: 显示扔出的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System->>User: 显示捞上的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        User->>System: 扔回捞上的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System->>User: 扔回成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 活动图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```mermaid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+graph TD; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    A[开始] --> B{用户已登录?}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    B -- 否 --> C[显示登录注册界面]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    C --> D[输入用户名和密码]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    D --> E{登录成功?}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    E -- 是 --> N[跳转到已登录页面]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    E -- 否 --> G[显示错误信息]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    B -- 是 --> N[跳转到已登录页面]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    N --> O[查看问卷通知]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    O --> P[显示问卷通知]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    P --> Q[发布问卷]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Q --> R{用户是老师?}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    R -- 是 --> S[提示“问卷已成功发布”]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    R -- 否 --> T[提示“权限不够”]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```mermaid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+graph TD; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    A[开始] --> B{用户已登录?}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    B -- 否 --> C[显示登录注册界面]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    C --> D[输入用户名和密码]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    D --> E{登录成功?}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    E -- 是 --> F[跳转到已登录页面]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    E -- 否 --> G[显示错误信息]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    F --> H[扔漂流瓶]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    H --> I[提示“请输入漂流瓶内容”]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    I --> J[编写漂流瓶内容]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    J --> K[抛出漂流瓶]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    K --> L[结束]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    F --> M[捞漂流瓶]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    M --> N{条件满足?}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    N -- 是 --> O[成功捞上漂流瓶]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    N -- 否 --> P[打捞失败]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    O --> Q[结束]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    P --> Q; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    F --> R[查看我的漂流瓶]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    R --> S[显示扔出的漂流瓶]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    S --> T[显示捞上的漂流瓶]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    T --> U{扔回捞上的漂流瓶?}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    U -- 是 --> V[扔回成功]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    U -- 否 --> W[结束]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    V --> W; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 状态图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```mermaid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+stateDiagram-v2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [*] --> 未登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    未登录 --> 登录 : 用户尝试访问系统 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    登录 --> 已登录 : 用户成功登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    已登录 --> 查看问卷通知 : 用户选择查看问卷通知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    已登录 --> 发布问卷 : 用户选择发布问卷 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    发布问卷 --> 权限不够 : 用户不是老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    发布问卷 --> 问卷已成功发布 : 用户是老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```mermaid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+stateDiagram-v2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [*] --> 未登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    未登录 --> 登录 : 用户尝试访问系统 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    登录 --> 已登录 : 用户成功登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    已登录 --> 扔漂流瓶 : 用户选择扔漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    已登录 --> 捞漂流瓶 : 用户选择捞漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    已登录 --> 查看我的漂流瓶 : 用户选择查看我的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    扔漂流瓶 --> 编写内容 : 用户开始编写漂流瓶内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    编写内容 --> 抛出漂流瓶 : 用户完成编写 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    捞漂流瓶 --> 成功捞上 : 条件满足 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    捞漂流瓶 --> 打捞失败 : 条件不满足 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    查看我的漂流瓶 --> 查看扔出的漂流瓶 : 用户查看自己扔出的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    查看我的漂流瓶 --> 查看捞上的漂流瓶 : 用户查看捞上的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    查看捞上的漂流瓶 --> 扔回漂流瓶 : 用户选择扔回捞上的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 状态图 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## 登录业务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```plantuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@startuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+left to right direction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+[*] --> 输入用户名和密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+输入用户名和密码 --> 检查是否为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查是否为空 --> 执行登录 : 不为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查是否为空 --> 输入用户名和密码 : 为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+执行登录 --> 返回当前页面: 登录成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+执行登录 --> 输入用户名和密码 :登录失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+返回当前页面 --> [*] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@enduml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## 注册业务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```plantuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@startuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+left to right direction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+[*] --> 输入基本信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+输入基本信息 --> 检查是否为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查是否为空 --> 输入基本信息 : 为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查是否为空 --> 检查两次密码一致性 : 不为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查两次密码一致性 --> 执行注册 : 一致 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查两次密码一致性 --> 输入基本信息 : 不一致 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+执行注册 --> 返回登录页面 : 注册成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+执行注册 --> 输入基本信息 : 注册失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+返回登录页面 --> [*] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@enduml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## 用户编辑信息业务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```plantuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@startuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+left to right direction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+[*] --> 获取用户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+获取用户信息 --> 弹出表单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+弹出表单 --> 检查用户输入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查用户输入 --> 执行修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+执行修改 --> 返回当前页面: 修改成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+执行修改 --> 弹出表单 : 修改失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+返回当前页面 --> [*]  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@enduml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## 智能陪聊业务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```plantuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@startuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+left to right direction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+[*] --> 检查用户是否登录注册 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查用户是否登录注册 --> 登录注册 : 未登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查用户是否登录注册 --> 选择陪聊师 : 已登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+登录注册 --> 选择陪聊师 : 登录/注册成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+登录注册 --> [*] : 登录/注册失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+选择陪聊师 --> 开始陪聊 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+开始陪聊 --> [*] : 结束陪聊 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@enduml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## 普通聊天业务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```plantuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@startuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+left to right direction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+[*] --> 检查用户是否登录注册 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查用户是否登录注册 --> 登录注册 : 未登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查用户是否登录注册 --> 开始陪聊 : 已登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+登录注册 --> 开始陪聊 : 登录/注册成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+登录注册 --> [*] : 登录/注册失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+开始陪聊 --> [*] : 结束陪聊 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@enduml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## 用户评价业务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```plantuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@startuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+left to right direction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+[*] --> 检查用户是否登录注册 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查用户是否登录注册 --> 登录注册 : 未登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查用户是否登录注册 --> 进入评价 : 已登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+登录注册 --> 进入评价 : 登录/注册成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+登录注册 --> [*] : 登录/注册失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+进入评价 --> 输入评价内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+输入评价内容 --> 保存退出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+保存退出 --> [*]:保存成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+保存退出 --> 输入评价内容: 保存失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@enduml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## 查看报告业务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```plantuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@startuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+left to right direction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+[*] --> 获取用户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+获取用户信息 --> 点击我的报告 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+点击我的报告 --> 展示用户相关报告 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+展示用户相关报告 --> [*] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@enduml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## 发布问卷业务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```plantuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@startuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+left to right direction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+[*] -->检查登录状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查登录状态 --> 显示登录注册界面 : 用户未登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+显示登录注册界面 --> 执行登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+执行登录 --> 跳转到已登录页面 : 登录成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+执行登录 --> 显示登录注册界面 : 登录失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+跳转到已登录页面 --> 查看问卷通知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+查看问卷通知 --> 显示问卷通知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+跳转到已登录页面--> 发布问卷 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+发布问卷 --> 检查用户身份 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查用户身份 --> 提示权限不够 : 用户不是老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查用户身份 --> 提示问卷已成功发布 : 用户是老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+显示问卷通知 --> [*] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+提示权限不够 --> [*] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+提示问卷已成功发布 --> [*] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@enduml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## 使用漂流瓶业务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+```plantuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@startuml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+left to right direction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+[*] -->检查登录状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查登录状态 --> 显示登录注册界面 : 用户未登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+显示登录注册界面 --> 执行登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+执行登录 --> 跳转到已登录页面 : 登录成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+执行登录 --> 显示登录注册界面 : 登录失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+跳转到已登录页面 --> 选择操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+选择操作 --> 扔漂流瓶 : 用户选择扔漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+扔漂流瓶 -->  编写漂流瓶内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+编写漂流瓶内容 --> 抛出漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+抛出漂流瓶 --> 返回已登录页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+跳转到已登录页面 --> 捞漂流瓶 : 用户选择捞漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+捞漂流瓶 --> 检查条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查条件 --> 成功捞上 : 条件满足 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+检查条件 --> 打捞失败 : 条件不满足 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+成功捞上 --> 返回已登录页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+打捞失败 --> 返回已登录页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+跳转到已登录页面 --> 查看我的漂流瓶 : 用户选择查看我的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+查看我的漂流瓶 --> 显示扔出的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+查看我的漂流瓶 --> 显示捞上的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+显示扔出的漂流瓶 --> 选择操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+显示捞上的漂流瓶 --> 选择操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+选择操作 --> 扔回捞上的漂流瓶 : 用户选择扔回捞上的漂流瓶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+扔回捞上的漂流瓶 --> 返回已登录页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@enduml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``` 
			 |