0225304 3 päivää sitten
vanhempi
commit
cceb4fc1ae
4 muutettua tiedostoa jossa 103 lisäystä ja 17 poistoa
  1. 93 0
      docs/README.md
  2. 2 9
      docs/schema.md
  3. 1 1
      myapp/src/app/tab3/tab3.page.html
  4. 7 7
      myapp/src/app/tab3/tab3.page.ts

+ 93 - 0
docs/README.md

@@ -0,0 +1,93 @@
+# 数据库模式设计(无约束版本)
+
+以下是简化后的数据库模式设计,移除了所有外键约束,仅保留表结构和字段定义:
+
+## 1. users 表(用户表)
+| 字段名 | 类型 | 描述 |
+|--------|------|------|
+| id | VARCHAR(36) | 用户唯一标识 |
+| username | VARCHAR(50) | 用户名 |
+| email | VARCHAR(100) | 电子邮箱 |
+| email_verified | BOOLEAN | 邮箱验证状态 |
+| password_hash | VARCHAR(255) | 密码哈希值 |
+| auth_data | JSON | 第三方认证数据 |
+| nickname | VARCHAR(50) | 用户昵称 |
+| avatar_url | VARCHAR(255) | 头像URL |
+| bio | TEXT | 个人简介 |
+| last_active_at | TIMESTAMP | 最后活跃时间 |
+| privacy_settings | JSON | 隐私设置 |
+| created_at | TIMESTAMP | 创建时间 |
+| updated_at | TIMESTAMP | 更新时间 |
+
+## 2. diaries 表(日记表)
+| 字段名 | 类型 | 描述 |
+|--------|------|------|
+| id | VARCHAR(36) | 日记唯一标识 |
+| user_id | VARCHAR(36) | 作者ID |
+| title | VARCHAR(100) | 日记标题 |
+| content | TEXT | 日记内容 |
+| mood | VARCHAR(20) | 心情状态 |
+| tags | JSON | 标签数组 |
+| is_public | BOOLEAN | 是否公开 |
+| location | POINT | 地理位置 |
+| weather | JSON | 天气数据 |
+| ai_analysis | JSON | AI分析结果 |
+| created_at | TIMESTAMP | 创建时间 |
+| updated_at | TIMESTAMP | 更新时间 |
+
+## 3. chat_messages 表(聊天消息表)
+| 字段名 | 类型 | 描述 |
+|--------|------|------|
+| id | VARCHAR(36) | 消息唯一标识 |
+| sender_id | VARCHAR(36) | 发送者ID |
+| receiver_id | VARCHAR(36) | 接收者ID |
+| diary_id | VARCHAR(36) | 关联日记ID |
+| content | TEXT | 消息内容 |
+| is_read | BOOLEAN | 是否已读 |
+| message_type | VARCHAR(20) | 消息类型 |
+| attachments | JSON | 附件列表 |
+| created_at | TIMESTAMP | 创建时间 |
+| updated_at | TIMESTAMP | 更新时间 |
+
+## 4. dynamics 表(动态表)
+| 字段名 | 类型 | 描述 |
+|--------|------|------|
+| id | VARCHAR(36) | 动态唯一标识 |
+| user_id | VARCHAR(36) | 创建者ID |
+| diary_id | VARCHAR(36) | 引用日记ID |
+| content | TEXT | 动态内容 |
+| images | JSON | 图片列表 |
+| location | POINT | 地理位置 |
+| tags | JSON | 标签数组 |
+| interaction_count | INTEGER | 互动计数 |
+| created_at | TIMESTAMP | 创建时间 |
+| updated_at | TIMESTAMP | 更新时间 |
+
+## 5. interactions 表(互动表)
+| 字段名 | 类型 | 描述 |
+|--------|------|------|
+| id | VARCHAR(36) | 互动唯一标识 |
+| user_id | VARCHAR(36) | 发起用户ID |
+| target_user_id | VARCHAR(36) | 目标用户ID |
+| target_type | VARCHAR(20) | 目标类型 |
+| target_id | VARCHAR(36) | 目标ID |
+| type | VARCHAR(20) | 互动类型 |
+| content | TEXT | 互动内容 |
+| status | VARCHAR(20) | 状态 |
+| created_at | TIMESTAMP | 创建时间 |
+| updated_at | TIMESTAMP | 更新时间 |
+
+## 6. thanks_types 表(感恩清单表)
+| 字段名 | 类型 | 描述 |
+|--------|------|------|
+| id | VARCHAR(36) | 清单唯一标识 |
+| user_id | VARCHAR(36) | 创建者ID |
+| title | VARCHAR(100) | 清单标题 |
+| items | JSON | 清单项数组 |
+| theme_color | VARCHAR(20) | 主题颜色 |
+| is_shared | BOOLEAN | 是否共享 |
+| weekly_goal | INTEGER | 每周目标 |
+| created_at | TIMESTAMP | 创建时间 |
+| updated_at | TIMESTAMP | 更新时间 |
+
+注:此设计移除了所有外键约束,但仍保留了关联字段(如user_id等),实际应用中需要通过应用程序逻辑来维护数据完整性。

+ 2 - 9
docs/schema.md

@@ -124,15 +124,8 @@ _User "1" *-- "many" ChatMessage : 发送
 _User "1" *-- "many" Dynamic : 发布
 _User "1" *-- "many" Interaction : 发起
 _User "1" *-- "many" ThanksType : 创建
-
-Diary "1" *-- "many" ChatMessage : 关联
-Diary "1" *-- "many" Dynamic : 引用
-Diary "1" *-- "many" Interaction : 接收
-
-Dynamic "1" *-- "many" Interaction : 接收
-
-ThanksType "1" *-- "0..many" Interaction : 接收互动
-
+Diary "1" *-- "many" Dynamic : 引用 
+Dynamic "1" *-- "many" Interaction : 接收 
 @enduml
 ```
 

+ 1 - 1
myapp/src/app/tab3/tab3.page.html

@@ -34,7 +34,7 @@
         <!-- 卡片头部 -->
         <div class="ai-header">
           <div class="ai-avatar">
-            <img src="src/assets/icon/xinli1.jpeg" alt="AI咨询师">
+            <img src="assets/icon/xinli1.jpeg" alt="AI咨询师">
           </div>
           <div class="ai-profile">
             <div class="ai-name">AI心理咨询师</div>

+ 7 - 7
myapp/src/app/tab3/tab3.page.ts

@@ -38,7 +38,7 @@ openConsult(chatId?:string){
         // 角色标签
         chat.role.set("tags",['情绪管理', '人际关系']);
         // 角色头像
-        chat.role.set("avatar","src/assets/icon/xinli1.jpeg")
+        chat.role.set("avatar","assets/icon/xinli1.jpeg")
         // 角色提示词
         chat.role.set("prompt", `
 # 角色设定
@@ -59,9 +59,9 @@ openConsult(chatId?:string){
         
         // 配置AI日记分类
         let promptCates = [
-          { img: "src/assets/icon/ganen1.jpg", name: "感恩日记" },
-          { img: "src/assets/icon/jz.jpg", name: "自我觉察" },
-          { img: "src/assets/icon/qingxu.jpg", name: "情绪调节" }
+          { img: "assets/icon/ganen1.jpg", name: "感恩日记" },
+          { img: "assets/icon/jz.jpg", name: "自我觉察" },
+          { img: "assets/icon/qingxu.jpg", name: "情绪调节" }
         ];
 
         setTimeout(() => {
@@ -72,7 +72,7 @@ openConsult(chatId?:string){
         let promptList = [
           {
             cate: "感恩日记",
-            img: "src/assets/icon/ganen1.jpg",
+            img: "assets/icon/ganen1.jpg",
             messageList: [
               "今天最让你感恩的三件小事是什么?",
               "最近一次感受到他人善意的经历是?",
@@ -82,7 +82,7 @@ openConsult(chatId?:string){
           },
           {
             cate: "自我觉察",
-            img: "src/assets/icon/jz.jpg",
+            img: "assets/icon/jz.jpg",
             messageList: [
               "最近的情绪波动点在哪里?",
               "你发现自己的哪些思维模式?",
@@ -92,7 +92,7 @@ openConsult(chatId?:string){
           },
           {
             cate: "情绪调节",
-            img: "src/assets/icon/qingxu.jpg",
+            img: "assets/icon/qingxu.jpg",
             messageList: [
               "当感到焦虑时你会如何应对?",
               "描述最近一次情绪失控的经历",