From 1ce875be27d9011c3944c6b975d9f817947ecdf8 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期三, 01 十月 2025 16:22:24 +0800
Subject: [PATCH] 登录、注册

---
 entry/src/main/ets/pages/message/MessageDetailsPage.ets |  131 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 131 insertions(+), 0 deletions(-)

diff --git a/entry/src/main/ets/pages/message/MessageDetailsPage.ets b/entry/src/main/ets/pages/message/MessageDetailsPage.ets
new file mode 100644
index 0000000..69dbc17
--- /dev/null
+++ b/entry/src/main/ets/pages/message/MessageDetailsPage.ets
@@ -0,0 +1,131 @@
+import { CommonConstantWX } from '../../common/CommonConstantWX'
+import { WxMessageBase } from '../../data/WxMessageBase'
+import { WxUserInfoBase } from '../../data/WxUserInfoBase'
+import { TitleUtils } from '../../utils/TitleUtils'
+
+/**
+  * @ProjectName : HealthNS
+   * @FileName : MessageDetailsPage
+   * @UserName : 淇ⅵ
+  * @Time : 2025/9/14 16:35
+  * @Description : 鏂囦欢鎻忚堪 
+ */
+@Entry
+@Component
+struct MessageDetailsPage {
+  @State msgData: Array<WxMessageBase> = CommonConstantWX.mUserMessage
+  @State mContent:string = ''
+  private mScroller: Scroller = new Scroller()
+  @State mUserInfo: WxUserInfoBase = new WxMessageBase()
+  aboutToAppear(): void {
+    let params = this.getUIContext().getRouter().getParams() as Record<string,WxUserInfoBase>
+    this.mUserInfo = params.userInfo
+  }
+  build() {
+    RelativeContainer(){
+      TitleUtils({titleName:this.mUserInfo.name})
+        .id('heard')
+      List({space: 15,scroller:this.mScroller}){
+        ForEach(this.msgData,(item: WxMessageBase) => {
+         ListItem(){
+           MessageDetailsItem({item: item,icon: this.mUserInfo.img})
+         }
+        })
+      }
+      .id('list')
+      .alignRules({
+        top:{anchor: 'heard',align: VerticalAlign.Bottom},
+        bottom: {anchor: 'rowBottom',align: VerticalAlign.Top}
+      })
+      .padding(10)
+      Row({space: 5}){
+        Image($r('app.media.wx_voice_icon')).MessageImageSty()
+        TextArea({text: this.mContent})
+          .backgroundColor(Color.White)
+          .borderRadius(5)
+          .width('70%')
+          .offset({y: 5})
+          .onChange((value: string) => {
+            this.mContent = value
+          })
+        Image($r('app.media.wx_smile_icon')).MessageImageSty()
+        if (this.mContent.trim().length === 0 || !this.mContent){
+          Image($r('app.media.wx_more_icon')).MessageImageSty()
+        } else {
+          Button(){
+            Text('鍙戦��')
+              .fontSize(15)
+              .fontColor(Color.White)
+          }
+          .padding(5)
+          //鍙戦�佹暟鎹紝娣诲姞鍒颁簡鑱婂ぉ鍒楄〃
+          .onClick(() =>{
+            this.msgData.push({
+              id: 99,
+              content: this.mContent,
+              img: $r('app.media.avatar_icon1'),
+              category: 1
+            })
+            this.mContent = ''
+            //婊氬姩鍒板簳閮�
+            this.mScroller.scrollToIndex(this.msgData.length - 1)
+          })
+        }
+
+      }
+      .width('100%')
+      .alignItems(VerticalAlign.Bottom)
+      .padding(10)
+      .backgroundColor("#ffe9e6e6")
+      .id('rowBottom')
+      .alignRules({
+        bottom: {anchor: '__container__',align: VerticalAlign.Bottom}
+      })
+    }
+    .width('100%')
+    .height('100%')
+    .backgroundColor('#ccc')
+  }
+}
+
+@Component
+struct MessageDetailsItem {
+  @Prop item: WxMessageBase
+  @Prop icon: ResourceStr
+  build() {
+    if (this.item.category === 0){
+      Row({space:5}){
+        Image(this.icon)
+          .width(40)
+          .height(40)
+        Text(this.item.content)
+          .backgroundColor(Color.White)
+          .padding(5)
+      }
+      .width('78%')
+    } else {
+      Row({space:5}){
+       Row(){
+         Text(this.item.content)
+           .backgroundColor("#ff3cc12e")
+           .padding(5)
+       }
+       .justifyContent(FlexAlign.End)
+       .width('78%')
+        Image($r('app.media.avatar_icon1'))
+          .width(40)
+          .height(40)
+      }
+      .width('100%')
+      .justifyContent(FlexAlign.End)
+    }
+
+  }
+}
+
+@Extend(Image)
+function MessageImageSty() {
+  .width(25)
+  .height(25)
+  .objectFit(ImageFit.Fill)
+}

--
Gitblit v1.8.0