yuebuzu-creater 4 ヶ月 前
コミット
daed267134

+ 2 - 2
wisdom-app/src/app/page/inquiry-human/inquiry-human.component.ts

@@ -35,8 +35,8 @@ interface ConsultOption {
   icon: string;
   price: number;
   unit: string;
-  isAvailable: boolean;
-  isSelected?: boolean;
+  isAvailable: boolean; // 是否可用
+  isSelected?: boolean; // 是否被选中
 }
 
 @Component({

+ 2 - 1
wisdom-app/src/app/page/page-create-agent/page-create-agent.component.ts

@@ -266,7 +266,8 @@ export class PageCreateAgentComponent  implements OnInit {
 您是${doctor?.get("name")},${doctor?.get("desc")},年龄${doctor?.get("age")}岁,需要完成一次完整的门诊服务。
 
 # 对话环节
-0.导诊(根据用户基本情况,引导挂号合适的科室)
+0.直接和用户打招呼(如:你好,XXX,我是···)
+- 注意:如果用户问的问题和你的${doctor?.get("desc")}的不符,请直接引导用户去其他的地方
 1.预设的问询方式(根据不同症状来问询具体的情况)
 - 打招呼,以用户自述为主
 - 当信息充足时候,确认用户症状对应的科室,并进入下一个环节

+ 7 - 2
wisdom-app/src/app/page/page-inquiry/page-inquiry.component.html

@@ -3,11 +3,16 @@
     <div>
       <ion-button (click)="backhome()" color="primary" >{{back}}</ion-button>
     </div>
+    <ion-segment [(ngModel)]="selectedSegment" (ionChange)="segmentChanged($event)" scrollable>
+      <ion-segment-button *ngFor="let segment of segments" [value]="segment">
+        {{segment}}
+      </ion-segment-button>
+    </ion-segment>
   </ion-toolbar>
 </ion-header>
 
 <ion-content>
-  <div>
+  <!-- <div>
     <ion-list>
       <ion-item>
         <ion-avatar aria-hidden="true" slot="start">
@@ -16,7 +21,7 @@
         <ion-label>{{currentUser.get('realname')}}</ion-label>
       </ion-item>
     </ion-list>
-  </div>
+  </div> -->
   
   <div>
       <ion-grid>

+ 32 - 20
wisdom-app/src/app/page/page-inquiry/page-inquiry.component.ts

@@ -1,5 +1,5 @@
 import { Component,OnInit } from '@angular/core';
-import { IonHeader, IonToolbar, IonTitle, IonContent, IonButton,IonIcon, ModalController, IonTextarea, IonInput, IonCard, IonCardHeader, IonCardTitle, IonThumbnail, IonCardContent, IonCardSubtitle, IonItem, IonList, IonLabel, IonAvatar, IonCol, IonRow, IonGrid, IonBadge, IonFooter } from '@ionic/angular/standalone';
+import { IonHeader, IonToolbar, IonTitle, IonContent, IonButton,IonIcon, ModalController, IonTextarea, IonInput, IonCard, IonCardHeader, IonCardTitle, IonThumbnail, IonCardContent, IonCardSubtitle, IonItem, IonList, IonLabel, IonAvatar, IonCol, IonRow, IonGrid, IonBadge, IonFooter, IonSegment, IonSegmentButton } from '@ionic/angular/standalone';
 import { AgentTaskStep } from 'src/agent/agent.task';
 import { addIcons } from 'ionicons';
 import { radioButtonOffOutline, reloadOutline, checkmarkCircleOutline, closeCircleOutline } from 'ionicons/icons';
@@ -39,11 +39,19 @@ interface Doctor1 {
     IonHeader, IonToolbar, IonTitle, IonContent, IonButton,IonTextarea,IonInput,
     IonIcon,AgentUserInputComponent,DecimalPipe,IonCard,IonCardHeader,IonCardTitle,
     IonCardSubtitle,IonCardContent, IonThumbnail, IonItem,IonList,CommonModule,IonLabel,
-    IonAvatar,FormsModule,IonCol,IonRow,IonGrid,IonBadge,IonFooter
+    IonAvatar,FormsModule,IonCol,IonRow,IonGrid,IonBadge,IonFooter,IonSegment,IonSegmentButton,
   ],
 })
 
 export class PageInquiryComponent  implements OnInit {
+  selectedSegment:string = '全部';
+  segments = ['全部', '妇产科', '儿科', '皮肤性病科', '内科', '外科', '眼科', '耳鼻喉科', '神经科', '康复科', '中医药科'];
+  segmentChanged(event: any) {
+    this.selectedSegment = event.detail.value;
+    console.log(this.selectedSegment);
+    this.loadDoctorList();
+  }
+
   createAI(){
     this.router.navigate(['/tabs/create-agent']);
     console.log("createAI")
@@ -57,6 +65,9 @@ export class PageInquiryComponent  implements OnInit {
   async loadDoctorList(){
     let query = new CloudQuery("Doctor");
     query.include("depart")
+    if (this.selectedSegment != '全部'){
+      query.equalTo("specialty",this.selectedSegment )
+    }
     this.doctorList = await query.find()
     console.log(this.doctorList)
   }
@@ -207,26 +218,27 @@ export class PageInquiryComponent  implements OnInit {
                 chat.role.set("tags",doctor?.get("qualifications"));
                 chat.role.set("avatar",doctor?.get("avatar") || "../../assets/image/doctor7.png")
                 chat.role.set("prompt",`
-  # 角色设定
-  您是${doctor?.get("name")},${doctor?.get("desc")},年龄${doctor?.get("age")}岁,需要完成一次完整的门诊服务。
+# 角色设定
+您是${doctor?.get("name")},${doctor?.get("desc")},年龄${doctor?.get("age")}岁,需要完成一次完整的门诊服务。
   
-  # 对话环节
-  0.导诊(根据用户基本情况,引导挂号合适的科室)
-  1.预设的问询方式(根据不同症状来问询具体的情况)
-  - 打招呼,以用户自述为主
-  - 当信息充足时候,确认用户症状对应的科室,并进入下一个环节
-  2.拓展的问询细节
-  例如:用户反映呼吸不畅,拓展出:是否咳嗽;是否感觉痛或者痒等其他需要的问题。
-  - 当问询细节补充完成后进入下一个环节
-  3.初步的诊断结果,并且同时列出检查检验项目
-  初步诊断:确定需要有哪些进一步检查
-  检查检验:获取医学客观数据
-  - 等待用户提交客观数据,进入下一阶段
-  4.给出诊断方案并给出处方
-  - 完成处方时,请在消息结尾附带: [处方完成]
+# 对话环节
+0.直接和用户打招呼(如:你好,XXX,我是···)
+- 注意:如果用户问的问题和你的${doctor?.get("specialty")}的不符,请直接引导用户去其他的科室
+1.预设的问询方式(根据不同症状来问询具体的情况),如果用户和
+- 打招呼,以用户自述为主
+- 当信息充足时候,确认用户症状对应的科室,并进入下一个环节
+2.拓展的问询细节
+例如:用户反映呼吸不畅,拓展出:是否咳嗽;是否感觉痛或者痒等其他需要的问题。
+- 当问询细节补充完成后进入下一个环节
+3.初步的诊断结果,并且同时列出检查检验项目
+初步诊断:确定需要有哪些进一步检查
+检查检验:获取医学客观数据
+- 等待用户提交客观数据,进入下一阶段
+4.给出诊断方案并给出处方
+- 完成处方时,请在消息结尾附带: [处方完成]
   
-  # 开始话语
-  当您准备好了,可以以一个医生的身份,向来访的用户打招呼。
+# 开始话语
+当您准备好了,可以以一个医生的身份,向来访的用户打招呼。
   ${userPrompt}
   `);
         },

+ 0 - 2
wisdom-app/src/app/page/page-my-health/page-my-health.component.ts

@@ -49,8 +49,6 @@ export class PageMyHealthComponent  implements OnInit {
     let query = new CloudQuery('Consultation');
     query.include("doctor","depart");
     query.equalTo("user",user?.id);
-    // 根据用户id查询, 其中用户id字段是指针,指向User表中的objectId
-    // query.equalTo("user",{ "__type": "Pointer", "className": "_User", "objectId": this.objectId });
     this.allMessage = await query.find();
     console.log("allMessage",this.allMessage);
   }

+ 3 - 0
wisdom-app/src/app/page/page-user-inquery/page-user-inquery.component.html

@@ -0,0 +1,3 @@
+<p>
+  page-user-inquery works!
+</p>

+ 0 - 0
wisdom-app/src/app/page/page-user-inquery/page-user-inquery.component.scss


+ 22 - 0
wisdom-app/src/app/page/page-user-inquery/page-user-inquery.component.spec.ts

@@ -0,0 +1,22 @@
+import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
+
+import { PageUserInqueryComponent } from './page-user-inquery.component';
+
+describe('PageUserInqueryComponent', () => {
+  let component: PageUserInqueryComponent;
+  let fixture: ComponentFixture<PageUserInqueryComponent>;
+
+  beforeEach(waitForAsync(() => {
+    TestBed.configureTestingModule({
+      imports: [PageUserInqueryComponent],
+    }).compileComponents();
+
+    fixture = TestBed.createComponent(PageUserInqueryComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  }));
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});

+ 64 - 0
wisdom-app/src/app/page/page-user-inquery/page-user-inquery.component.ts

@@ -0,0 +1,64 @@
+import { Component, OnInit } from '@angular/core';
+import { CloudObject, CloudQuery, CloudUser } from 'src/lib/ncloud';
+
+@Component({
+  selector: 'app-page-user-inquery',
+  templateUrl: './page-user-inquery.component.html',
+  styleUrls: ['./page-user-inquery.component.scss'],
+  standalone: true,
+})
+export class PageUserInqueryComponent  implements OnInit {
+  currentUser:CloudUser;
+  constructor(
+  ) {
+    this.currentUser = new CloudUser();
+   }
+   departName:string = ''
+   objectId: string = ''
+  ngOnInit() {}
+  async load(){
+    let depart = new CloudQuery('Department');
+    depart.equalTo("name", this.departName)
+    let object = await depart.find()
+    if (!object){
+      console.log("科室名不存在")
+      return 
+    }
+    console.log('object',object)
+    this.currentUser = new CloudUser();
+    console.log('currentUser',this.currentUser)
+    let doctor = new CloudObject('Doctor1');
+    doctor.set({
+      avatar: 'https://app.fmode.cn/dev/jxnu/202226701019/doctor7.png',
+    name: '张三',
+    title: '主任医师',
+    depart: {
+      __type:"Pointer",
+      className:"Department",
+      objectId:object[0].id
+    },
+    hospital: '首都医科大学附属北京友谊..',
+    hospitalLevel: '三甲',
+    hospitalType: '百强医院',
+    expertise: '擅长:结肠息肉和息肉病、胃息肉、幽门螺杆菌感染、慢性胃炎、胃食管反流、慢性萎缩性胃炎、糜烂性胃炎...',
+    rating: 5.0,
+    consultations: '1.1万',
+    recommendations: 100,
+    prices: {
+      text: 100,
+      voice: 150,
+      video: 300
+    },
+    tags: ['百强医院', '可开处方', '从业24年', '擅长消化系统疾病', '可开处方'],
+    isVerified: true,
+    isExpert: true,
+    user: {
+      __type:"Pointer",
+      className:"User",
+      objectId:this.objectId
+    }
+    })
+    doctor.save()
+    console.log('doctor',doctor)
+  }
+}

+ 155 - 141
wisdom-app/src/app/tab1/tab1.page.html

@@ -19,177 +19,191 @@
 <!-- set NODE_OPTIONS=--max_old_space_size=8192
 node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng serve -->
 <!-- parse-dashboard --appId dev --masterKey devmk --serverURL http://dev.fmode.cn:1337/parse --appName DevServer -->
-<!-- 1234567890
-1234 -->
+<!-- 1234567890 1234 -->
+
 <ion-content [fullscreen]="true">
+  <!-- @if(currentUser?.id ==  adminList[0].id){ -->
+    <!-- <ion-card>
+      <ion-card-header>
+        <ion-card-title>管理员</ion-card-title>
+      </ion-card-header>
+      <ion-card-content>
+        <ion-button (click)="goToPageUser()">{{current}}</ion-button>
+        <ion-button (click)="goToPageDoctor()">查看医生</ion-button>
+        <ion-button (click)="goToPageDrug()">查看药品</ion-button>
+      </ion-card-content>
+    </ion-card> -->
+  <!-- } -->
+  <!-- @if (currentUser?.id !=  adminList[0]){ -->
     <!-- 轮播图区域 -->
     <div class="carousel-container" style="border-radius: 25px; margin: 5px auto;">
-    <div class="carousel" [style.transform]="'translateX(-' + currentSlide * 100 + '%)'">
-      <div class="slide" *ngFor="let image of images">
-        <img [src]="image" alt="轮播图" height="100px" >
-      </div>
-    </div>
-  
-    <button class="prev" (click)="prevSlide()">&#10094;</button>
-    <button class="next" (click)="nextSlide()">&#10095;</button>
-  
-    <div class="dots">
-      <span class="dot" *ngFor="let image of images; let i = index" 
-            [class.active]="i === currentSlide" 
-            (click)="goToSlide(i)"></span>
-    </div>
-  </div>
-  <div class="inquery" style="margin-top: 10px ; margin-bottom: 15px; display: flex; height: 120px;">
-    <div class="inquery-ai" style="margin-left:5px;width: 48%; background-color: rgb(255, 255, 255);border-radius: 10px; box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.163), -2px -2px 2px 0px rgba(0, 0, 0, 0.148);">
-      <div style="display: flex; margin: 0; padding: 0;">
-        <div (click)="goToPage1()" style="margin-left: 8px">
-          <!-- <img src="../../assets/image/ai.png" alt="AI问诊"> -->
-          <h1>AI问诊</h1>
-          <p style="margin: 0; font-size: 10px; color: grey">7X24小时 智能AI医生</p>
-          <p style="margin-top:5px; width:50px;color:white;background-color: rgba(214, 10, 10, 0.589); font-size: 8px;">不限次畅聊</p>
-        </div>
-        <div (click)="goToPage1()" style="margin-left: 2px; margin-top: 10px;">
-          <img src="https://app.fmode.cn/dev/jxnu/202226701019/ai.png" alt="AI问诊" height="95px">
+      <div class="carousel" [style.transform]="'translateX(-' + currentSlide * 100 + '%)'">
+        <div class="slide" *ngFor="let image of images">
+          <img [src]="image" alt="轮播图" height="100px" >
         </div>
       </div>
+    
+      <button class="prev" (click)="prevSlide()">&#10094;</button>
+      <button class="next" (click)="nextSlide()">&#10095;</button>
+    
+      <div class="dots">
+        <span class="dot" *ngFor="let image of images; let i = index" 
+              [class.active]="i === currentSlide" 
+              (click)="goToSlide(i)"></span>
+      </div>
     </div>
-    <div style="width: 1%;"></div>
-    <div class="inquery-human" style="margin-left:0px;width: 48%; background-color: rgb(255, 255, 255);border-radius: 10px; box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.163), -2px -2px 2px 0px rgba(0, 0, 0, 0.148);">
-      <div style="display: flex;">
-        <div (click)="goToPage2()" style="margin-left: 8px">
-          <!-- <img src="../../assets/image/askdoct.jpg" alt="找医生"> -->
-          <h1>  找医生</h1>
-          <p style="margin-left: 0px; margin-top:5px; font-size: 10px; color: grey ">全国66万医生等你来选</p>
-        </div>
-        <div (click)="goToPage2()"  style="margin-left: 2px; margin-top: 10px;">
-          <img src="https://app.fmode.cn/dev/jxnu/202226701019/askdoct.jpg" alt="找医生" height="95px">
+    <div class="inquery" style="margin-top: 10px ; margin-bottom: 15px; display: flex; height: 120px;">
+      <div class="inquery-ai" style="margin-left:5px;width: 48%; background-color: rgb(255, 255, 255);border-radius: 10px; box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.163), -2px -2px 2px 0px rgba(0, 0, 0, 0.148);">
+        <div style="display: flex; margin: 0; padding: 0;">
+          <div (click)="goToPage1()" style="margin-left: 8px">
+            <!-- <img src="../../assets/image/ai.png" alt="AI问诊"> -->
+            <h1>AI问诊</h1>
+            <p style="margin: 0; font-size: 10px; color: grey">7X24小时 智能AI医生</p>
+            <p style="margin-top:5px; width:50px;color:white;background-color: rgba(214, 10, 10, 0.589); font-size: 8px;">不限次畅聊</p>
+          </div>
+          <div (click)="goToPage1()" style="margin-left: 2px; margin-top: 10px;">
+            <img src="https://app.fmode.cn/dev/jxnu/202226701019/ai.png" alt="AI问诊" height="95px">
+          </div>
         </div>
       </div>
-    </div>
-  </div>
-
-
-  <!-- 功能区 -->
-<div class="function-area" style="border-radius: 20px; margin-left: 10px; margin-right: 10px;">
-  <div class="function-row">
-    <div class="function-item" *ngFor="let item of functionItems1" (click)="navigateTo(item.route)">
-      <div class="icon">
-        <ion-icon [name]="item.icon"></ion-icon>
+      <div style="width: 1%;"></div>
+      <div class="inquery-human" style="margin-left:0px;width: 48%; background-color: rgb(255, 255, 255);border-radius: 10px; box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.163), -2px -2px 2px 0px rgba(0, 0, 0, 0.148);">
+        <div style="display: flex;">
+          <div (click)="goToPage2()" style="margin-left: 8px">
+            <!-- <img src="../../assets/image/askdoct.jpg" alt="找医生"> -->
+            <h1>  找医生</h1>
+            <p style="margin-left: 0px; margin-top:5px; font-size: 10px; color: grey ">全国66万医生等你来选</p>
+          </div>
+          <div (click)="goToPage2()"  style="margin-left: 2px; margin-top: 10px;">
+            <img src="https://app.fmode.cn/dev/jxnu/202226701019/askdoct.jpg" alt="找医生" height="95px">
+          </div>
+        </div>
       </div>
-      <div class="label">{{ item.label }}</div>
     </div>
-  </div>
-</div>
-
-<div class="aidoctor">
-  <ion-card>
-    <ion-card-header style="margin: 0; padding: 0;">
-      <!-- <ion-card-title>权威医生</ion-card-title> -->
-      <div class="mid-nav">
-        <div style="font-weight: bold; ">
-          <h1>AI医生</h1>
-        </div>
-        <div class="under_slide">
-          <ion-label (click)="goToViewAll()">查看全部</ion-label>
-          <ion-ripple-effect></ion-ripple-effect>
-          <ion-icon name="chevron-forward-outline"></ion-icon>
+  
+  
+    <!-- 功能区 -->
+  <div class="function-area" style="border-radius: 20px; margin-left: 10px; margin-right: 10px;">
+    <div class="function-row">
+      <div class="function-item" *ngFor="let item of functionItems1" (click)="navigateTo(item.route)">
+        <div class="icon">
+          <ion-icon [name]="item.icon"></ion-icon>
         </div>
+        <div class="label">{{ item.label }}</div>
       </div>
-    </ion-card-header>
-    <ion-card-content style="margin: 0; padding: 0;">
-      <ion-list>
-        <div style="display: flex; justify-content: space-between; margin: 0; padding: 0;">
-          <ion-item style="margin: 0; padding: 0;" (click)="openInquiry(doctor)" *ngFor="let doctor of doctorList" lines="none">
-            <div style="margin: 0; padding:0;">
-              <div style="margin:0; padding:0px;">
-                <img height="90px" [src]="doctor.get('avatar') || '../../assets/image/doctor7.png'" [alt]="doctor.get('name')" />
-              </div>
-              <div class="doctor-info" style="margin:0; padding:0px;">
-                <h4 style="text-align:center;margin:0; padding:0px;">{{ doctor.get('name') }}({{ doctor.get('age') }}岁)</h4>
-                <p style="text-align:center;margin:0; padding:0px;">{{ doctor.get('title') }}</p>
-                <p style="text-align:center;margin:0; padding:0px;">{{ doctor.get('depart')?.name }}</p>
-                <p style="width: 100%; margin:0; padding:0px;">飞码互联网医院</p>
-              </div>
-            </div>
-          </ion-item>
-        </div>
-      </ion-list>
-    </ion-card-content>
-  </ion-card>
-</div>
-<div class="clinic-container"  style=" margin:0px 10px;box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.163), -2px -2px 2px 0px rgba(0, 0, 0, 0.148);">
-  <div class="clinic-header">
-    <h2>{{title}}</h2>
-    <p>{{subtitle}}</p>
+    </div>
   </div>
   
-  <div class="ads-container">
-    <div class="ad-card" *ngFor="let ad of clinicAds" [style.background-color]="ad.backgroundColor">
-      <div class="ad-content">
-        <div class="text-content">
-          <h3>{{ad.title}}</h3>
-          <p *ngIf="ad.price" class="price">{{ad.price}}</p>
-          <p class="description">{{ad.description}}</p>
-          <ion-button fill="outline" size="small">
-            立即查看
+  <div class="aidoctor">
+    <ion-card>
+      <ion-card-header style="margin: 0; padding: 0;">
+        <!-- <ion-card-title>权威医生</ion-card-title> -->
+        <div class="mid-nav">
+          <div style="font-weight: bold; ">
+            <h1>AI医生</h1>
+          </div>
+          <div class="under_slide">
+            <ion-label (click)="goToViewAll()">查看全部</ion-label>
+            <ion-ripple-effect></ion-ripple-effect>
             <ion-icon name="chevron-forward-outline"></ion-icon>
-          </ion-button>
-        </div>
-        <div class="image-container">
-          <img [src]="ad.image" [alt]="ad.title">
+          </div>
         </div>
-      </div>
-    </div>
+      </ion-card-header>
+      <ion-card-content style="margin: 0; padding: 0;">
+        <ion-list>
+          <div style="display: flex; justify-content: space-between; margin: 0; padding: 0;">
+            <ion-item style="margin: 0; padding: 0;" (click)="openInquiry(doctor)" *ngFor="let doctor of doctorList" lines="none">
+              <div style="margin: 0; padding:0;">
+                <div style="margin:0; padding:0px;">
+                  <img height="90px" [src]="doctor.get('avatar') || '../../assets/image/doctor7.png'" [alt]="doctor.get('name')" />
+                </div>
+                <div class="doctor-info" style="margin:0; padding:0px;">
+                  <h4 style="text-align:center;margin:0; padding:0px;">{{ doctor.get('name') }}({{ doctor.get('age') }}岁)</h4>
+                  <p style="text-align:center;margin:0; padding:0px;">{{ doctor.get('title') }}</p>
+                  <p style="text-align:center;margin:0; padding:0px;">{{ doctor.get('depart')?.name }}</p>
+                  <p style="text-align:center;width: 100%; margin:0; padding:0px;">智养医院</p>
+                </div>
+              </div>
+            </ion-item>
+          </div>
+        </ion-list>
+      </ion-card-content>
+    </ion-card>
   </div>
-</div>
-<div class="service-container"  style=" margin:5px 10px;box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.163), -2px -2px 2px 0px rgba(0, 0, 0, 0.148);">
-  <div class="service-header">
-    <div class="title-section">
-      <h2>{{title1}}</h2>
-      <p>{{subtitle1}}</p>
+  <div class="clinic-container"  style=" margin:0px 10px;box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.163), -2px -2px 2px 0px rgba(0, 0, 0, 0.148);">
+    <div class="clinic-header">
+      <h2>{{title}}</h2>
+      <p>{{subtitle}}</p>
     </div>
-    <ion-button fill="clear" size="small">
-      查看更多 <ion-icon name="chevron-forward-outline"></ion-icon>
-    </ion-button>
-  </div>
-
-  <div class="service-grid">
-    <!-- 大卡片区域 -->
-    <div class="large-cards">
-      <div class="service-card large" 
-           *ngFor="let service of services | slice:0:2"
-           [style.background-color]="service.backgroundColor">
-        <div class="card-content">
+    
+    <div class="ads-container">
+      <div class="ad-card" *ngFor="let ad of clinicAds" [style.background-color]="ad.backgroundColor">
+        <div class="ad-content">
           <div class="text-content">
-            <h3>{{service.title}}</h3>
-            <p>{{service.description}}</p>
-            <ion-button *ngIf="service.hasDetail" fill="outline" size="small">
-              查看详情
+            <h3>{{ad.title}}</h3>
+            <p *ngIf="ad.price" class="price">{{ad.price}}</p>
+            <p class="description">{{ad.description}}</p>
+            <ion-button fill="outline" size="small">
+              立即查看
+              <ion-icon name="chevron-forward-outline"></ion-icon>
             </ion-button>
           </div>
           <div class="image-container">
-            <img [src]="service.image" [alt]="service.title">
-            <ion-badge *ngIf="service.isHot" color="danger">热门</ion-badge>
+            <img [src]="ad.image" [alt]="ad.title">
           </div>
         </div>
       </div>
     </div>
-
-    <!-- 小卡片网格 -->
-    <div class="small-cards">
-      <div class="service-card small" 
-           *ngFor="let service of services | slice:2">
-        <div class="card-content">
-          <div class="text-content">
-            <h3>{{service.title}}</h3>
-            <p>{{service.description}}</p>
+  </div>
+  <div class="service-container"  style=" margin:5px 10px;box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.163), -2px -2px 2px 0px rgba(0, 0, 0, 0.148);">
+    <div class="service-header">
+      <div class="title-section">
+        <h2>{{title1}}</h2>
+        <p>{{subtitle1}}</p>
+      </div>
+      <ion-button fill="clear" size="small">
+        查看更多 <ion-icon name="chevron-forward-outline"></ion-icon>
+      </ion-button>
+    </div>
+  
+    <div class="service-grid">
+      <!-- 大卡片区域 -->
+      <div class="large-cards">
+        <div class="service-card large" 
+             *ngFor="let service of services | slice:0:2"
+             [style.background-color]="service.backgroundColor">
+          <div class="card-content">
+            <div class="text-content">
+              <h3>{{service.title}}</h3>
+              <p>{{service.description}}</p>
+              <ion-button *ngIf="service.hasDetail" fill="outline" size="small">
+                查看详情
+              </ion-button>
+            </div>
+            <div class="image-container">
+              <img [src]="service.image" [alt]="service.title">
+              <ion-badge *ngIf="service.isHot" color="danger">热门</ion-badge>
+            </div>
           </div>
-          <div class="image-container">
-            <img [src]="service.image" [alt]="service.title">
+        </div>
+      </div>
+  
+      <!-- 小卡片网格 -->
+      <div class="small-cards">
+        <div class="service-card small" 
+             *ngFor="let service of services | slice:2">
+          <div class="card-content">
+            <div class="text-content">
+              <h3>{{service.title}}</h3>
+              <p>{{service.description}}</p>
+            </div>
+            <div class="image-container">
+              <img [src]="service.image" [alt]="service.title">
+            </div>
           </div>
         </div>
       </div>
     </div>
   </div>
-</div>
+  <!-- } -->
 </ion-content>

+ 59 - 18
wisdom-app/src/app/tab1/tab1.page.ts

@@ -1,4 +1,4 @@
-import { Component } from '@angular/core';
+import { Component, LOCALE_ID } from '@angular/core';
 import { IonCardHeader, IonHeader, IonToolbar, IonTitle, IonContent, IonTabButton, IonSearchbar, IonLabel, IonItem, IonList, NavController, IonCard, IonCardTitle, IonCardSubtitle, IonCardContent, IonThumbnail, IonRippleEffect, IonFab, IonFabList, IonFabButton, IonBadge } from '@ionic/angular/standalone';
 import { ExploreContainerComponent } from '../explore-container/explore-container.component';
 import { IonButton } from '@ionic/angular/standalone';
@@ -17,7 +17,7 @@ addIcons({ documentText, chatbubbles, person, calendar, newspaper,
    medkit,clipboard, podium, videocam, people,add
  });
  import { FmodeMapModule } from 'fmode-ng';
-
+ addIcons({chevronForwardOutline});
  
 interface ClinicAd {
   id: number;
@@ -46,13 +46,31 @@ interface ServiceItem {
   imports: [
     IonHeader, IonToolbar, IonTitle, IonContent, ExploreContainerComponent, IonTabButton, IonButton,
     IonIcon,IonSearchbar,IonLabel,IonItem,IonList,CommonModule,IonCard,IonCardHeader,IonCardTitle,IonCardSubtitle,
-    IonCardContent, IonThumbnail, IonRippleEffect, IonFab, IonFabButton, IonFabList,IonBadge
+    IonCardContent, IonThumbnail, IonRippleEffect, IonFab, IonFabButton, IonFabList,IonBadge, 
   ],
 })
 export class Tab1Page {
+
+  goToPageUser(){
+    this.router.navigate(['tabs/user']);
+  }
+  goToPageDoctor(){
+    console.log('goToPageDoctor');
+  }
+  goToPageDrug(){
+
+  }
+  adminList : Array<CloudObject> = [];
+  userList : Array<CloudObject> = [];
   title1 = "特色服务";
   subtitle1 = "一站式医疗健康解决方案";
-  
+  async loadUserData() {
+    const query = new CloudQuery('Doctor');
+    query.include('user')
+    this.userList = await query.find();
+
+  }
+
   services: ServiceItem[] = [
     {
       id: 1,
@@ -140,11 +158,11 @@ export class Tab1Page {
   constructor(
     private router: Router,
     private modalCtrl: ModalController,
-    // private navCtrl: NavController,
     private http: HttpClient // 注入 HttpClient
   ) {
-      addIcons({chevronForwardOutline});}
-
+    
+    }
+    
  /**
   * 轮播图
   */
@@ -250,7 +268,18 @@ export class Tab1Page {
   }
 
   ngOnInit() {
-    this.loadDoctorList()
+    
+    // let user = new CloudUser();
+    // let doctor = new CloudObject("Doctor")
+    // doctor.set({
+    //   user: {
+    //     __type:"Pointer",
+    //     className:"_User",
+    //     objectId:user.get("username")?.objectId
+    //   },
+    // })
+    // doctor.save()
+    this.loadDoctorList();
     this.startAutoSlide();
   }
 
@@ -262,6 +291,17 @@ export class Tab1Page {
     for(let i = 0; i < 3; i++) {
       this.doctorList.push(List[i])
     }
+    let query1 = new CloudQuery('Consultation');
+    // query1.include('doctor');
+    // query1.include('user');
+    // query1.include('depart');
+    let content = await query1.find()
+    // 把content中的所有数据都打印出来
+    console.log("content: ",content)
+    for (let i = 0; i < content.length; i++) {
+      console.log("content: ",content[i].data["allContent"])
+    }
+    // console.log("content: ",content[0]?.get("allContent"))
   }
   goToViewAll(){
     console.log(['route'])
@@ -303,11 +343,11 @@ export class Tab1Page {
     let dateStr = `${now.getFullYear()}-${now.getMonth()+1}-${now.getDate()}`
     // 对象权限的精确指定
     let ACL:any = {
-      "*":{read:false,write:false}
-    }
-    if(currentUser?.id){
-      ACL[currentUser?.id] = {read:true,write:true}
+      "*":{read:true,write:true}
     }
+    // if(currentUser?.id){
+    //   ACL[currentUser?.id] = {read:true,write:true}
+    // }
     consult.set({
       title:`${doctor.get('depart')?.name || ""}门诊记录${dateStr}-${doctor?.get("name")}`,
       doctor:doctor.toPointer(),
@@ -332,10 +372,11 @@ export class Tab1Page {
               chat.role.set("avatar",doctor?.get("avatar") || "../../assets/image/doctor7.png")
               chat.role.set("prompt",`
 # 角色设定
-您是${doctor?.get("name")},${doctor?.get("desc")},年龄${doctor?.get("age")}岁,需要完成一次完整的门诊服务。
+您是${doctor?.get("name")},${doctor?.get("desc")},年龄${doctor?.get("age")}岁,需要完成一次完整的门诊服务,直接和用户打招呼,询问用户的情况
 
 # 对话环节
-0.导诊(根据用户基本情况,引导挂号合适的科室)
+0.直接和用户打招呼(如:你好,XXX,我是···)
+- 注意:如果用户问的问题和你的${doctor?.get("specialty")}的不符,请直接引导用户去其他的科室
 1.预设的问询方式(根据不同症状来问询具体的情况)
 - 打招呼,以用户自述为主
 - 当信息充足时候,确认用户症状对应的科室,并进入下一个环节
@@ -359,8 +400,10 @@ ${userPrompt}
         let content:any = message?.content
         if(typeof content == "string"){
           if(content?.indexOf("[处方完成]")>-1){
+            let list = chat?.messageList
             console.log("门诊已完成")
             consult.set({
+              allContent:list,
               content:content // 处方内容
             })
             consult.save();
@@ -374,12 +417,10 @@ ${userPrompt}
         // consult.set({
         //   chatId:chat?.chatSession?.id
         // })
-        console.log("chat.MessageList", chat?.messageList)
+        // console.log("chat.MessageList", chat?.messageList)
       }
     }
     openChatPanelModal(this.modalCtrl,options)
   }
-  addNew(){
-    this.router.navigate(["/tabs/create-agent"]);
-  }
+
 }

+ 21 - 16
wisdom-app/src/app/tab2/tab2.page.html

@@ -8,11 +8,18 @@
       </ion-searchbar>
     </div>
     @if(!searchTerm){
+      
     <div class="header">
       <ion-card-header>
+        
         <ion-card-title>
-          <ion-segment [scrollable]="true" value="hotdot" [value]="type" (ionChange)="typeChange($event)">
-            <ion-segment-button value="hotdot" content-id="hotdot">
+          <ion-segment [(ngModel)]="selectedSegment" (ionChange)="segmentChanged($event)" scrollable>
+            <ion-segment-button *ngFor="let segment of segments" [value]="segment">
+              {{segment}}
+            </ion-segment-button>
+          </ion-segment>
+          <!-- <ion-segment [scrollable]="true" value="HotDot" [value]="type" (ionChange)="typeChange($event)">
+            <ion-segment-button value="HotDot" content-id="HotDot">
               <ion-label>热点</ion-label>
             </ion-segment-button>
             <ion-segment-button value="export" content-id="export">
@@ -30,7 +37,7 @@
             <ion-segment-button value="女" content-id="female">
               <ion-label>女性</ion-label>
             </ion-segment-button>
-          </ion-segment>
+          </ion-segment> -->
         </ion-card-title>
       </ion-card-header>
     </div>
@@ -40,14 +47,12 @@
 
 <ion-content class="knowledge" [fullscreen]="true">
   @if(!searchTerm){
-    
     <div class="content">
       <ion-card>
         <ion-card-header></ion-card-header>
-  
         <ion-card-content>
-          <ion-segment-view>
-            <ion-segment-content id="hotdot">
+          <!-- <ion-segment-view>
+            <ion-segment-content id="HotDot"> -->
               <!-- 轮播图区域 -->
               <div class="carousel-container" style="border-radius: 0px; margin: 0px auto;">
                 <div class="carousel" [style.transform]="'translateX(-' + currentSlide * 100 + '%)'">
@@ -66,15 +71,15 @@
                 </div>
               </div>
               <app-article-card (click)="openDetailModal(card)" *ngFor="let card of cards" [card]="card"></app-article-card>
-            </ion-segment-content>
+            <!-- </ion-segment-content> -->
   
-            <ion-segment-content id="export">
+            <!-- <ion-segment-content id="export">
               <app-article-card (click)="openDetailModal(card)" *ngFor="let card of cards" [card]="card"></app-article-card>
             </ion-segment-content>
   
-            <ion-segment-content id="sleep">
+            <ion-segment-content id="sleep"> -->
               <!-- 轮播图区域 -->
-              <div class="carousel-container" style="border-radius: 0px; margin: 0px auto;">
+              <!-- <div class="carousel-container" style="border-radius: 0px; margin: 0px auto;">
                 <div class="carousel" [style.transform]="'translateX(-' + currentSlide * 100 + '%)'">
                   <div class="slide" *ngFor="let image of images">
                     <img [src]="image" alt="轮播图" height="100px" >
@@ -96,9 +101,9 @@
             <ion-segment-content id="life">
               <app-article-card (click)="openDetailModal(card)" *ngFor="let card of cards" [card]="card"></app-article-card>
             </ion-segment-content>
-            <ion-segment-content id="male">
+            <ion-segment-content id="male"> -->
               <!-- 轮播图区域 -->
-              <div class="carousel-container" style="border-radius: 0px; margin: 0px auto;">
+              <!-- <div class="carousel-container" style="border-radius: 0px; margin: 0px auto;">
                 <div class="carousel" [style.transform]="'translateX(-' + currentSlide * 100 + '%)'">
                   <div class="slide" *ngFor="let image of images">
                     <img [src]="image" alt="轮播图" height="100px" >
@@ -116,9 +121,9 @@
               </div>
               <app-article-card (click)="openDetailModal(card)" *ngFor="let card of cards" [card]="card"></app-article-card>
             </ion-segment-content>
-            <ion-segment-content id="female">
+            <ion-segment-content id="female"> -->
               <!-- 轮播图区域 -->
-              <div class="carousel-container" style="border-radius: 0px; margin: 0px auto;">
+              <!-- <div class="carousel-container" style="border-radius: 0px; margin: 0px auto;">
                 <div class="carousel" [style.transform]="'translateX(-' + currentSlide * 100 + '%)'">
                   <div class="slide" *ngFor="let image of images">
                     <img [src]="image" alt="轮播图" height="100px" >
@@ -136,7 +141,7 @@
               </div>
               <app-article-card (click)="openDetailModal(card)" *ngFor="let card of cards" [card]="card"></app-article-card>
             </ion-segment-content>
-          </ion-segment-view>
+          </ion-segment-view> -->
         </ion-card-content>
       </ion-card>
     </div>

+ 23 - 11
wisdom-app/src/app/tab2/tab2.page.ts

@@ -16,6 +16,7 @@ import {
   document,
   globe,
 } from 'ionicons/icons';
+import { FormsModule } from '@angular/forms';
 addIcons({ airplane, bluetooth, call, wifi });
 addIcons({ chevronDownCircle, chevronForwardCircle, chevronUpCircle, colorPalette, document, globe });
 @Component({
@@ -29,12 +30,18 @@ addIcons({ chevronDownCircle, chevronForwardCircle, chevronUpCircle, colorPalett
     IonSegment, IonSegmentButton,NavigationLanComponent,
     IonSegmentContent,IonSegmentView,IonCardContent, IonCardTitle, IonCardHeader,IonCard,
     IonModal,IonIcon, IonButtons, IonSearchbar, IonFab, IonFabButton,IonFabList,IonFooter,
-    IonInput
+    IonInput,IonSegment,IonSegmentButton,FormsModule
   ]
 })
 
 export class Tab2Page {
-  
+  selectedSegment:string = '热点';
+  segments = [ '热点', '专家科普', '睡眠', '生活', '男性', '女性', '两性', '辟谣', '母婴', '美容'];
+  segmentChanged(event: any) {
+    this.selectedSegment = event.detail.value;
+    console.log(this.selectedSegment);
+    this.loadCards(); // 重新加载卡片
+  }
  /**
   * 轮播图
   */
@@ -124,26 +131,30 @@ startAutoSlide() {
   copyLink() {
     console.log('复制链接');
   }
-  type:"hotdot"|"export"|"sleep"|"life"|"男"|"女" = "hotdot"
+  // type:"HotDot"|"export"|"sleep"|"life"|"男"|"女" = "HotDot"
 
   constructor(
     private modalCtrl:ModalController,
     private router:Router,
   ) { 
-    this.loadCards(); // 初始化时加载所有科普信息
+    
   }
 
   cards: Array<CloudObject> = []; // 当前显示的分类卡片
-  async typeChange(ev: any) {
-    this.type = ev?.detail?.value || ev?.value || 'hotdot';
-    console.log(this.type);
-    await this.loadCards(); // 重新加载卡片
+  // async typeChange(ev: any) {
+  //   this.type = ev?.detail?.value || ev?.value || 'HotDot';
+  //   console.log(this.type);
+  //   await this.loadCards(); // 重新加载卡片
+  // }
+  async loadAllCards() {
+    const query = new CloudQuery('HotDot');
+    this.allCards = await query.find();
   }
 
   async loadCards() {
     const query = new CloudQuery('HotDot');
-    this.allCards = await query.find(); // 执行查询并获取结果
-    this.cards = this.allCards.filter((card) => card.get('category').toLowerCase().includes(this.type));
+    query.equalTo('category', this.selectedSegment);
+    this.cards = await query.find();
   }
 
 
@@ -156,7 +167,8 @@ startAutoSlide() {
     this.router.navigate(['tabs/ai-knowledge']);
   }
   ngOnInit() {
-
+    this.loadAllCards();
+    this.loadCards(); // 初始化时加载所有科普信息
   }
   comment:string = ''
   onCommentInput(e:any){

+ 7 - 0
wisdom-app/src/app/tabs/tabs.routes.ts

@@ -74,6 +74,13 @@ export const routes: Routes = [
             (m) => m.PageCreateAgentComponent
           ),
       },
+      {
+        path: 'user',
+        loadComponent: () =>
+          import('../page/page-user-inquery/page-user-inquery.component').then(
+            (m) => m.PageUserInqueryComponent
+          ),
+      },
       {
         path: '',
         redirectTo: '/tabs/tab4',

+ 174 - 434
wisdom-server/migration/data.js

@@ -112,7 +112,128 @@ module.exports.DoctorList = [
       }
     },
   ]
-
+module.exports.RealDoctorList = [
+  {
+    "objectId": "001",
+    "avatar": 'https://app.fmode.cn/dev/jxnu/202226701019/doctor7.png',
+    "name": '张伟',
+    "title": '主任医师',
+    "depart": {
+        "objectId": "dept001"
+      },
+    "hospital": '首都医科大学附属北京友谊..',
+    "hospitalLevel": '三甲',
+    "hospitalType": '百强医院',
+    "expertise": '擅长:结肠息肉和息肉病、胃息肉、幽门螺杆菌感染、慢性胃炎、胃食管反流、慢性萎缩性胃炎、糜烂性胃炎...',
+    "rating": 5.0,
+    "consultations": '1.1万',
+    "recommendations": 100,
+    "prices": {
+      "text": 100,
+      "voice": 150,
+      "video": 300
+    },
+    "tags": ['百强医院', '可开处方', '从业24年', '擅长消化系统疾病', '可开处方'],
+    "isVerified": true,
+    "isExpert": true,
+  },
+  {
+    "objectId": "001",
+    "avatar": 'https://app.fmode.cn/dev/jxnu/202226701019/doctor7.png',
+    "name": '张伟',
+    "title": '主任医师',
+    "depart": {
+        "objectId": "dept001"
+      },
+    "hospital": '首都医科大学附属北京友谊..',
+    "hospitalLevel": '三甲',
+    "hospitalType": '百强医院',
+    "expertise": '擅长:结肠息肉和息肉病、胃息肉、幽门螺杆菌感染、慢性胃炎、胃食管反流、慢性萎缩性胃炎、糜烂性胃炎...',
+    "rating": 5.0,
+    "consultations": '1.1万',
+    "recommendations": 100,
+    "prices": {
+      "text": 100,
+      "voice": 150,
+      "video": 300
+    },
+    "tags": ['百强医院', '可开处方', '从业24年', '擅长消化系统疾病', '可开处方'],
+    "isVerified": true,
+    "isExpert": true,
+  },
+  {
+    "objectId": "001",
+    "avatar": 'https://app.fmode.cn/dev/jxnu/202226701019/doctor7.png',
+    "name": '张伟',
+    "title": '主任医师',
+    "depart": {
+        "objectId": "dept001"
+      },
+    "hospital": '首都医科大学附属北京友谊..',
+    "hospitalLevel": '三甲',
+    "hospitalType": '百强医院',
+    "expertise": '擅长:结肠息肉和息肉病、胃息肉、幽门螺杆菌感染、慢性胃炎、胃食管反流、慢性萎缩性胃炎、糜烂性胃炎...',
+    "rating": 5.0,
+    "consultations": '1.1万',
+    "recommendations": 100,
+    "prices": {
+      "text": 100,
+      "voice": 150,
+      "video": 300
+    },
+    "tags": ['百强医院', '可开处方', '从业24年', '擅长消化系统疾病', '可开处方'],
+    "isVerified": true,
+    "isExpert": true,
+  },
+  {
+    "objectId": "001",
+    "avatar": 'https://app.fmode.cn/dev/jxnu/202226701019/doctor7.png',
+    "name": '张伟',
+    "title": '主任医师',
+    "depart": {
+        "objectId": "dept001"
+      },
+    "hospital": '首都医科大学附属北京友谊..',
+    "hospitalLevel": '三甲',
+    "hospitalType": '百强医院',
+    "expertise": '擅长:结肠息肉和息肉病、胃息肉、幽门螺杆菌感染、慢性胃炎、胃食管反流、慢性萎缩性胃炎、糜烂性胃炎...',
+    "rating": 5.0,
+    "consultations": '1.1万',
+    "recommendations": 100,
+    "prices": {
+      "text": 100,
+      "voice": 150,
+      "video": 300
+    },
+    "tags": ['百强医院', '可开处方', '从业24年', '擅长消化系统疾病', '可开处方'],
+    "isVerified": true,
+    "isExpert": true,
+  },
+  {
+    "objectId": "001",
+    "avatar": 'https://app.fmode.cn/dev/jxnu/202226701019/doctor7.png',
+    "name": '张伟',
+    "title": '主任医师',
+    "depart": {
+        "objectId": "dept001"
+      },
+    "hospital": '首都医科大学附属北京友谊..',
+    "hospitalLevel": '三甲',
+    "hospitalType": '百强医院',
+    "expertise": '擅长:结肠息肉和息肉病、胃息肉、幽门螺杆菌感染、慢性胃炎、胃食管反流、慢性萎缩性胃炎、糜烂性胃炎...',
+    "rating": 5.0,
+    "consultations": '1.1万',
+    "recommendations": 100,
+    "prices": {
+      "text": 100,
+      "voice": 150,
+      "video": 300,
+    },
+    "tags": ['百强医院', '可开处方', '从业24年', '擅长消化系统疾病', '可开处方'],
+    "isVerified": true,
+    "isExpert": true,
+  },
+]
 module.exports.DepartList = [
       {
         "objectId": "dept001",
@@ -161,7 +282,7 @@ module.exports.DepartList = [
 module.exports.HotDotList = [
   {
       "objectId": "001",
-      "category": "HotDot",
+      "category": "热点",
       "image": [
         "https://ts1.cn.mm.bing.net/th/id/R-C.604489b58d051acbf08b082baed5240b?rik=2wfk1JgczvfOQw&riu=http%3a%2f%2fpsy.china.com.cn%2fpic%2f2023-09%2f05%2f22937582-f9a1-4bfd-8f19-cc0d7369ac02.jpg&ehk=cN5yrGkIBYJHeeT8KaPLeUcl5XmS5rnUh2pSPyVqdjM%3d&risl=&pid=ImgRaw&r=0",
         "https://ts1.cn.mm.bing.net/th/id/R-C.604489b58d051acbf08b082baed5240b?rik=2wfk1JgczvfOQw&riu=http%3a%2f%2fpsy.china.com.cn%2fpic%2f2023-09%2f05%2f22937582-f9a1-4bfd-8f19-cc0d7369ac02.jpg&ehk=cN5yrGkIBYJHeeT8KaPLeUcl5XmS5rnUh2pSPyVqdjM%3d&risl=&pid=ImgRaw&r=0",
@@ -179,7 +300,7 @@ module.exports.HotDotList = [
   },
   {
       "objectId": "002",
-      "category": "HotDot",
+      "category": "热点",
       "image": [
           "https://tse3-mm.cn.bing.net/th/id/OIP-C.C39QnSPshcJxgj1efBr75QHaFp?w=226&h=180&c=7&r=0&o=5&dpr=1.5&pid=1.7",
           "https://tse3-mm.cn.bing.net/th/id/OIP-C.C39QnSPshcJxgj1efBr75QHaFp?w=226&h=180&c=7&r=0&o=5&dpr=1.5&pid=1.7",
@@ -197,7 +318,7 @@ module.exports.HotDotList = [
   },
   {
       "objectId": "003",
-      "category": "HotDot",
+      "category": "热点",
       "image": [
         "https://img-s-msn-com.akamaized.net/tenant/amp/entityid/AA1vwPs7.img?w=640&h=426&m=6",
         "https://img-s-msn-com.akamaized.net/tenant/amp/entityid/AA1vwPs7.img?w=640&h=426&m=6",
@@ -215,7 +336,7 @@ module.exports.HotDotList = [
   },
   {
       "objectId": "004",
-      "category": "HotDot",
+      "category": "热点",
       "image":[
         "https://th.bing.com/th?&id=OVP.Xw33st6_8Ujcv6teydlQDwEsC7&w=285&h=160&c=7&pid=2.1&rs=1",
         "https://th.bing.com/th?&id=OVP.Xw33st6_8Ujcv6teydlQDwEsC7&w=285&h=160&c=7&pid=2.1&rs=1",
@@ -233,7 +354,7 @@ module.exports.HotDotList = [
   },
   {
       "objectId": "005",
-      "category": "HotDot",
+      "category": "热点",
       "image":[
         "https://tse3-mm.cn.bing.net/th/id/OIP-C._S3n4LWflXFG5drI2J8kywHaE8?w=288&h=192&c=7&r=0&o=5&dpr=1.5&pid=1.7",
         "https://tse3-mm.cn.bing.net/th/id/OIP-C._S3n4LWflXFG5drI2J8kywHaE8?w=288&h=192&c=7&r=0&o=5&dpr=1.5&pid=1.7",
@@ -251,7 +372,7 @@ module.exports.HotDotList = [
   },
   {
     "objectId": "006",
-    "category": "MaleHealth",
+    "category": "男性",
     "image": [
       "https://tse2-mm.cn.bing.net/th/id/OIP-C._KTGsHeAx59Kt4xEjm2cogHaE7?w=255&h=180&c=7&r=0&o=5&dpr=1.5&pid=1.7",
       "https://tse2-mm.cn.bing.net/th/id/OIP-C._KTGsHeAx59Kt4xEjm2cogHaE7?w=255&h=180&c=7&r=0&o=5&dpr=1.5&pid=1.7",
@@ -269,7 +390,7 @@ module.exports.HotDotList = [
   },
   {
     "objectId": "007",
-    "category": "MaleHealth",
+    "category": "男性",
     "image": [
       "https://tse2-mm.cn.bing.net/th/id/OIP-C.l1dQeIyxyPALZaTiVBtiXgAAAA?w=242&h=181&c=7&r=0&o=5&dpr=1.5&pid=1.7",
       "https://tse2-mm.cn.bing.net/th/id/OIP-C.l1dQeIyxyPALZaTiVBtiXgAAAA?w=242&h=181&c=7&r=0&o=5&dpr=1.5&pid=1.7",
@@ -287,7 +408,7 @@ module.exports.HotDotList = [
   },
   {
     "objectId": "008",
-    "category": "MaleHealth",
+    "category": "男性",
     "image": [
         "https://tse3-mm.cn.bing.net/th/id/OIP-C.dR38QAUd5jOWiG69Xe_IoAHaEK?w=332&h=186&c=7&r=0&o=5&dpr=1.5&pid=1.7",
         "https://tse3-mm.cn.bing.net/th/id/OIP-C.dR38QAUd5jOWiG69Xe_IoAHaEK?w=332&h=186&c=7&r=0&o=5&dpr=1.5&pid=1.7",
@@ -305,7 +426,7 @@ module.exports.HotDotList = [
   },
   {
     "objectId": "009",
-    "category": "MaleHealth",
+    "category": "男性",
     "image": [
       ,"https://tse2-mm.cn.bing.net/th/id/OIP-C.qtSI2MxirDPZ3dnzMYA7JwHaEJ?w=299&h=180&c=7&r=0&o=5&dpr=1.5&pid=1.7",
       ,"https://tse2-mm.cn.bing.net/th/id/OIP-C.qtSI2MxirDPZ3dnzMYA7JwHaEJ?w=299&h=180&c=7&r=0&o=5&dpr=1.5&pid=1.7",
@@ -323,7 +444,7 @@ module.exports.HotDotList = [
   },
   {
     "objectId": "010",
-    "category": "MaleHealth",
+    "category": "男性",
     "image": [
       "https://tse1-mm.cn.bing.net/th/id/OIP-C.RHf1zF-USugzQAcAWpHzFQHaE8?w=278&h=185&c=7&r=0&o=5&dpr=1.5&pid=1.7",
       "https://tse1-mm.cn.bing.net/th/id/OIP-C.RHf1zF-USugzQAcAWpHzFQHaE8?w=278&h=185&c=7&r=0&o=5&dpr=1.5&pid=1.7",
@@ -341,7 +462,7 @@ module.exports.HotDotList = [
   },
   {
     "objectId": "011",
-    "category": "FemaleHealth",
+    "category": "女性",
     "image": [
       "https://tse4-mm.cn.bing.net/th/id/OIP-C.nOd84Z9D7PC5hoIgeodnugHaD4?w=311&h=180&c=7&r=0&o=5&dpr=1.5&pid=1.7",
       "https://tse4-mm.cn.bing.net/th/id/OIP-C.nOd84Z9D7PC5hoIgeodnugHaD4?w=311&h=180&c=7&r=0&o=5&dpr=1.5&pid=1.7",
@@ -359,7 +480,7 @@ module.exports.HotDotList = [
   },
   {
     "objectId": "012",
-    "category": "FemaleHealth",
+    "category": "女性",
     "image": [
       "https://tse3-mm.cn.bing.net/th/id/OIP-C.Q2fxtDDrhabybZqttwNBrAHaE8?w=283&h=189&c=7&r=0&o=5&dpr=1.5&pid=1.7",
       "https://tse3-mm.cn.bing.net/th/id/OIP-C.Q2fxtDDrhabybZqttwNBrAHaE8?w=283&h=189&c=7&r=0&o=5&dpr=1.5&pid=1.7",
@@ -377,7 +498,7 @@ module.exports.HotDotList = [
   },
   {
     "objectId": "013",
-    "category": "FemaleHealth",
+    "category": "女性",
     "image":[
       "https://tse4-mm.cn.bing.net/th/id/OIP-C.HxvLdprK1bczivOdSCG2DgHaE8?w=268&h=180&c=7&r=0&o=5&dpr=1.5&pid=1.7",
       "https://tse4-mm.cn.bing.net/th/id/OIP-C.HxvLdprK1bczivOdSCG2DgHaE8?w=268&h=180&c=7&r=0&o=5&dpr=1.5&pid=1.7",
@@ -395,7 +516,7 @@ module.exports.HotDotList = [
   },
   {
     "objectId": "014",
-    "category": "FemaleHealth",
+    "category": "女性",
     "image": [
       "https://tse2-mm.cn.bing.net/th/id/OIP-C._1Pm5qOmAmfSCPHoCyTSKwHaE8?w=272&h=182&c=7&r=0&o=5&dpr=1.5&pid=1.7",
       "https://tse2-mm.cn.bing.net/th/id/OIP-C._1Pm5qOmAmfSCPHoCyTSKwHaE8?w=272&h=182&c=7&r=0&o=5&dpr=1.5&pid=1.7",
@@ -413,7 +534,7 @@ module.exports.HotDotList = [
   },
   {
     "objectId": "015",
-    "category": "FemaleHealth",
+    "category": "女性",
     "image":[
       "https://tse4-mm.cn.bing.net/th/id/OIP-C.74wiGMbU6culgvNnPHzY9QHaE7?w=274&h=183&c=7&r=0&o=5&dpr=1.5&pid=1.7",
       "https://tse4-mm.cn.bing.net/th/id/OIP-C.74wiGMbU6culgvNnPHzY9QHaE7?w=274&h=183&c=7&r=0&o=5&dpr=1.5&pid=1.7",
@@ -431,10 +552,10 @@ module.exports.HotDotList = [
   },
   {
     "objectId": "016",
-    "category": "sleep",
+    "category": "睡眠",
     "image": [
-        "https://example.com/images/sleep1.jpg",
-        "https://example.com/images/sleep2.jpg"
+        "https://example.com/images/sleqep1.jpg",
+        "https://example.com/images/sleqep2.jpg"
     ],
     "title": "改善睡眠质量的五个小贴士",
     "content": [
@@ -455,9 +576,9 @@ module.exports.HotDotList = [
 },
 {
     "objectId": "017",
-    "category": "sleep",
+    "category": "睡眠",
     "image": [
-        "https://example.com/images/sleep3.jpg"
+        "https://example.com/images/sledep3.jpg"
     ],
     "title": "睡眠不足的危害",
     "content": [
@@ -475,10 +596,10 @@ module.exports.HotDotList = [
 },
 {
     "objectId": "018",
-    "category": "sleep",
+    "category": "睡眠",
     "image": [
-        "https://example.com/images/sleep4.jpg",
-        "https://example.com/images/sleep5.jpg"
+        "https://example.com/images/sledep4.jpg",
+        "https://example.com/images/sldeep5.jpg"
     ],
     "title": "如何应对失眠",
     "content": [
@@ -496,10 +617,10 @@ module.exports.HotDotList = [
 },
 {
   "objectId": "019",
-  "category": "sleep",
+  "category": "睡眠",
   "image": [
-      "https://example.com/images/sleep1.jpg",
-      "https://example.com/images/sleep2.jpg"
+      "https://example.com/images/sledep1.jpg",
+      "https://example.com/images/sledep2.jpg"
   ],
   "title": "改善睡眠质量的五个小贴士",
   "content": [
@@ -520,9 +641,9 @@ module.exports.HotDotList = [
 },
 {
   "objectId": "020",
-  "category": "sleep",
+  "category": "睡眠",
   "image": [
-      "https://example.com/images/sleep3.jpg"
+      "https://example.com/images/slededp3.jpg"
   ],
   "title": "睡眠不足的危害",
   "content": [
@@ -538,173 +659,12 @@ module.exports.HotDotList = [
   "views": 1800,
   "likes": 280
 },
-{
-  "objectId": "021",
-  "category": "sleep",
-  "image": [
-      "https://example.com/images/sleep4.jpg",
-      "https://example.com/images/sleep5.jpg"
-  ],
-  "title": "如何应对失眠",
-  "content": [
-      "失眠可能由多种因素引起,包括压力、焦虑和不良生活习惯。",
-      "尝试放松技巧,如深呼吸、冥想或瑜伽,有助于缓解失眠。",
-      "如果失眠问题持续,建议咨询专业医生以获得适当的治疗建议。"
-  ],
-  "topic": "失眠",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "赵心理医生"
-  ],
-  "views": 2000,
-  "likes": 400
-},
-{
-  "objectId": "022",
-  "category": "sleep",
-  "image": [
-      "https://example.com/images/sleep6.jpg"
-  ],
-  "title": "睡眠与免疫系统的关系",
-  "content": [
-      "充足的睡眠有助于增强免疫系统,帮助身体抵御感染。",
-      "研究发现,睡眠不足可能导致免疫反应减弱。",
-      "保持良好的睡眠习惯可以提高疫苗接种的效果。"
-  ],
-  "topic": "睡眠与健康",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "孙医生"
-  ],
-  "views": 1600,
-  "likes": 320
-},
-{
-  "objectId": "023",
-  "category": "sleep",
-  "image": [
-      "https://example.com/images/sleep7.jpg"
-  ],
-  "title": "睡眠和体重管理的关系",
-  "content": [
-      "研究表明,睡眠不足与体重增加有直接关系。",
-      "缺乏睡眠会影响饥饿激素的分泌,增加食欲。",
-      "保持良好的睡眠有助于维持健康的体重。"
-  ],
-  "topic": "睡眠与营养",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "王营养师"
-  ],
-  "views": 1400,
-  "likes": 290
-},
-{
-  "objectId": "024",
-  "category": "sleep",
-  "image": [
-      "https://example.com/images/sleep8.jpg"
-  ],
-  "title": "儿童睡眠的重要性",
-  "content": [
-      "儿童的睡眠需求比成人更高,充足的睡眠对他们的成长至关重要。",
-      "良好的睡眠有助于儿童的学习和记忆能力。",
-      "家长应为孩子创造良好的睡眠环境和规律的作息。"
-  ],
-  "topic": "儿童健康",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "李儿科医生"
-  ],
-  "views": 1300,
-  "likes": 250
-},
-{
-  "objectId": "025",
-  "category": "sleep",
-  "image": [
-      "https://example.com/images/sleep9.jpg"
-  ],
-  "title": "如何选择合适的床垫",
-  "content": [
-      "选择合适的床垫可以显著提高睡眠质量。",
-      "床垫的硬度和材料应根据个人的睡眠习惯和健康状况来选择。",
-      "定期更换床垫,确保其提供良好的支持和舒适度。"
-  ],
-  "topic": "睡眠环境",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "张床垫专家"
-  ],
-  "views": 1100,
-  "likes": 210
-},
-{
-  "objectId": "026",
-  "category": "sleep",
-  "image": [
-      "https://example.com/images/sleep10.jpg"
-  ],
-  "title": "睡眠与心理健康的联系",
-  "content": [
-      "良好的睡眠对心理健康至关重要,能有效减轻压力和焦虑。",
-      "失眠可能导致情绪波动和心理健康问题。",
-      "保持良好的睡眠习惯有助于提升整体心理健康水平。"
-  ],
-  "topic": "心理健康",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "王心理医生"
-  ],
-  "views": 1500,
-  "likes": 300
-},
-{
-  "objectId": "027",
-  "category": "sleep",
-  "image": [
-      "https://example.com/images/sleep11.jpg"
-  ],
-  "title": "睡眠剥夺的短期影响",
-  "content": [
-      "短期内的睡眠剥夺会导致注意力不集中和反应迟钝。",
-      "工作效率和决策能力会受到明显影响。",
-      "保持良好的睡眠习惯以避免短期睡眠剥夺的影响。"
-  ],
-  "topic": "睡眠健康",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "李医生"
-  ],
-  "views": 1700,
-  "likes": 360
-},
-{
-  "objectId": "028",
-  "category": "sleep",
-  "image": [
-      "https://example.com/images/sleep12.jpg"
-  ],
-  "title": "睡眠与老年人健康",
-  "content": [
-      "老年人通常需要更多的睡眠时间以维持健康。",
-      "睡眠质量对老年人的认知功能和身体健康有直接影响。",
-      "建议老年人保持规律的作息,创造适合的睡眠环境。"
-  ],
-  "topic": "老年健康",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "刘老年医学专家"
-  ],
-  "views": 1900,
-  "likes": 380
-},
 {
   "objectId": "029",
-  "category": "life",
+  "category": "生活",
   "image": [
-      "https://example.com/images/life1.jpg",
-      "https://example.com/images/life2.jpg"
+      "https://example.com/images/lidfe1.jpg",
+      "https://example.com/images/lidfe2.jpg"
   ],
   "title": "健康饮食的五大原则",
   "content": [
@@ -724,9 +684,9 @@ module.exports.HotDotList = [
 },
 {
   "objectId": "030",
-  "category": "life",
+  "category": "生活",
   "image": [
-      "https://example.com/images/life3.jpg"
+      "https://example.com/images/ldife3.jpg"
   ],
   "title": "如何有效管理压力",
   "content": [
@@ -746,10 +706,10 @@ module.exports.HotDotList = [
 },
 {
   "objectId": "031",
-  "category": "life",
+  "category": "生活",
   "image": [
-      "https://example.com/images/life4.jpg",
-      "https://example.com/images/life5.jpg"
+      "https://example.com/images/lifde4.jpg",
+      "https://example.com/images/lidfe5.jpg"
   ],
   "title": "保持良好睡眠习惯的技巧",
   "content": [
@@ -769,9 +729,9 @@ module.exports.HotDotList = [
 },
 {
   "objectId": "032",
-  "category": "life",
+  "category": "生活",
   "image": [
-      "https://example.com/images/life6.jpg"
+      "https://example.com/images/lifde6.jpg"
   ],
   "title": "如何保持身体活力",
   "content": [
@@ -789,144 +749,12 @@ module.exports.HotDotList = [
   "views": 1800,
   "likes": 290
 },
-{
-  "objectId": "033",
-  "category": "life",
-  "image": [
-      "https://example.com/images/life7.jpg"
-  ],
-  "title": "老年人健康生活的建议",
-  "content": [
-      "保持适度的身体活动,如散步、太极等,增强身体的灵活性和力量。",
-      "注意饮食,增加高纤维食物的摄入,保持良好的消化系统。",
-      "定期进行健康检查,监测血压、血糖和胆固醇水平。",
-      "积极参加社交活动,保持心理健康,减少孤独感。",
-      "确保充足的睡眠,改善睡眠质量以维持身体健康。"
-  ],
-  "topic": "老年健康",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "李老年医学专家"
-  ],
-  "views": 1600,
-  "likes": 250
-},
-{
-  "objectId": "034",
-  "category": "life",
-  "image": [
-      "https://example.com/images/life8.jpg"
-  ],
-  "title": "家庭健康环境的创建",
-  "content": [
-      "保持家庭环境的清洁和卫生,定期清理灰尘和细菌。",
-      "确保室内空气流通,定期开窗通风,保持空气新鲜。",
-      "使用无毒的清洁产品,减少对健康的潜在危害。",
-      "在家中设置健康饮食的榜样,鼓励家人选择健康食品。",
-      "创建一个支持性和积极的家庭氛围,促进心理健康。"
-  ],
-  "topic": "家庭健康",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "张家庭医生"
-  ],
-  "views": 1400,
-  "likes": 210
-},
-{
-  "objectId": "035",
-  "category": "life",
-  "image": [
-      "https://example.com/images/life9.jpg"
-  ],
-  "title": "养成良好的个人卫生习惯",
-  "content": [
-      "每天洗手,尤其是在进食前和使用卫生间后。",
-      "定期刷牙,保持口腔卫生,预防牙齿和口腔疾病。",
-      "保持身体清洁,定期淋浴,保持皮肤健康。",
-      "注意饮食卫生,确保食物的安全和新鲜。",
-      "定期进行健康检查,及时发现和处理健康问题。"
-  ],
-  "topic": "个人卫生",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "李卫生专家"
-  ],
-  "views": 1300,
-  "likes": 230
-},
-{
-  "objectId": "036",
-  "category": "life",
-  "image": [
-      "https://example.com/images/life10.jpg"
-  ],
-  "title": "如何提高免疫力",
-  "content": [
-      "保持均衡饮食,摄入丰富的维生素和矿物质以增强免疫功能。",
-      "定期锻炼,增强身体的抵抗力,促进血液循环。",
-      "确保充足的睡眠,睡眠不足会削弱免疫系统。",
-      "减少压力,长期压力会影响免疫反应,尝试放松技巧。",
-      "保持良好的个人卫生,预防感染和疾病的传播。"
-  ],
-  "topic": "免疫健康",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "王医生"
-  ],
-  "views": 1500,
-  "likes": 300
-},
-{
-  "objectId": "037",
-  "category": "life",
-  "image": [
-      "https://example.com/images/life11.jpg"
-  ],
-  "title": "心理健康的重要性",
-  "content": [
-      "心理健康与身体健康密切相关,保持良好的心理状态有助于整体健康。",
-      "定期进行心理评估,了解自己的心理状态。",
-      "培养积极的思维方式,学会应对生活中的挑战。",
-      "与他人分享感受,建立良好的人际关系,获得支持。",
-      "寻求专业帮助,必要时咨询心理医生或治疗师。"
-  ],
-  "topic": "心理健康",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "刘心理医生"
-  ],
-  "views": 1700,
-  "likes": 360
-},
-{
-  "objectId": "038",
-  "category": "life",
-  "image": [
-      "https://example.com/images/life12.jpg"
-  ],
-  "title": "积极生活的态度",
-  "content": [
-      "培养积极的生活态度,学会感恩和欣赏生活中的小确幸。",
-      "设定个人目标,努力实现自己的梦想和愿望。",
-      "保持好奇心,主动学习新知识和技能,丰富生活。",
-      "参与志愿活动,帮助他人,提升自我价值感。",
-      "定期反思自己的生活,调整目标,保持前进的动力。"
-  ],
-  "topic": "生活态度",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "王生活教练"
-  ],
-  "views": 1900,
-  "likes": 380
-},
 {
   "objectId": "039",
-  "category": "export",
+  "category": "专家科普",
   "image": [
-      "https://example.com/images/export1.jpg",
-      "https://example.com/images/export2.jpg"
+      "https://example.com/images/expdort1.jpg",
+      "https://example.com/images/exdport2.jpg"
   ],
   "title": "如何提高工作效率的五个建议",
   "content": [
@@ -946,9 +774,9 @@ module.exports.HotDotList = [
 },
 {
   "objectId": "040",
-  "category": "export",
+  "category": "专家科普",
   "image": [
-      "https://example.com/images/export3.jpg"
+      "https://example.com/images/expodrt3.jpg"
   ],
   "title": "保持心理健康的七个方法",
   "content": [
@@ -970,10 +798,10 @@ module.exports.HotDotList = [
 },
 {
   "objectId": "041",
-  "category": "export",
+  "category": "专家科普",
   "image": [
-      "https://example.com/images/export4.jpg",
-      "https://example.com/images/export5.jpg"
+      "https://example.com/images/expodrt4.jpg",
+      "https://example.com/images/expodrt5.jpg"
   ],
   "title": "健康饮食的建议",
   "content": [
@@ -993,9 +821,9 @@ module.exports.HotDotList = [
 },
 {
   "objectId": "042",
-  "category": "export",
+  "category": "专家科普",
   "image": [
-      "https://example.com/images/export6.jpg"
+      "https://example.com/images/expodrt6.jpg"
   ],
   "title": "提高睡眠质量的技巧",
   "content": [
@@ -1015,9 +843,9 @@ module.exports.HotDotList = [
 },
 {
   "objectId": "043",
-  "category": "export",
+  "category": "专家科普",
   "image": [
-      "https://example.com/images/export7.jpg"
+      "https://example.com/images/expodrt7.jpg"
   ],
   "title": "家庭健康环境的创建",
   "content": [
@@ -1037,9 +865,9 @@ module.exports.HotDotList = [
 },
 {
   "objectId": "044",
-  "category": "export",
+  "category": "专家科普",
   "image": [
-      "https://example.com/images/export8.jpg"
+      "https://example.com/images/expdort8.jpg"
   ],
   "title": "如何有效管理时间",
   "content": [
@@ -1057,94 +885,6 @@ module.exports.HotDotList = [
   "views": 1400,
   "likes": 230
 },
-{
-  "objectId": "045",
-  "category": "export",
-  "image": [
-      "https://example.com/images/export9.jpg"
-  ],
-  "title": "保持身体活力的建议",
-  "content": [
-      "每天至少进行30分钟的中等强度运动,如快走、游泳或骑自行车。",
-      "保持均衡的饮食,摄入足够的营养以支持身体的能量需求。",
-      "保持良好的水分摄入,确保身体充分水合以维持活力。",
-      "定期进行身体检查,及时发现和处理潜在的健康问题。",
-      "保持积极的心态,培养兴趣爱好,增加生活的乐趣。"
-  ],
-  "topic": "身体健康",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "刘健身教练"
-  ],
-  "views": 1700,
-  "likes": 300
-},
-{
-  "objectId": "046",
-  "category": "export",
-  "image": [
-      "https://example.com/images/export10.jpg"
-  ],
-  "title": "如何提高免疫力",
-  "content": [
-      "保持均衡饮食,摄入丰富的维生素和矿物质以增强免疫功能。",
-      "定期锻炼,增强身体的抵抗力,促进血液循环。",
-      "确保充足的睡眠,睡眠不足会削弱免疫系统。",
-      "减少压力,长期压力会影响免疫反应,尝试放松技巧。",
-      "保持良好的个人卫生,预防感染和疾病的传播。"
-  ],
-  "topic": "免疫健康",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "王免疫专家"
-  ],
-  "views": 1900,
-  "likes": 350
-},
-{
-  "objectId": "047",
-  "category": "export",
-  "image": [
-      "https://example.com/images/export11.jpg"
-  ],
-  "title": "心理健康的重要性",
-  "content": [
-      "心理健康与身体健康密切相关,保持良好的心理状态有助于整体健康。",
-      "定期进行心理评估,了解自己的心理状态。",
-      "培养积极的思维方式,学会应对生活中的挑战。",
-      "与他人分享感受,建立良好的人际关系,获得支持。",
-      "寻求专业帮助,必要时咨询心理医生或治疗师。"
-  ],
-  "topic": "心理健康",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "李心理医生"
-  ],
-  "views": 2000,
-  "likes": 400
-},
-{
-  "objectId": "048",
-  "category": "export",
-  "image": [
-      "https://example.com/images/export12.jpg"
-  ],
-  "title": "积极生活的态度",
-  "content": [
-      "培养积极的生活态度,学会感恩和欣赏生活中的小确幸。",
-      "设定个人目标,努力实现自己的梦想和愿望。",
-      "保持好奇心,主动学习新知识和技能,丰富生活。",
-      "参与志愿活动,帮助他人,提升自我价值感。",
-      "定期反思自己的生活,调整目标,保持前进的动力。"
-  ],
-  "topic": "生活态度",
-  "date": "2024-12-20T19:53:41Z",
-  "author": [
-      "王生活教练"
-  ],
-  "views": 2100,
-  "likes": 380
-}
 
 ]
 

+ 24 - 19
wisdom-server/migration/import-data.js

@@ -1,7 +1,7 @@
 // import-data.js
 
 const { CloudQuery, CloudObject } = require("../lib/ncloud");
-const { DepartList, DoctorList, HotDotList, DrugList } = require("./data");
+const { DepartList, DoctorList, HotDotList, DrugList,RealDoctorList } = require("./data");
 inportDapartAndDoctor();
 
 DataMap = {
@@ -9,40 +9,45 @@ DataMap = {
     Department: {},
     HotDot: {},
     Drug: {},
+    RealDoctor: {},
 };
 
 async function inportDapartAndDoctor() {
     // 导入药品数据
-    let drugList = DrugList;
-    for (let index = 0; index < drugList.length; index++) {
-        let drug = drugList[index];
-        drug = await importObject("Drug", drug);
-    }
-
+    // let drugList = DrugList;
+    // for (let index = 0; index < drugList.length; index++) {
+    //     let drug = drugList[index];
+    //     drug = await importObject("Drug", drug);
+    // }
+    // let realDoctorList = RealDoctorList;
+    // for (let index = 0; index < realDoctorList.length; index++) {
+    //     let realDoctor = realDoctorList[index];
+    //     realDoctor = await importObject("RealDoctor", realDoctor);
+    // }
     //如果需要导入其他数据(科室、医生、热点),可以取消注释以下代码
    
     // 导入科室数据
-    let departList = DepartList;
-    for (let index = 0; index < departList.length; index++) {
-        let depart = departList[index];
-        depart = await importObject("Department", depart);
-    }
+    // let departList = DepartList;
+    // for (let index = 0; index < departList.length; index++) {
+    //     let depart = departList[index];
+    //     depart = await importObject("Department", depart);
+    // }
 
     // 导入医生数据
-    let doctorList = DoctorList;
-    for (let index = 0; index < doctorList.length; index++) {
-        let doctor = doctorList[index];
-        doctor = await importObject("Doctor", doctor);
-    }
+    // let doctorList = DoctorList;
+    // for (let index = 0; index < doctorList.length; index++) {
+    //     let doctor = doctorList[index];
+    //     doctor = await importObject("Doctor", doctor);
+    // }
 
-    导入热点数据
+    // 导入热点数据
     let hotDotList = HotDotList;
     for (let index = 0; index < hotDotList.length; index++) {
         let hotDot = hotDotList[index];
         hotDot = await importObject("HotDot", hotDot);
     }
     
-    console.log("药品数据导入完成");
+    // console.log("药品数据导入完成");
 }
 
 async function importObject(className, data) {