From 8e1b89c65db438797d2d89c508f3e9883bbd7c20 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 09 十月 2025 01:10:42 +0800
Subject: [PATCH] 消息、个人中心

---
 entry/src/main/resources/base/media/account_help.png         |    0 
 entry/src/main/resources/base/media/right_icon.png           |    0 
 entry/src/main/resources/base/media/account_jianli.png       |    0 
 entry/src/main/resources/base/media/account_learning.png     |    0 
 entry/src/main/resources/base/media/expression_icon.png      |    0 
 entry/src/main/resources/base/media/account_info.png         |    0 
 entry/src/main/resources/base/media/account_setting.png      |    0 
 entry/src/main/resources/base/media/avatar.png               |    0 
 entry/src/main/ets/pages/MainPage.ets                        |    7 
 entry/src/main/ets/pages/message/MessageDetailsPage.ets      |  221 +++++++++++------------
 entry/src/main/resources/base/media/me_icon.png              |    0 
 entry/src/main/resources/base/profile/main_pages.json        |    3 
 entry/src/main/resources/base/media/account_communicated.png |    0 
 entry/src/main/resources/base/media/chevron_right.png        |    0 
 entry/src/main/resources/base/media/audio_icon.png           |    0 
 entry/src/main/ets/pages/account/AccountPage.ets             |  216 ++++++++++++++++++++++-
 entry/src/main/ets/pages/message/MessagePage.ets             |   78 +++++++-
 entry/src/main/resources/base/media/account_course.png       |    0 
 entry/src/main/resources/base/media/add_icon.png             |    0 
 entry/src/main/resources/base/media/account_message.png      |    0 
 20 files changed, 384 insertions(+), 141 deletions(-)

diff --git a/entry/src/main/ets/pages/MainPage.ets b/entry/src/main/ets/pages/MainPage.ets
index 23d8e66..1e8946a 100644
--- a/entry/src/main/ets/pages/MainPage.ets
+++ b/entry/src/main/ets/pages/MainPage.ets
@@ -1,6 +1,7 @@
 import { Home } from './home/Home'
 import { MessagePage } from './message/MessagePage'
 import { SearchPage } from './search/SearchPage'
+import { AccountPage } from  './account/AccountPage'
 
 /**
  * @Description : 搴曢儴瀵艰埅锛孉PP妯″潡
@@ -19,7 +20,7 @@
     { icon: 'tabs_message_icon', title: '娑堟伅' },
     { icon: 'tabs_account_icon', title: '鎴戠殑' }
   ]
-  @State selectIndex: number = 2
+  @State selectIndex: number = 3
   private tabController: TabsController = new TabsController()
 
   @Builder tabItem(icon: ResourceStr,title: string,index: number){
@@ -47,8 +48,8 @@
               SearchPage()
             } else if (this.selectIndex == 2){
               MessagePage()
-            } else if (index === 3){
-              // AccountPage()
+            } else if (this.selectIndex == 3){
+              AccountPage()
             }
           }
         })
diff --git a/entry/src/main/ets/pages/account/AccountPage.ets b/entry/src/main/ets/pages/account/AccountPage.ets
index 290aae7..dc6e525 100644
--- a/entry/src/main/ets/pages/account/AccountPage.ets
+++ b/entry/src/main/ets/pages/account/AccountPage.ets
@@ -1,22 +1,212 @@
+class accountListItem {
+  title: string = ''
+  icon: string | Resource = ''
+}
+
 @Entry
 @Component
 export struct AccountPage {
-  @State message: string = 'Hello World';
-
+  @State ListItems: accountListItem[] = [
+    { title: '闅愮璁剧疆', icon: $r('app.media.account_setting') },
+    { title: '娑堟伅閫氱煡', icon: $r('app.media.account_message') },
+    { title: '甯姪涓績', icon: $r('app.media.account_help') },
+    { title: '鍏充簬鎴戜滑', icon: $r('app.media.account_info') },
+  ]
   build() {
-    RelativeContainer() {
-      Text(this.message)
-        .id('AccountPageHelloWorld')
-        .fontSize($r('app.float.page_text_font_size'))
-        .fontWeight(FontWeight.Bold)
-        .alignRules({
-          center: { anchor: '__container__', align: VerticalAlign.Center },
-          middle: { anchor: '__container__', align: HorizontalAlign.Center }
+    Column() {
+      Text('涓汉涓績')
+        .fontSize(20)
+        .fontWeight(700)
+        .textAlign(TextAlign.Center)
+        .width('100%')
+        .backgroundColor(Color.White)
+        .padding({ top: 10,  bottom: 10 })
+
+      Column({ space: 10 }) {
+        Row() {
+          Image($r('app.media.me_icon'))
+            .width(50)
+            .height(50)
+          Column() {
+            Text('鏉庡己')
+              .fontSize(16)
+              .width('100%')
+              .fontWeight(600)
+              .fontColor(Color.Black)
+              .textAlign(TextAlign.Start)
+            Text('鐢� | 28宀� | 鍓嶇寮�鍙戝伐绋嬪笀')
+              .fontColor('#333333')
+              .fontSize(14)
+              .width('100%')
+              .textAlign(TextAlign.Start)
+          }
+          .width(100)
+          .height(40)
+          .margin({ left: 10 })
+          .justifyContent(FlexAlign.SpaceBetween)
+          .layoutWeight(1)
+          Image($r('app.media.chevron_right'))
+            .width(18)
+            .height(18)
+        }
+        .width('100%')
+
+        Column({ space: 16 }) {
+          Row() {
+            Text('瀛︿範璁板綍')
+              .fontSize(16)
+              .fontColor(Color.White)
+              .fontWeight(700)
+            Text('鍘诲簲鑱� > ')
+              .fontSize(13)
+              .borderRadius(20)
+              .fontWeight(500)
+              .backgroundColor(Color.White)
+              .padding({ left: 10, right: 10, top: 4, bottom: 4 })
+              .fontColor('#1756f4')
+          }
+          .width('100%')
+          .justifyContent(FlexAlign.SpaceBetween)
+
+          Text('褰撳墠瀛︿範绾у埆锛氶潚閾�')
+            .width('100%')
+            .fontColor(Color.White)
+            .fontSize(14)
+          Row() {
+            Column({ space: 4 }) {
+              Text('瀛︿範鏃堕暱')
+                .fontColor(Color.White)
+                .fontSize(12)
+                .width('100%')
+              Text() {
+                Span('10').fontWeight(700).fontSize(14)
+                Span('鍒嗛挓').fontSize(12)
+              }
+              .width('100%')
+              .fontColor(Color.White)
+            }
+            .width(80)
+            Column({ space: 4 }) {
+              Text('瀛︿範鏈�闀跨殑璇剧▼')
+                .fontColor(Color.White)
+                .fontSize(12)
+                .width('100%')
+              Text('鍏ㄦ爤寮�鍙戯細鍓嶅悗绔墦閫氬疄鎴�')
+                .fontWeight(700)
+                .fontSize(14)
+                .width('100%')
+                .fontColor(Color.White)
+            }
+          }
+          .width('100%')
+        }
+        .width('100%')
+        .padding(16)
+        .borderRadius(14)
+        .linearGradient({
+          direction: GradientDirection.Right,
+          colors: [['#36BCFF', 0.0], ['#2D74FF', 1.0]]
         })
-        .onClick(() => {
-          this.message = 'Welcome';
-        })
+      }
+      .backgroundColor(Color.White)
+      .padding(16)
+      .margin({ top: 1 })
+
+      Row() {
+        Column({ space: 6 }) {
+          Image($r('app.media.account_learning'))
+            .width(40)
+            .height(40)
+          Text('瀛︿範璁板綍')
+            .fontSize(14)
+            .fontWeight(500)
+            .fontColor(Color.Black)
+        }
+        Column({ space: 6 }) {
+          Image($r('app.media.account_course'))
+            .width(40)
+            .height(40)
+          Text('璇剧▼鏀惰棌')
+            .fontSize(14)
+            .fontWeight(500)
+            .fontColor(Color.Black)
+        }
+        Column({ space: 6 }) {
+          Image($r('app.media.account_jianli'))
+            .width(40)
+            .height(40)
+          Text('涓汉绠�鍘�')
+            .fontSize(14)
+            .fontWeight(500)
+            .fontColor(Color.Black)
+        }
+        Column({ space: 6 }) {
+          Image($r('app.media.account_communicated'))
+            .width(40)
+            .height(40)
+          Text('宸叉矡閫�')
+            .fontSize(14)
+            .fontWeight(500)
+            .fontColor(Color.Black)
+        }
+      }
+      .width('100%')
+      .backgroundColor(Color.White)
+      .padding({ bottom: 10 })
+      .justifyContent(FlexAlign.SpaceEvenly)
+
+      Column() {
+        List({ space: 10, initialIndex: 0 }){
+          ForEach(this.ListItems, (item: accountListItem) => {
+            ListItem() {
+              Row() {
+                Image(item.icon)
+                  .width(20)
+                  .height(20)
+                Text(item.title)
+                  .fontSize(13)
+                  .fontWeight(500)
+                  .fontColor(Color.Black)
+                  .layoutWeight(1)
+                  .margin({ left: 8 })
+
+                Image($r('app.media.chevron_right'))
+                  .width(12)
+                  .height(12)
+              }
+              .width('100%')
+              .padding(8)
+            }
+          })
+        }
+        .listDirection(Axis.Vertical) // 鎺掑垪鏂瑰悜
+        .scrollBar(BarState.Off)
+        .friction(0.6)
+        .edgeEffect(EdgeEffect.Spring)
+        .width('100%')
+        .divider({strokeWidth: 1,color: '#f0f0f0'})
+      }
+      .padding(16)
+      .backgroundColor(Color.White)
+      .margin({ top: 1 })
+
+      Column() {
+        Button('閫�鍑哄簲鐢�')
+          .fontSize(14)
+          .height(36)
+          .type(ButtonType.Normal)
+          .borderRadius(6)
+          .width('100%')
+          .fontColor(Color.White)
+          .backgroundColor('#1761f4')
+      }
+      .padding(16)
+      .width('100%')
+      .background(Color.White)
+      .height(300)
+
     }
+    .backgroundColor('#f5f5f7')
     .height('100%')
     .width('100%')
   }
diff --git a/entry/src/main/ets/pages/message/MessageDetailsPage.ets b/entry/src/main/ets/pages/message/MessageDetailsPage.ets
index 69dbc17..a2ea405 100644
--- a/entry/src/main/ets/pages/message/MessageDetailsPage.ets
+++ b/entry/src/main/ets/pages/message/MessageDetailsPage.ets
@@ -1,131 +1,124 @@
-import { CommonConstantWX } from '../../common/CommonConstantWX'
-import { WxMessageBase } from '../../data/WxMessageBase'
-import { WxUserInfoBase } from '../../data/WxUserInfoBase'
-import { TitleUtils } from '../../utils/TitleUtils'
+import { router } from '@kit.ArkUI'
 
-/**
-  * @ProjectName : HealthNS
-   * @FileName : MessageDetailsPage
-   * @UserName : 淇ⅵ
-  * @Time : 2025/9/14 16:35
-  * @Description : 鏂囦欢鎻忚堪 
- */
+class Message {
+  avatar: string | Resource = ''
+  content: string = ''
+  isMe: boolean = false
+}
+
 @Entry
 @Component
 struct MessageDetailsPage {
-  @State msgData: Array<WxMessageBase> = CommonConstantWX.mUserMessage
-  @State mContent:string = ''
-  private mScroller: Scroller = new Scroller()
-  @State mUserInfo: WxUserInfoBase = new WxMessageBase()
+  @State messageList: Message[] = [
+    { avatar: '', content: '璇峰彂涓�涓嬩綘鐨勭畝鍘嗙粰鎴戙��', isMe: false },
+    { avatar: '', content: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴戣寰楁垜鍙互鑳滀换杩欎釜宀椾綅', isMe: true },
+
+  ]
   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
+    Column() {
+      Row() {
+        Image($r('app.media.left_icon'))
+          .width(20)
+          .height(20)
+          .onClick(() => {
+            router.back()
           })
-        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)
-          })
+        Column() {
+          Text('鏉庡コ澹�')
+            .fontSize(16)
+            .fontWeight(700)
+          Text('鎽╃背绉诲姩绉戞妧')
+            .fontSize(12)
+            .fontColor('#666666')
+            .margin({ top: 4 })
         }
 
+        Row()
       }
       .width('100%')
-      .alignItems(VerticalAlign.Bottom)
       .padding(10)
-      .backgroundColor("#ffe9e6e6")
-      .id('rowBottom')
-      .alignRules({
-        bottom: {anchor: '__container__',align: VerticalAlign.Bottom}
-      })
+      .justifyContent(FlexAlign.SpaceBetween)
+      .backgroundColor('#fff')
+
+      Column() {
+        List({ space: 20, initialIndex: 0 }){
+          ForEach(this.messageList, (item: Message) => {
+            ListItem() {
+              if (item.isMe) {
+                Row({ space: 10 }) {
+                  Text(item.content)
+                    .fontSize(14)
+                    .fontColor(Color.White)
+                    .fontWeight(500)
+                    .backgroundColor('#1761f4')
+                    .padding(10)
+                    .borderRadius({ topLeft: 12, topRight: 12, bottomLeft: 12 })
+                    .constraintSize({ maxWidth: 250 })
+                  Image($r('app.media.me_icon'))
+                    .width(32)
+                    .height(32)
+                }
+                .width('100%')
+                .justifyContent(FlexAlign.End)
+                .alignItems(VerticalAlign.Bottom)
+              } else {
+                Row({ space: 10 }) {
+                  Image($r('app.media.avatar'))
+                    .width(32)
+                    .height(32)
+                  Text(item.content)
+                    .fontSize(14)
+                    .fontColor(Color.Black)
+                    .fontWeight(500)
+                    .backgroundColor('#FFF')
+                    .padding(10)
+                    .borderRadius({ topLeft: 12, topRight: 12, bottomRight: 12 })
+                    .constraintSize({ maxWidth: 250 })
+                }
+                .width('100%')
+                .alignItems(VerticalAlign.Bottom)
+                .justifyContent(FlexAlign.Start)
+              }
+            }
+          })
+        }
+        .listDirection(Axis.Vertical) // 鎺掑垪鏂瑰悜
+        .scrollBar(BarState.Off)
+        .friction(0.6)
+        .edgeEffect(EdgeEffect.Spring)
+        .width('100%')
+      }
+      .padding(16)
+      .width('100%')
+      .height(600)
+
+      Row({ space: 8 }) {
+        Image($r('app.media.audio_icon'))
+          .width(24)
+          .height(24)
+        TextInput()
+          .width(240)
+          .placeholderColor('#999999')
+          .backgroundColor('#f3f7fe')
+        Image($r('app.media.expression_icon'))
+          .width(24)
+          .height(24)
+        Image($r('app.media.add_icon'))
+          .width(24)
+          .height(24)
+      }
+      .backgroundColor('#FFF')
+      .width('100%')
+      .height(60)
+      .padding(10)
+      .alignItems(VerticalAlign.Center)
+
     }
     .width('100%')
     .height('100%')
-    .backgroundColor('#ccc')
+    .backgroundColor('#f5f5f7')
   }
-}
-
-@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)
-}
+}
\ No newline at end of file
diff --git a/entry/src/main/ets/pages/message/MessagePage.ets b/entry/src/main/ets/pages/message/MessagePage.ets
index e25fdab..bec2112 100644
--- a/entry/src/main/ets/pages/message/MessagePage.ets
+++ b/entry/src/main/ets/pages/message/MessagePage.ets
@@ -1,18 +1,31 @@
+import { router } from "@kit.ArkUI"
 
 class Message {
   avatar: string | Resource = ''
   name: string = ''
   company: string = ''
   desc: string = ''
+  price: string = ''
 }
-
 @Entry
 @Component
 export struct MessagePage {
   @State messageList: Message[] = [
-    { avatar: '', name: '鏉庡コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...' },
-    { avatar: '', name: '鏋楀厛鐢�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...' },
-    { avatar: '', name: '鍚村コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...' }
+    { avatar: '', name: '鏉庡コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
+    { avatar: '', name: '鏋楀厛鐢�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
+    { avatar: '', name: '鍚村コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K' },
+    { avatar: '', name: '鏉庡コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
+    { avatar: '', name: '鏋楀厛鐢�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
+    { avatar: '', name: '鍚村コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K' },
+    { avatar: '', name: '鏉庡コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
+    { avatar: '', name: '鏋楀厛鐢�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
+    { avatar: '', name: '鍚村コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K' },
+    { avatar: '', name: '鏉庡コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
+    { avatar: '', name: '鏋楀厛鐢�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
+    { avatar: '', name: '鍚村コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K' },
+    { avatar: '', name: '鏉庡コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
+    { avatar: '', name: '鏋楀厛鐢�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
+    { avatar: '', name: '鍚村コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K' },
   ]
 
   build() {
@@ -40,14 +53,59 @@
 
       List({ space: 10, initialIndex: 0 }){
         ForEach(this.messageList, (item: Message) => {
-
+          ListItem() {
+            Row() {
+              Image($r('app.media.avatar'))
+                .width(40)
+                .height(40)
+                .margin({ right: 10 })
+              Column() {
+                Row({ space: 6 }) {
+                  Text(item.name)
+                    .fontSize(14)
+                  Text(item.company)
+                    .maxLines(1)
+                    .textOverflow({ overflow: TextOverflow.Ellipsis })
+                    .fontColor('#999999')
+                    .width(150)
+                    .fontSize(12)
+                  Text(item.price)
+                    .width(80)
+                    .fontColor('#999999')
+                    .fontSize(12)
+                    .textAlign(TextAlign.End)
+                }
+                .width('100%')
+                .justifyContent(FlexAlign.Start)
+                Text(item.desc)
+                  .fontColor('#999999')
+                  .fontSize(13)
+                  .maxLines(1)
+                  .textOverflow({ overflow: TextOverflow.Ellipsis })
+                  .width('100%')
+              }
+              .height('100%')
+              .justifyContent(FlexAlign.SpaceBetween)
+              .width(290)
+            }
+            .width('100%')
+            .height(40)
+            .margin({ top: 10, bottom: 10 })
+            .onClick(() => {
+              router.pushUrl({
+                url: 'pages/message/MessageDetailsPage'
+              })
+            })
+          }
         })
       }
-      .height('100%')
-      .padding({top:10})
-      .margin({bottom: 30})
-      .backgroundColor(Color.White)
-      .divider({strokeWidth: 2,color: '#ccc'})
+      .listDirection(Axis.Vertical) // 鎺掑垪鏂瑰悜
+      .scrollBar(BarState.Off)
+      .friction(0.6)
+      .edgeEffect(EdgeEffect.Spring)
+      .width('100%')
+      .height(560)
+      .divider({strokeWidth: 1,color: '#f0f0f0'})
     }
     .height('100%')
     .width('100%')
diff --git a/entry/src/main/resources/base/media/account_communicated.png b/entry/src/main/resources/base/media/account_communicated.png
new file mode 100644
index 0000000..05eb8d3
--- /dev/null
+++ b/entry/src/main/resources/base/media/account_communicated.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/account_course.png b/entry/src/main/resources/base/media/account_course.png
new file mode 100644
index 0000000..ac0cced
--- /dev/null
+++ b/entry/src/main/resources/base/media/account_course.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/account_help.png b/entry/src/main/resources/base/media/account_help.png
new file mode 100644
index 0000000..5ccc24e
--- /dev/null
+++ b/entry/src/main/resources/base/media/account_help.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/account_info.png b/entry/src/main/resources/base/media/account_info.png
new file mode 100644
index 0000000..1948965
--- /dev/null
+++ b/entry/src/main/resources/base/media/account_info.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/account_jianli.png b/entry/src/main/resources/base/media/account_jianli.png
new file mode 100644
index 0000000..d2e7dff
--- /dev/null
+++ b/entry/src/main/resources/base/media/account_jianli.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/account_learning.png b/entry/src/main/resources/base/media/account_learning.png
new file mode 100644
index 0000000..fc9e75a
--- /dev/null
+++ b/entry/src/main/resources/base/media/account_learning.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/account_message.png b/entry/src/main/resources/base/media/account_message.png
new file mode 100644
index 0000000..de0463f
--- /dev/null
+++ b/entry/src/main/resources/base/media/account_message.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/account_setting.png b/entry/src/main/resources/base/media/account_setting.png
new file mode 100644
index 0000000..352d3c5
--- /dev/null
+++ b/entry/src/main/resources/base/media/account_setting.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/add_icon.png b/entry/src/main/resources/base/media/add_icon.png
new file mode 100644
index 0000000..3dd6581
--- /dev/null
+++ b/entry/src/main/resources/base/media/add_icon.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/audio_icon.png b/entry/src/main/resources/base/media/audio_icon.png
new file mode 100644
index 0000000..a9d2d20
--- /dev/null
+++ b/entry/src/main/resources/base/media/audio_icon.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/avatar.png b/entry/src/main/resources/base/media/avatar.png
new file mode 100644
index 0000000..74f8ce1
--- /dev/null
+++ b/entry/src/main/resources/base/media/avatar.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/chevron_right.png b/entry/src/main/resources/base/media/chevron_right.png
new file mode 100644
index 0000000..ad95504
--- /dev/null
+++ b/entry/src/main/resources/base/media/chevron_right.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/expression_icon.png b/entry/src/main/resources/base/media/expression_icon.png
new file mode 100644
index 0000000..5d42587
--- /dev/null
+++ b/entry/src/main/resources/base/media/expression_icon.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/me_icon.png b/entry/src/main/resources/base/media/me_icon.png
new file mode 100644
index 0000000..d9b95c2
--- /dev/null
+++ b/entry/src/main/resources/base/media/me_icon.png
Binary files differ
diff --git a/entry/src/main/resources/base/media/right_icon.png b/entry/src/main/resources/base/media/right_icon.png
new file mode 100644
index 0000000..2797ab2
--- /dev/null
+++ b/entry/src/main/resources/base/media/right_icon.png
Binary files differ
diff --git a/entry/src/main/resources/base/profile/main_pages.json b/entry/src/main/resources/base/profile/main_pages.json
index ff4c064..d66fa06 100644
--- a/entry/src/main/resources/base/profile/main_pages.json
+++ b/entry/src/main/resources/base/profile/main_pages.json
@@ -9,6 +9,7 @@
     "pages/home/ClassificationDetail",
     "pages/home/ActiveDetail",
     "pages/search/SearchPage",
-    "pages/message/MessagePage"
+    "pages/message/MessagePage",
+    "pages/message/MessageDetailsPage"
   ]
 }

--
Gitblit v1.8.0