Browse Source

Merge branch 'master' of http://git.fmode.cn:3000/4u/workspace

19136808282 3 months ago
parent
commit
2f30c60484

+ 190 - 117
docs-prod/schema.md

@@ -1,62 +1,81 @@
-# //陪聊部分
-# 类图
+# 简单版类图
 ```plantuml
-' 聊天项目类图英文版
 @startuml
-
 class _User { 
-    + objectId: String //用户唯一标识符
-    + username: String //用户名
-    + realname: String //真实姓名
-    + password: String //用户密码
-    + gender: String //性别
-    + age: Number //年龄
-    + email: String //用户邮箱
-    + avatar: String //用户头像
-    + startChat(): void 
-    + chooseChatPartner(): String
-    + summarizeChatHistory(): void
+    + objectId: String 
+    + username: String 
+    + realname: String 
+    + password: String
+    + gender: String 
+    + age: Number 
+    + email: String
+    + avatar: String
 }
-
 class ChatPartner {
-    + objectId: String //陪聊师唯一标识符
-    + name: String //陪聊师姓名
-    + expertise: String //陪聊师专业领域
-    + avatar: String //陪聊师头像
-    + bio: String //陪聊师个人简介
-    + provideChat(): String 
+    + objectId: String
+    + name: String 
+    + expertise: String
+    + avatar: String 
+    + bio: String 
 }
-
 class ChatCompanion {
-    + objectId: String //聊天伙伴唯一标识符
-    + name: String //聊天伙伴姓名
-    + avatar: String //聊天伙伴头像
-    + bio: String //聊天伙伴个人简介
-    + provideChat(): String
+    + objectId: String
+    + name: String
+    + avatar: String 
+    + bio: String 
 }
-
 class ChatRecord {
-    + objectId: String //聊天记录唯一标识符
-    + title:String //聊天标题
-    + content:Array //聊天内容
-    + user: Pointer<User> //关联的用户对象
-    + chatpartner: Pointer<ChatPartner> //关联的聊天机器人对象
-    + getChatHistory(): List
+    + objectId: String 
+    + title:String
+    + content:Array 
+    + user: Pointer<User> 
+    + chatpartner: Pointer<ChatPartner> 
 }
-
 class ChatReport {
-    + objectId: String //报告唯一标识符
-    - report: String //分析结果
-    + generateReport(): String //生成报告的方法
+    + objectId: String
+    - report: String
 }
 class ChatEvaluate{
-    + objectId:String//评论唯一标识符
-    + avater:String//用户头像
-    + content:String//评论内容
-    + rating:Number//评论星星数
-    + user: Pointer<User> //关联的用户对象
+    + objectId:String
+    + avater:String
+    + content:String
+    + rating:Number
+    + user: Pointer<User> 
 }
-
+class PsychologicalCommunity {
+    + communityID: String 
+    + topic: String 
+}
+class PsychologicalActivity {
+    + activityID: String
+    + title: String 
+    + description: String
+    + date: Date 
+    + location: String 
+}
+class PsychologicalSurvey {
+    + surveyID: String
+    + content: String
+    + publisher: SchoolAdmin
+    + responses: List
+}
+class SchoolAdmin {
+    + adminID: String
+    + name: String
+    + email: String
+}
+class Bottle {
+    + bottleID: String
+    + content: String
+    + author: User
+    + timestamp: Date
+}
+_User "1" -- "0..*" PsychologicalCommunity
+PsychologicalActivity "1" -- "0..*" _User
+SchoolAdmin "1" -- "0..*" PsychologicalActivity
+SchoolAdmin "1" -- "0..*" PsychologicalSurvey
+PsychologicalSurvey "1" -- "0..*" _User
+_User "1" -- "0..*" Bottle
 _User "*" --> "*" ChatEvaluate
 _User "1" --> "*" ChatRecord     
 ChatPartner "1" --> "*" ChatRecord 
@@ -64,6 +83,8 @@ ChatCompanion "1" --> "*" ChatRecord
 ChatRecord "1" --> "1" ChatReport      
 @enduml
 ```
+
+
 # 时序图
 ```plantuml
 @startuml
@@ -150,78 +171,6 @@ rectangle "心理社区" {
     学校管理员 -- (设置星标用户)
 }
 
-@enduml
-```
-# 类图
-
-```plantuml
-@startuml
-class User {
-    +objectId: String
-    +username: String
-    +realname: String
-    +password: String
-    +gender: String
-    +age: Number
-    +email: String
-    +avatar: String
-    +startChat():void
-    +chooseChatPartner():String
-    +summarizeCharHistory():void
-    +registerAccount():void
-    +login(): void
-    +fillPsychologicalTest(): void
-    +publishBottle(): void
-    +retrieveBottle(): Bottle
-}
-
-class PsychologicalCommunity {
-    +communityID: String
-    +topic: String
-    +joinCommunity(): void
-}
-
-class PsychologicalActivity {
-    +activityID: String
-    +title: String
-    +description: String
-    +date: Date
-    +location: String
-    +publishActivity(): void
-}
-
-class PsychologicalSurvey {
-    +surveyID: String
-    +content: String
-    +publisher: SchoolAdmin
-    +responses: List
-    +publishSurvey(): void
-    +analyzeResults(): void
-}
-
-class SchoolAdmin {
-    +adminID: String
-    +name: String
-    +email: String
-    +publishPsychologicalActivity(): void
-    +publishPsychologicalSurvey(): void
-    +analyzeSurveyResults(): void
-    +setFeaturedUser(): void
-}
-
-class Bottle {
-    +bottleID: String
-    +content: String
-    +author: User
-    +timestamp: Date
-}
-
-User "1" -- "0..*" PsychologicalCommunity
-PsychologicalActivity "1" -- "0..*" User
-SchoolAdmin "1" -- "0..*" PsychologicalActivity
-SchoolAdmin "1" -- "0..*" PsychologicalSurvey
-PsychologicalSurvey "1" -- "0..*" User
-User "1" -- "0..*" Bottle
 @enduml
 ```
 
@@ -280,3 +229,127 @@ 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
+```

+ 4 - 3
soul-app/src/app/page-psysurvey/page-psysurvey.component.scss

@@ -1,6 +1,7 @@
-/* 设置页面背景色 */
-ion-content {
-    --background: #ffffff; /* 白色背景 */
+  /* 整体ion-content背景 */
+  ion-content {
+    --background: url('https://nova-cloud.obs.cn-south-1.myhuaweicloud.com/storage/aigc/imagine/4RHC2Jhp2l-0.png') no-repeat fixed!important;
+    --background-size: cover; /* 使背景图片覆盖整个屏幕 */
   }
 
   ion-card {

+ 4 - 2
soul-app/src/app/report-modal/report-modal.component.scss

@@ -1,5 +1,7 @@
-ion-content {
-    padding: 16px; // 增加内边距
+  /* 整体ion-content背景 */
+  ion-content {
+    --background: url('https://nova-cloud.obs.cn-south-1.myhuaweicloud.com/storage/aigc/imagine/4RHC2Jhp2l-0.png') no-repeat fixed!important;
+    --background-size: cover; /* 使背景图片覆盖整个屏幕 */
   }
   
   pre {

+ 9 - 13
soul-app/src/app/tabs/tabs.routes.ts

@@ -46,21 +46,16 @@ export const routes: Routes = [
         loadComponent: () =>
           import('../page-publishsurvey/page-publishsurvey.component').then((m) => m.PagePublishsurveyComponent),
       },
-      {
-        path: 'consult-picture',
-        loadComponent: () =>
-          import('../consult-picture/consult-picture.component').then((m) => m.ConsultPictureComponent),
-      },
+      // {
+      //   path: 'consult-picture',
+      //   loadComponent: () =>
+      //     import('../consult-picture/consult-picture.component').then((m) => m.ConsultPictureComponent),
+      // },
       {
         path: 'report-modal',
         loadComponent: () =>
           import('../report-modal/report-modal.component').then((m) => m.ReportModalComponent),
       },
-      {
-        path: '',
-        redirectTo: '/tabs/tab1',
-        pathMatch: 'full',
-      },
       {
         path: 'drift-bottle',
         loadComponent: () =>
@@ -72,10 +67,11 @@ export const routes: Routes = [
           import('../my-drift-bottle/my-drift-bottle.component').then((m) => m.MyDriftBottleComponent),
       },
       {
-        path: 'page-setting',
-        loadComponent: () =>
-          import('../page-setting/page-setting.component').then((m) => m.PageSettingComponent),
+        path: '',
+        redirectTo: '/tabs/tab1',
+        pathMatch: 'full',
       },
+      
     ],
   },
   {

+ 0 - 51
soul-app/src/app/topic-detail/README.md

@@ -1,51 +0,0 @@
-查看详情组件:
-页面结构
-1. 页面标题区
-组件: 页面标题
-元素:
-标题文本(H1)
-示例内容: “有效管理焦虑情绪的指南”
-2. 管理焦虑的技巧区
-组件: 技巧列表
-元素:
-列表项(每个技巧可以展开)
-示例内容:
-技巧一: 深呼吸
-描述: “通过深呼吸来放松身心,缓解焦虑。”
-技巧二: 运动
-描述: “规律的运动有助于释放压力和焦虑。”
-技巧三: 正念冥想
-描述: “通过正念练习来关注当下,减少焦虑。”
-3. 实用工具区
-组件: 工具推荐
-元素:
-工具名称
-工具描述
-使用链接或下载按钮
-示例内容:
-工具一: 焦虑管理APP
-描述: “帮助你记录情绪,提供放松练习。”
-按钮: “下载APP”
-工具二: 在线冥想课程
-描述: “提供多种冥想练习,帮助你减轻焦虑。”
-按钮: “查看课程”
-4. 资源区
-组件: 文章和视频推荐
-元素:
-文章标题
-视频缩略图
-资源链接
-示例内容:
-文章: “如何应对焦虑的五个方法”
-链接: “阅读更多”
-视频: “焦虑管理技巧”
-链接: “观看视频”
-5. 社区支持区
-组件: 社区讨论
-元素:
-讨论主题
-参与链接
-示例内容:
-主题: “分享你的焦虑管理经验”
-链接: “参与讨论”
-请您作为一名专业的Ionic前端工程师,帮我运用ionic v7 或v8及以上的angular版本standalone模式编写,选择合适的ionic组件来重构以上产品页面的各个区域和内容,如果涉及到图形效果请用ion-icon。并给出整个页面的topic-detail.component.html代码还有topic-detail.component.ts代码

+ 1 - 1
soul-app/src/app/topic-detail/topic-detail.component.html

@@ -52,7 +52,7 @@
   <section>
     <ion-list>
       <ion-list-header>
-        <ion-label>相关文章和视频</ion-label>
+        <ion-label>相关文章</ion-label>
       </ion-list-header>
       <ion-item *ngFor="let resource of resources">
         <ion-label>

+ 5 - 4
soul-app/src/app/topic-detail/topic-detail.component.scss

@@ -1,7 +1,8 @@
-/* 设置页面背景色 */
-ion-content {
-  --background: #ffffff; /* 白色背景 */
-}
+  /* 整体ion-content背景 */
+  ion-content {
+    --background: url('https://nova-cloud.obs.cn-south-1.myhuaweicloud.com/storage/aigc/imagine/4RHC2Jhp2l-0.png') no-repeat fixed!important;
+    --background-size: cover; /* 使背景图片覆盖整个屏幕 */
+  }
 ion-title {
   font-size: 24px; /* 增大字体大小 */
   font-weight: bold; /* 加粗 */

+ 0 - 30
soul-app/src/app/topic-detail2/README.md

@@ -1,30 +0,0 @@
-ng g component topic-detail2 --standalone
-页面结构
-1.克服抑郁的方法区 
-组件: 方法列表 
-元素: 列表项(每个方法可以展开) 
-示例内容: 
-方法一: 寻求专业帮助 
-描述: “咨询心理医生或心理治疗师,获得专业的支持和指导。” 
-方法二: 建立健康的生活方式
-描述: “保持规律的作息、均衡的饮食和适量的运动。” 
-方法三: 与他人交流 
-描述: “与朋友和家人分享你的感受,建立支持网络。”
-2.自助工具区 
-组件: 自助工具推荐 
-元素: 工具名称 工具描述 使用链接或下载按钮 
-示例内容: 工具一: 抑郁管理APP 
-描述: “帮助你记录情绪变化,提供自助练习。” 
-按钮: “下载APP” 
-工具二: 在线支持小组 
-描述: “与其他抑郁症患者交流,分享经验。” 
-按钮: “加入小组”
-3.资源区 
-组件: 文章和视频推荐 
-元素: 文章标题 视频缩略图 资源链接 
-示例内容: 文章: “克服抑郁的十大技巧” 链接: “阅读更多” 视频: “如何面对抑郁” 链接: “观看视频”
-4.社区支持区 
-组件: 社区讨论 
-元素: 讨论主题 参与链接 
-示例内容: 主题: “分享你的抑郁克服故事” 链接: “参与讨论” 
-请您作为一名专业的Ionic前端工程师,帮我运用ionic v7 或v8及以上的angular版本standalone模式编写,选择合适的ionic组件来重构以上产品页面的各个区域和内容,如果涉及到图形效果请用ion-icon。并给出整个页面的topic-detail2.component.html代码还有topic-detail2.component.ts代码

+ 1 - 1
soul-app/src/app/topic-detail2/topic-detail2.component.html

@@ -52,7 +52,7 @@
   <section>
     <ion-list>
       <ion-list-header>
-        <ion-label>相关文章和视频</ion-label>
+        <ion-label>相关文章</ion-label>
       </ion-list-header>
       <ion-item *ngFor="let resource of resources">
         <ion-label>

+ 5 - 4
soul-app/src/app/topic-detail2/topic-detail2.component.scss

@@ -1,7 +1,8 @@
-/* 设置页面背景色 */
-ion-content {
-  --background: #ffffff; /* 白色背景 */
-}
+  /* 整体ion-content背景 */
+  ion-content {
+    --background: url('https://nova-cloud.obs.cn-south-1.myhuaweicloud.com/storage/aigc/imagine/4RHC2Jhp2l-0.png') no-repeat fixed!important;
+    --background-size: cover; /* 使背景图片覆盖整个屏幕 */
+  }
 
 /* 设置卡片的样式 */
 ion-list {

+ 0 - 53
soul-app/src/app/topic-detail3/README.md

@@ -1,53 +0,0 @@
-页面结构
-1. 页面标题区
-组件: 页面标题
-元素:
-标题文本(H1)
-示例内容: “提升自信心的技巧”
-2. 提升自信心的技巧区
-组件: 技巧列表
-元素:
-列表项(每个技巧可以展开)
-示例内容:
-技巧一: 设定小目标
-描述: “通过设定并完成小目标来增强自信心。”
-详细说明: “每完成一个小目标,都会增强你的成就感。”
-技巧二: 积极自我对话
-描述: “通过积极的自我对话来改变消极思维。”
-详细说明: “用积极的语言鼓励自己,提升自我肯定感。”
-技巧三: 练习身体语言
-描述: “通过开放的身体语言来传达自信。”
-详细说明: “站直、微笑和保持眼神接触可以帮助你感到更自信。”
-3. 实用工具区
-组件: 工具推荐
-元素:
-工具名称
-工具描述
-使用链接或下载按钮
-示例内容:
-工具一: 自信心提升APP
-描述: “提供每日自信心练习和积极的提醒。”
-按钮: “下载APP”
-工具二: 在线课程
-描述: “学习更多关于自信心提升的技巧。”
-按钮: “查看课程”
-4. 资源区
-组件: 文章和视频推荐
-元素:
-文章标题
-视频缩略图
-资源链接
-示例内容:
-文章: “提升自信心的五个有效方法”
-链接: “阅读更多”
-视频: “如何在公众面前自信演讲”
-链接: “观看视频”
-5. 社区支持区
-组件: 社区讨论
-元素:
-讨论主题
-参与链接
-示例内容:
-主题: “分享你的自信提升故事”
-链接: “参与讨论”
-请您作为一名专业的Ionic前端工程师,帮我运用ionic v7 或v8及以上的angular版本standalone模式编写,选择合适的ionic组件来重构以上产品页面的各个区域和内容,如果涉及到图形效果请用ion-icon。并给出整个页面的topic-detail3.component.html代码还有topic-detail3.component.ts代码

+ 1 - 1
soul-app/src/app/topic-detail3/topic-detail3.component.html

@@ -52,7 +52,7 @@
   <section>
     <ion-list>
       <ion-list-header>
-        <ion-label>相关文章和视频</ion-label>
+        <ion-label>相关文章</ion-label>
       </ion-list-header>
       <ion-item *ngFor="let resource of resources">
         <ion-label>

+ 3 - 2
soul-app/src/app/topic-detail3/topic-detail3.component.scss

@@ -1,6 +1,7 @@
-/* 设置页面背景色 */
+/* 整体ion-content背景 */
 ion-content {
-  --background: #ffffff; /* 白色背景 */
+  --background: url('https://nova-cloud.obs.cn-south-1.myhuaweicloud.com/storage/aigc/imagine/4RHC2Jhp2l-0.png') no-repeat fixed!important;
+  --background-size: cover; /* 使背景图片覆盖整个屏幕 */
 }
 ion-title {
   font-size: 24px; /* 增大字体大小 */

+ 98 - 1
soul-prod/README.md

@@ -164,4 +164,101 @@
 > 项目名称的生成:
 {{项目策划文档}},作为一名创意大师,请帮我设计本项目的名称,并且要突出心理、陪聊的关键字。
 
-> 心灵陪聊
+> 心灵陪聊
+# 类图
+```plantuml
+' 聊天项目类图英文版
+@startuml
+
+class _User { 
+    + objectId: String //用户唯一标识符
+    + username: String //用户名
+    + realname: String //真实姓名
+    + password: String //用户密码
+    + gender: String //性别
+    + age: Number //年龄
+    + email: String //用户邮箱
+    + avatar: 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 ChatReport {
+    + objectId: String //报告唯一标识符
+    - report: String //分析结果
+}
+class ChatEvaluate{
+    + objectId:String//评论唯一标识符
+    + avater:String//用户头像
+    + content:String//评论内容
+    + rating:Number//评论星星数
+    + user: Pointer<User> //关联的用户对象
+}
+
+class PsychologicalCommunity {
+    + communityID: String // 社区唯一标识符
+    + topic: String // 社区主题
+}
+
+class PsychologicalActivity {
+    + activityID: String // 活动唯一标识符
+    + title: String // 活动标题
+    + description: String // 活动描述
+    + date: Date // 活动日期
+    + location: String // 活动地点
+}
+
+class PsychologicalSurvey {
+    + surveyID: String // 调查唯一标识符
+    + content: String // 调查内容
+    + publisher: SchoolAdmin // 发布者
+    + responses: List // 调查响应列表
+}
+
+class SchoolAdmin {
+    + adminID: String // 管理员唯一标识符
+    + name: String // 管理员姓名
+    + email: String // 管理员邮箱
+}
+
+class Bottle {
+    + bottleID: String // 瓶子唯一标识符
+    + content: String // 瓶子内容
+    + author: User // 作者
+    + timestamp: Date // 时间戳
+}
+
+_User "1" -- "0..*" PsychologicalCommunity
+PsychologicalActivity "1" -- "0..*" _User
+SchoolAdmin "1" -- "0..*" PsychologicalActivity
+SchoolAdmin "1" -- "0..*" PsychologicalSurvey
+PsychologicalSurvey "1" -- "0..*" _User
+_User "1" -- "0..*" Bottle
+_User "*" --> "*" ChatEvaluate
+_User "1" --> "*" ChatRecord     
+ChatPartner "1" --> "*" ChatRecord 
+ChatCompanion "1" --> "*" ChatRecord 
+ChatRecord "1" --> "1" ChatReport      
+@enduml
+```