From 791a96ae03cf92478244127b294c1fe520d31e89 Mon Sep 17 00:00:00 2001 From: wwf <1971391498@qq.com> Date: 星期六, 11 十月 2025 11:17:10 +0800 Subject: [PATCH] 优化 --- entry/src/main/ets/pages/account/AccountPage.ets | 113 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 98 insertions(+), 15 deletions(-) diff --git a/entry/src/main/ets/pages/account/AccountPage.ets b/entry/src/main/ets/pages/account/AccountPage.ets index 556bb32..9da5a55 100644 --- a/entry/src/main/ets/pages/account/AccountPage.ets +++ b/entry/src/main/ets/pages/account/AccountPage.ets @@ -1,6 +1,19 @@ -import { ComponentContent, router } from "@kit.ArkUI" +import { ComponentContent, promptAction, router } from "@kit.ArkUI" import { PromptActionClass } from '../../utils/PromptActionClass'; +import { http } from "@kit.NetworkKit"; +import { HttpResponseResult } from "../../data/HttpResponse"; +import { common } from "@kit.AbilityKit"; +import { DOMAIN } from "../../utils/config"; +export class UserInfo { + nickName: string = '' + mobilePhone: string = '' + age: string = '' + gender: string = '' + job: string = '' + preferJob: string = '' + introduce: string = '' +} class accountListItem { title: string = '' icon: string | Resource = '' @@ -70,7 +83,6 @@ .backgroundColor(Color.White) } -@Entry @Component export struct AccountPage { @State ListItems: accountListItem[] = [ @@ -84,12 +96,47 @@ private contentNode: ComponentContent<Object> = new ComponentContent(this.ctx, wrapBuilder(buildText), new DialogParams((this.dialogMessage))); params: DialogParams = new DialogParams('娉ㄥ唽鎴愬姛') + @State userInfo: UserInfo = { + nickName: '', + mobilePhone: '', + age: '', + gender: '', + job: '', + preferJob: '', + introduce: '', + } + @Link selectIndex: number | undefined; aboutToAppear(): void { PromptActionClass.setContext(this.ctx); PromptActionClass.setContentNode(this.contentNode); PromptActionClass.setOptions({ alignment: DialogAlignment.Center, offset: { dx: 0, dy: 0 } }); + this.getUserInfo() } + + getUserInfo() { + let httpRequest = http.createHttp(); + httpRequest.request( + `${DOMAIN}/quiz-community/public/v1.0/users/userinfo`, + { + method: http.RequestMethod.GET, + header: { 'Content-Type': 'application/json', 'x-jwt-token': `Bearer ${AppStorage.get('x-jwt-token')}` }, + }, + (err, data) => { + console.log('response', '/users/userinfo') + console.log(JSON.stringify(data.result)) + if (data.responseCode == 200) { + const resData = (typeof data.result == 'string' ? JSON.parse(data.result) : data.result) as HttpResponseResult<UserInfo> + if (resData.code == 200) { + this.userInfo = resData.data as UserInfo + } else { + promptAction.showToast({ message: resData.msg }) + } + } + } + ) + } + build() { Column() { Text('涓汉涓績') @@ -106,13 +153,13 @@ .width(50) .height(50) Column() { - Text('鏉庡己') + Text(this.userInfo.nickName || '鏉庡己') .fontSize(16) .width('100%') .fontWeight(600) .fontColor(Color.Black) .textAlign(TextAlign.Start) - Text('鐢� | 28宀� | 鍓嶇寮�鍙戝伐绋嬪笀') + Text(`${this.userInfo.gender || '鐢�'} | ${this.userInfo.age || 28}宀� | ${this.userInfo.job || '鍓嶇寮�鍙戝伐绋嬪笀'}`) .fontColor('#333333') .fontSize(14) .width('100%') @@ -124,13 +171,13 @@ .justifyContent(FlexAlign.SpaceBetween) .layoutWeight(1) Image($r('app.media.chevron_right')) - .width(18) - .height(18) + .width(14) + .height(14) } .width('100%') .onClick(() =>{ router.pushUrl({ - url: '' + url: 'pages/account/UserInfoPage' }) }) @@ -147,14 +194,25 @@ .backgroundColor(Color.White) .padding({ left: 10, right: 10, top: 4, bottom: 4 }) .fontColor('#1756f4') + .onClick(() => { + this.selectIndex = 1 + }) } .width('100%') .justifyContent(FlexAlign.SpaceBetween) - Text('褰撳墠瀛︿範绾у埆锛氶潚閾�') - .width('100%') - .fontColor(Color.White) - .fontSize(14) + Row() { + Text('褰撳墠瀛︿範绾у埆锛氶潚閾�') + .fontColor(Color.White) + .fontSize(14) + Image($r('app.media.bronze_icon')) + .width(20) + .height(20) + .margin({ left: 6 }) + } + .width('100%') + .justifyContent(FlexAlign.Start) + Row() { Column({ space: 4 }) { Text('瀛︿範鏃堕暱') @@ -205,6 +263,12 @@ .fontWeight(500) .fontColor(Color.Black) } + .onClick(() => { + router.pushUrl({ + url: 'pages/account/LearningRecordPage' + }) + }) + Column({ space: 6 }) { Image($r('app.media.account_course')) .width(40) @@ -214,6 +278,12 @@ .fontWeight(500) .fontColor(Color.Black) } + .onClick(() => { + router.pushUrl({ + url: 'pages/account/CourseCollection' + }) + }) + Column({ space: 6 }) { Image($r('app.media.account_vitae')) .width(40) @@ -223,6 +293,12 @@ .fontWeight(500) .fontColor(Color.Black) } + .onClick(() => { + router.pushUrl({ + url: 'pages/account/PersonVitae' + }) + }) + Column({ space: 6 }) { Image($r('app.media.account_communicated')) .width(40) @@ -268,16 +344,20 @@ .onClick(() => { if (item.title == '闅愮璁剧疆') { router.pushUrl({ - url: '' + url: 'pages/account/SettingPage' }) } else if (item.title == '娑堟伅閫氱煡') { - + router.pushUrl({ + url: 'pages/account/MessagePushPage' + }) } else if (item.title == '甯姪涓績') { this.contentNode = new ComponentContent(this.ctx, wrapBuilder(buildText1), new DialogParams((this.dialogMessage))); PromptActionClass.setContentNode(this.contentNode); PromptActionClass.openDialog() } else if (item.title == '鍏充簬鎴戜滑') { - + router.pushUrl({ + url: 'pages/account/AboutPage' + }) } }) } @@ -303,10 +383,13 @@ .width('100%') .fontColor(Color.White) .backgroundColor('#1761f4') + .onClick(() => { + (getContext(this) as common.UIAbilityContext)?.terminateSelf() + }) } .padding(16) .width('100%') - .background(Color.White) + .backgroundColor(Color.White) .height(300) } -- Gitblit v1.8.0