From 1a0b9e0436328c6f0ec53a2a1c997876bb2be3b8 Mon Sep 17 00:00:00 2001 From: xiaoxiao Date: Wed, 14 May 2025 13:10:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=91=E7=9A=84=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/ets/constants/BasicConstant.ets | 11 +-- .../src/main/ets/view/ChangePasswordComp.ets | 87 +++++++++++++----- .../src/main/ets/view/ChangePhoneComp.ets | 6 +- .../src/main/ets/view/EditUserDataComp.ets | 14 +-- .../src/main/ets/view/EditUserDataItem.ets | 2 +- .../mypage/src/main/ets/view/FourSection.ets | 21 +++-- .../mypage/src/main/ets/view/HeaderView.ets | 11 ++- .../src/main/ets/view/HeroPopWindow.ets | 31 ++++++- .../src/main/ets/view/MyPageSectionItem.ets | 2 +- .../src/main/ets/view/OfficeSelectedSheet.ets | 10 +- .../main/ets/view/PositionSelectedSheet.ets | 6 +- .../main/resources/base/media/icon_phone.png | Bin 1178 -> 1044 bytes .../base/media/icon_verification_code.png | Bin 1570 -> 1178 bytes .../base/media/my_home_push_down.png | Bin 0 -> 4117 bytes .../base/media/my_page_choosePhone.png | Bin 0 -> 2323 bytes .../base/media/my_page_message_on.png | Bin 0 -> 2591 bytes .../resources/base/media/my_page_version.png | Bin 0 -> 2227 bytes .../register/src/main/ets/view/LoginComp.ets | 8 +- .../main/ets/pages/MinePage/CancelAccount.ets | 61 +++++++++++- .../ets/pages/MinePage/ChangePhonePage.ets | 2 +- .../pages/MinePage/EditIntroductionPage.ets | 56 +++++++++-- .../main/ets/pages/MinePage/FeedbackPage.ets | 54 +++++++++-- 22 files changed, 305 insertions(+), 77 deletions(-) create mode 100644 features/mypage/src/main/resources/base/media/my_home_push_down.png create mode 100644 features/mypage/src/main/resources/base/media/my_page_choosePhone.png create mode 100644 features/mypage/src/main/resources/base/media/my_page_message_on.png create mode 100644 features/mypage/src/main/resources/base/media/my_page_version.png diff --git a/commons/basic/src/main/ets/constants/BasicConstant.ets b/commons/basic/src/main/ets/constants/BasicConstant.ets index 945d902..84c426a 100644 --- a/commons/basic/src/main/ets/constants/BasicConstant.ets +++ b/commons/basic/src/main/ets/constants/BasicConstant.ets @@ -6,14 +6,13 @@ export class BasicConstant { static readonly getzcxy = "http://app.igandan.com/expert_zcxy.jsp";// 注册协议正式地址 //测试环境 - static readonly urlimage = "https://dev-app.igandan.com/app/"; - static readonly urlmyLan = "https://dev-app.igandan.com/app/expertAPI/"; - static readonly urlapp = "https://dev-app.igandan.com//app/expertApp/" + static readonly urlExpertAPI = "https://dev-app.igandan.com/app/expertAPI/"; + static readonly urlExpertApp = "https://dev-app.igandan.com//app/expertApp/" static readonly urlHtml = "http://dev-doc.igandan.com/app/" - static readonly imageHeader = "https://dev-doc.igandan.com/app/" + static readonly urlImage = "https://dev-doc.igandan.com/app/" static readonly urlExpert = "https://dev-app.igandan.com/app/expert/" - static readonly getStartpage=BasicConstant.urlapp + "startpage"; - static readonly meetingListV2=BasicConstant.urlmyLan + "meetingListV2"; + static readonly getStartpage=BasicConstant.urlExpertApp + "startpage"; + static readonly meetingListV2=BasicConstant.urlExpertAPI + "meetingListV2"; } \ No newline at end of file diff --git a/features/mypage/src/main/ets/view/ChangePasswordComp.ets b/features/mypage/src/main/ets/view/ChangePasswordComp.ets index 06c683a..5468efc 100644 --- a/features/mypage/src/main/ets/view/ChangePasswordComp.ets +++ b/features/mypage/src/main/ets/view/ChangePasswordComp.ets @@ -1,13 +1,47 @@ +import { hdHttp, HdResponse, BasicConstant, ExpertData, authStore } from '@itcast/basic' +import { BusinessError } from '@kit.BasicServicesKit'; import promptAction from '@ohos.promptAction'; -import { router } from '@kit.ArkUI' +import HashMap from '@ohos.util.HashMap'; +import { router } from '@kit.ArkUI'; + +interface updateExtraData { + expertUuid: string, + password: string, + oriPwd: string +} + +interface callBackData { + code: number, + message:string, + msg:string, + data: string +} -@Preview @Component export struct ChangePasswordComp { @State oldPassword: string = '' @State newPassword: string = '' @State confirmPassword: string = '' + uploadChangePasswordAction(){ + hdHttp.post(BasicConstant.urlExpert+'modifyPwd', { + expertUuid: authStore.getUser().uuid, + password: this.confirmPassword, + oriPwd: this.oldPassword + } as updateExtraData).then(async (res: HdResponse) => { + let json:callBackData = JSON.parse(res+'') as callBackData; + console.log('更新登录密码数据:',json); + if (json.code == 1) { + promptAction.showToast({message:'修改成功'}); + router.back(); + } else { + promptAction.showToast({message:json.message}); + } + }).catch((err: BusinessError) => { + console.info(`Response fail: ${err}`); + }) + } + build() { Column() { // 原密码输入框 @@ -72,8 +106,36 @@ export struct ChangePasswordComp { .borderWidth(1) .fontColor($r('app.color.main_color')) .onClick(() => { - // 处理密码修改提交逻辑 - this.handleSubmit() + const passwordRegex = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/ + if (this.oldPassword.length <= 0 || !this.oldPassword) { + promptAction.showToast({message:'请输入原密码'}) + return + } + if (!passwordRegex.test(this.oldPassword)) { + promptAction.showToast({message:'原密码格式错误'}) + return + } + if (this.newPassword.length <= 0 || !this.newPassword) { + promptAction.showToast({message:'请输入原密码'}) + return + } + if (!passwordRegex.test(this.newPassword)) { + promptAction.showToast({message:'新密码格式错误'}) + return + } + if (this.confirmPassword.length <= 0 || !this.confirmPassword) { + promptAction.showToast({message:'请确认新密码'}) + return + } + if (this.newPassword !== this.confirmPassword) { + promptAction.showToast({message:'新密码与确认密码不一致'}) + return + } + if (!passwordRegex.test(this.confirmPassword)) { + promptAction.showToast({message:'密码格式不正确,请重新输入!'}) + return + } + this.uploadChangePasswordAction() }) } .width('100%') @@ -81,21 +143,4 @@ export struct ChangePasswordComp { .backgroundColor(Color.White) } - // 提交处理函数 - private handleSubmit() { - // 这里添加密码验证和提交逻辑 - // 验证规则示例: - if (this.newPassword !== this.confirmPassword) { - promptAction.showToast({message:'两次输入的新密码不一致'}) - return - } - - const passwordRegex = /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]{6,16}$/ - if (!passwordRegex.test(this.newPassword)) { - promptAction.showToast({message:'密码必须为6-16位数字字母组合'}) - return - } - - // 调用修改密码接口... - } } diff --git a/features/mypage/src/main/ets/view/ChangePhoneComp.ets b/features/mypage/src/main/ets/view/ChangePhoneComp.ets index fd69bb6..7b08888 100644 --- a/features/mypage/src/main/ets/view/ChangePhoneComp.ets +++ b/features/mypage/src/main/ets/view/ChangePhoneComp.ets @@ -22,7 +22,7 @@ export struct ChangePhoneComp { hashMap.set('newMobile',this.phoneNumber) hashMap.set('oldMobile',authStore.getUser().photo) hashMap.set('sms',this.smsCode) - hdHttp.httpReq(BasicConstant.urlmyLan+'updateMobile',hashMap).then(async (res: HdResponse) => { + hdHttp.httpReq(BasicConstant.urlExpertAPI+'updateMobile',hashMap).then(async (res: HdResponse) => { let json:callBackData = JSON.parse(res+'') as callBackData; console.log('更新手机号数据:',json); if (json.code == 200) { @@ -40,7 +40,7 @@ export struct ChangePhoneComp { const hashMap: HashMap = new HashMap(); hashMap.set('type','6'); hashMap.set('mobile',this.phoneNumber) - hdHttp.httpReq(BasicConstant.urlmyLan+'smsSend',hashMap).then(async (res: HdResponse) => { + hdHttp.httpReq(BasicConstant.urlExpertAPI+'smsSend',hashMap).then(async (res: HdResponse) => { let json:callBackData = JSON.parse(res+'') as callBackData; console.log('获取验证码数据:',json); if (json.code == 200) { @@ -76,7 +76,7 @@ export struct ChangePhoneComp { .objectFit(ImageFit.Contain) .margin({left:10}) - TextInput({ placeholder: '请输入手机号码' }) + TextInput({ placeholder: '请输入新的手机号码' }) .fontSize(16) .backgroundColor(Color.White) .onChange((value: string) => { diff --git a/features/mypage/src/main/ets/view/EditUserDataComp.ets b/features/mypage/src/main/ets/view/EditUserDataComp.ets index 546a3b7..1d49889 100644 --- a/features/mypage/src/main/ets/view/EditUserDataComp.ets +++ b/features/mypage/src/main/ets/view/EditUserDataComp.ets @@ -43,7 +43,7 @@ interface UploadAvatarResponse { @Component export struct EditUserDataComp { - @State photoPath:string = BasicConstant.imageHeader+authStore.getUser().photo; + @State photoPath:string = BasicConstant.urlImage+authStore.getUser().photo; @State name:string = authStore.getUser().realName; @State sex:string = authStore.getUser().sex == 0 ? '男' : '女'; @State birthday:string = authStore.getUser().birthDate; @@ -55,7 +55,7 @@ export struct EditUserDataComp { @State officePhone:string = authStore.getUser().officePhone; @State positionName:string = authStore.getUser().positionName; @State certificate:string = authStore.getUser().certificate; - @State certificatePhoto:string = BasicConstant.imageHeader+authStore.getUser().certificateImg; + @State certificatePhoto:string = BasicConstant.urlImage+authStore.getUser().certificateImg; @State diseaseName:string = ''; @State intro:string = authStore.getUser().intro; @@ -315,13 +315,14 @@ export struct EditUserDataComp { Column() { Column(){ Text('基本资料') + .height(20) .fontSize(16) .margin({left:15}) .fontColor($r('app.color.main_color')) } .width('100%') - .height(17) - .backgroundColor(Color.Gray) + .height(20) + .backgroundColor('#D1D1D1') .alignItems(HorizontalAlign.Start) // 基本信息字段 EditUserDataItem({ label: '头像', required: true, content: this.photoPath, hasArrow: true }) @@ -354,13 +355,14 @@ export struct EditUserDataComp { Column() { Column(){ Text('专业资料') + .height(20) .fontSize(16) .margin({left:15}) .fontColor($r('app.color.main_color')) } .width('100%') - .height(17) - .backgroundColor(Color.Gray) + .height(20) + .backgroundColor('#D1D1D1') .alignItems(HorizontalAlign.Start) EditUserDataItem({ label: '医院', required: true, content: this.hospatilName }) diff --git a/features/mypage/src/main/ets/view/EditUserDataItem.ets b/features/mypage/src/main/ets/view/EditUserDataItem.ets index c9a988b..e80aa59 100644 --- a/features/mypage/src/main/ets/view/EditUserDataItem.ets +++ b/features/mypage/src/main/ets/view/EditUserDataItem.ets @@ -42,7 +42,7 @@ export struct EditUserDataItem { .margin({ right: this.hasArrow?0:10 }) } else { Text(this.content) - .fontSize(16) + .fontSize(14) .fontColor('#333333') .width('60%') .textOverflow({ overflow: TextOverflow.Ellipsis }) diff --git a/features/mypage/src/main/ets/view/FourSection.ets b/features/mypage/src/main/ets/view/FourSection.ets index b4ca7c7..f7f387d 100644 --- a/features/mypage/src/main/ets/view/FourSection.ets +++ b/features/mypage/src/main/ets/view/FourSection.ets @@ -1,9 +1,9 @@ -import { it } from "@ohos/hypium"; import { MyPageSectionClass } from "../model/MyPageSectionClass"; import { MyPageSectionItem } from '../view/MyPageSectionItem' import { common, Want } from '@kit.AbilityKit'; import notificationManager from '@ohos.notificationManager'; import { Theme } from "@ohos.arkui.theme"; +import { router } from '@kit.ArkUI' import { BusinessError } from "@kit.BasicServicesKit"; import emitter from '@ohos.events.emitter'; @@ -12,25 +12,23 @@ export struct FourSection { @State sectionTitle: string = "常规操作"; @State currentIndex: number = 0; @State pushStatus: string = '通知已开'; + @State pushIconPath: Resource = $r('app.media.my_page_message_on') @State refreshFlag: boolean = false; @State fourSectionList:Array = [ - new MyPageSectionClass('oneItem',$r('app.media.app_icon'),'微信绑定','/pages/MyHomePage'), - new MyPageSectionClass('twoItem',$r('app.media.app_icon'),'更换手机号','/pages/MyHomePage'), - new MyPageSectionClass('threeItem',$r('app.media.app_icon'),this.pushStatus,'/pages/MyHomePage'), - new MyPageSectionClass('fourItem',$r('app.media.app_icon'),'发现新版本','/pages/MyHomePage') + new MyPageSectionClass('oneItem',$r('app.media.app_icon'),'微信绑定',''), + new MyPageSectionClass('twoItem',$r('app.media.my_page_choosePhone'),'更换手机号','pages/MinePage/ChangePhonePage'), + new MyPageSectionClass('threeItem',this.pushIconPath,this.pushStatus,''), + new MyPageSectionClass('fourItem',$r('app.media.my_page_version'),'发现新版本','') ]; aboutToAppear() { console.log('FourSection aboutToAppear!'); this.checkNotificationStatus(); - - // 监听通知状态变化事件 emitter.on('notification_status_changed', this.onNotificationChanged); } aboutToDisappear() { - // 取消事件监听 emitter.off('notification_status_changed', this.onNotificationChanged); } @@ -53,10 +51,11 @@ export struct FourSection { let isEnabled = await notificationManager.isNotificationEnabledSync(); console.log('当前通知状态:', isEnabled); this.pushStatus = isEnabled ? '通知已开' : '通知已关'; + this.pushIconPath = this.pushStatus == '通知已开'?$r('app.media.my_page_message_on'):$r('app.media.my_home_push_down'); // 更新数组中的标题 this.fourSectionList = this.fourSectionList.map((item, index) => { if (index === 2) { - return new MyPageSectionClass(item.id, item.imageSrc, this.pushStatus, item.path); + return new MyPageSectionClass(item.id, this.pushIconPath, this.pushStatus, item.path); } return item; }); @@ -103,6 +102,10 @@ export struct FourSection { .onClick(()=>{ if (item.title.includes('通知')) { this.handleNotificationClick(); + } else { + router.pushUrl({ + url:item.path + }) } }) }, (item: MyPageSectionClass) => item.id) diff --git a/features/mypage/src/main/ets/view/HeaderView.ets b/features/mypage/src/main/ets/view/HeaderView.ets index 0d62d93..8acc359 100644 --- a/features/mypage/src/main/ets/view/HeaderView.ets +++ b/features/mypage/src/main/ets/view/HeaderView.ets @@ -24,7 +24,7 @@ interface heroFirst { @Component export struct HeaderView { @State heroIndex: number = 0 // 当前页索引 - @State photoPath:string = BasicConstant.imageHeader+authStore.getUser().photo; + @State photoPath:string = BasicConstant.urlImage+authStore.getUser().photo; @State name:string = authStore.getUser().realName; @State myPageData:object = new Object; @State heroArray:Array = []; @@ -64,7 +64,7 @@ export struct HeaderView { uploadBackImgAction() { const hashMap: HashMap = new HashMap(); - const userDataUrl:string = BasicConstant.urlmyLan+'my'; + const userDataUrl:string = BasicConstant.urlExpertAPI+'my'; hdHttp.httpReq(userDataUrl,hashMap).then(async (res: HdResponse) => { console.info(`我的背景图: ${res}`); let json:RequestDefaultModel = JSON.parse(res+'') as RequestDefaultModel; @@ -131,7 +131,12 @@ export struct HeaderView { .onClick(() => { console.log('Show HeroPopWindow'); }) - .onClick(()=>this.dialogController.open()) + .onClick(()=>{ + this.dialogController.open(); + // if (!this.heroArray[index] as heroFirst == 'ranking') { + // this.dialogController.open(heroId:this.heroArray[index]['id'] as string); + // } + }) } }) } diff --git a/features/mypage/src/main/ets/view/HeroPopWindow.ets b/features/mypage/src/main/ets/view/HeroPopWindow.ets index 622f2c0..953dfd1 100644 --- a/features/mypage/src/main/ets/view/HeroPopWindow.ets +++ b/features/mypage/src/main/ets/view/HeroPopWindow.ets @@ -1,9 +1,38 @@ -import { it } from "@ohos/hypium"; +import { hdHttp, HdResponse,BasicConstant, logger,RequestDefaultModel, Data } from '@itcast/basic' +import { promptAction } from '@kit.ArkUI' +import HashMap from '@ohos.util.HashMap'; +import { BusinessError } from '@kit.BasicServicesKit'; +import { authStore } from '@itcast/basic' + +interface DefaultData { + +} @CustomDialog export struct HeroPopWindow { + @Prop heroId:string = ''; + @State detailsData:object = new Object; private years: string[] = ['2019年英雄榜','2018年英雄榜','2017年英雄榜','2016年英雄榜','2015年英雄榜']; controller: CustomDialogController; + + heroDetailsRequestUrl:string = BasicConstant.urlExpertAPI+'gethonorDetail' + hashMap: HashMap = new HashMap(); + + updateHeroDetailsAction(){ + this.hashMap.set('id',this.heroId); + hdHttp.httpReq(this.heroDetailsRequestUrl,this.hashMap).then(async (res: HdResponse) => { + let json:RequestDefaultModel = JSON.parse(res+'') as RequestDefaultModel; + if(json.code=='1') { + this.detailsData = json.data; + } else { + console.error('英雄榜失败:'+json.message) + promptAction.showToast({ message: json.message, duration: 1000 }) + } + }).catch((err: BusinessError) => { + console.info(`Response fail: ${err}`); + }) + } + build() { Stack() { //半透明黑色背景 diff --git a/features/mypage/src/main/ets/view/MyPageSectionItem.ets b/features/mypage/src/main/ets/view/MyPageSectionItem.ets index a711602..e6f623c 100644 --- a/features/mypage/src/main/ets/view/MyPageSectionItem.ets +++ b/features/mypage/src/main/ets/view/MyPageSectionItem.ets @@ -7,9 +7,9 @@ export struct MyPageSectionItem { build() { Column(){ Image(this.sectionItem.imageSrc) - .backgroundColor(Color.Gray) .width(35).height(35) .borderRadius(17.5) + .objectFit(ImageFit.Auto) Text(this.sectionItem.title) .fontSize(12) .fontColor(Color.Black) diff --git a/features/mypage/src/main/ets/view/OfficeSelectedSheet.ets b/features/mypage/src/main/ets/view/OfficeSelectedSheet.ets index 2baba98..ff9d777 100644 --- a/features/mypage/src/main/ets/view/OfficeSelectedSheet.ets +++ b/features/mypage/src/main/ets/view/OfficeSelectedSheet.ets @@ -14,7 +14,6 @@ export struct OfficeSelectedSheet { controller: CustomDialogController; @State officeNameArr:Array = []; private officeArr:Array = []; - @Prop selectedOffice:object = new Object; @State selectedModel:DefaultData = { officeName: '', officeUuid: '' }; @State selectedIndex:number = 0; @@ -44,9 +43,11 @@ export struct OfficeSelectedSheet { this.officeNameArr = json.data.map(item => item.officeName); console.log('科室名称数组:', this.officeNameArr); for (let index = 0; index < this.officeNameArr.length; index++) { - const element = this.officeNameArr[index]; - if (element == authStore.getUser().officeName) { + const officeObject = this.officeArr[index] as DefaultData; + const name = this.officeNameArr[index]; + if (name == authStore.getUser().officeName) { this.selectedIndex = index; + this.selectedModel = {officeName:name,officeUuid:officeObject.officeUuid} } } } else { @@ -64,7 +65,7 @@ export struct OfficeSelectedSheet { Row({space:70}) { Button('取消') .layoutWeight(1) - .backgroundColor(Color.Transparent) + // .backgroundColor(Color.Transparent) .fontColor($r('app.color.main_color')) .backgroundColor(Color.White) .width(80) @@ -78,7 +79,6 @@ export struct OfficeSelectedSheet { Button('确定') .layoutWeight(1) - .backgroundColor(Color.Transparent) .fontColor($r('app.color.main_color')) .backgroundColor(Color.White) .width(80) diff --git a/features/mypage/src/main/ets/view/PositionSelectedSheet.ets b/features/mypage/src/main/ets/view/PositionSelectedSheet.ets index 29eb919..50c8ef7 100644 --- a/features/mypage/src/main/ets/view/PositionSelectedSheet.ets +++ b/features/mypage/src/main/ets/view/PositionSelectedSheet.ets @@ -43,9 +43,11 @@ export struct PositionSelectedSheet { this.officeArr = json.data as DefaultData[]; this.officeNameArr = json.data.map(item => item.name); for (let index = 0; index < this.officeNameArr.length; index++) { - const element = this.officeNameArr[index]; - if (element == authStore.getUser().positionName) { + const object = this.officeArr[index] as DefaultData; + const nameIndex = this.officeNameArr[index]; + if (nameIndex == authStore.getUser().positionName) { this.selectedIndex = index; + this.selectedModel = {name:nameIndex,uuid:object.uuid} } } console.log('职称名称数组:', this.officeNameArr); diff --git a/features/mypage/src/main/resources/base/media/icon_phone.png b/features/mypage/src/main/resources/base/media/icon_phone.png index 67be6295b21c2e0175178f249e5b8384bf21341e..22f1e90ce638d88ae092463605fc5dba243f04dd 100644 GIT binary patch delta 273 zcmbQmIfY|`D^rZ2v4w%NnVF%5rL&`$_i>(q+L@y;X#R{s|2$$Z;3z-ZQAc{=ga4P!9Bm-4sW`I+XF0&IybaK5X z0|P_n;Ev)Sp_ZwPHa%jaLqO9QJYD@<);T3K0RVr2Q=AdvxS?5rL&`#fs?a|v6-=}n~9^6LPc(YudkI$ zesXDUYF>$_i>(q+L@y;X#R{U=(g2s<$qShb6rdKk;8gUHNd~6K6{jLyW+#r2svCb9 z7#R5{moxj+H%KsXb)R(DGeyX`s?mbImu)} z#z#*b=CB?4|54J2xnpf(g|I-e(^0O4>mt~XY;^b|ez#L6^!U6~So6 c$|{h+aM{#uUAtYdG6N8Jy85}Sb4q9e0KzSfmjD0& diff --git a/features/mypage/src/main/resources/base/media/icon_verification_code.png b/features/mypage/src/main/resources/base/media/icon_verification_code.png index 43970730d513550eddb6b9928e3a591239a5caf8..67be6295b21c2e0175178f249e5b8384bf21341e 100644 GIT binary patch delta 515 zcmZ3)GmBHPGr-TCmrII^fq{Y7)59eQNDBh76bBoS3|zI{a-*UOQ;db1qmiq#g`0(? zv!kJ*tEq*hnYo*Rle3AjnX#*ziKCK2MQ(wwua!%Fa%paAUWuoRtrAc~FC{a@3ZmE2 z0GHm$3z-ZQpcc5`RP>Qa2Bydrry^Zur}~hp8-E!X82LS2978H@CBAd5=Sf+jnMGagLe+Fp6HN-A+a%~8Fm zdV9eZ7GY-50}T>PT-_%f_Dm6Su4=Sk@3{ZS*oC2EXMw~8o+GUeHvAo*KT2*A?z+gk zsp+gKqiQ0#P+YvH;G_9Gh|{)pf0)XDhs)8P!?k;@Ggx>rK? zUN8~qJj;;Nb|B_3l7hm)WVl=X1*$1_q|-o-U3d6}R5Z^34!-6gjSLdd*C* zX!^Ytv6g2MRRVh|f*dEXX|Gj{ih9ky_J&h8>(=&d3nCN){wTP*UKV3&6$|;IGc8W^ zNZg()n+2ScqBefCf5UCVWGMgUcFr`(9|zB*8BMIh$B;0Df13i=MSZpknGm(r%>o%?{7gM0pm!wY6hu%sX8yCRy+ zm@hj)%P-MtrfyJDxTE^h%@4RZnC3G$X4!lHeOc$e)y>WlkplHJa9NE+tXcfWM46s%c%+|0itbEU)%HY3_D!E4sM-&lA&SuXXG z_l3pIf+m7GQ&+BUza<-1$CG#I+|AI-f9+=9{Sv19YyPh72W`XpnqQZB-&8FV+>`wF zsP~(>Y6o&IPD`nea5|;8(YAnZ&+<=tA`NU*Hw_@xXiqr^!88B^#X-p6#f=nIUDUoOYyV zhM;lMJHgvwQ}^fJ%Tw7{ws2Re_;0pU%$`!A-=Qk#=UwTCBX5?jkrFmLFXMKFXU1zI&Lip>> zDL3*{Su^acZTMgOE4iYrZmIo`!6NolRpj=iYXWAwoC^4zeC591R^BV0o@`vb=6j^! g=Dw?ne}xkm45U{?YUjJX1ZFV?Pgg&ebxsLQ0H~yfy#N3J diff --git a/features/mypage/src/main/resources/base/media/my_home_push_down.png b/features/mypage/src/main/resources/base/media/my_home_push_down.png new file mode 100644 index 0000000000000000000000000000000000000000..e3ba44ca3571c5a77494c9d5152df1da75f5b16c GIT binary patch literal 4117 zcmV+w5bE!VP)Px^&q+i9ks`rqzy9En0AerHncTJ+2`y@7}y5x-y=>fOpP5d;jh}=j^@D?||@m>lFd~9G~71_#B`Z9`cz2sHmt& zG&MD)nx=WqFpSpEf_J+H=&>ws<~gJrgj5bKt!v!VUq{mF0E^NqOX(N$7z~&m6Y;V0B{)qm;kWc zFpLfTAv+!!t^nG2`Gl)wNBdg@5FXb^iZc750}U@D0L7z-rfE4+%AEjk5z9fu&AP5H zj7MgFjCBQ&K5bm`sgt4K0KxQ5BN!Bf{{~Z;Tlhi4-{VneNC3nDtjoUWODORf0LZjJ zG68Y-C11W_*6f-ZUK+02f&~kFL^Q=T&FcYR832s3Jm^1(XrW;kjS#1Ix>BfHXICD? zV~YU9h)nN20^nx^Fgh#`5lYiS$*blaI@A_TAyrjV5z#Az_?l^&GXdah0FVIyBFY$E zwoL%=2SrhKo2L0H05lkeaWWpG-Hde&P$x(eCk`9wXJI z!=?o0<>if66y+8G_!j`Uo`}-BR;a5+h)Atem*as9RM&D0Fqrn61_8f=>Z}tHw>d15#u@_def=T z0I|^Zndx2xc$$E6Y@T#LD2d-%a-g2SE~u)y*4kU_dhlL#5)oU7=tD$&2LO_Yh?m_6 zYY%!408Rjamxy>NrviY|-55lCQA)X@rKRQVnm+7-u|8N_0P!-}km=a zmKai(*B-AA1OkhQsMIp99RU6a0DBPeb<;HeI)424qs7I=vZqtb=kqN(a^%Q3M7&xE z@lOEoO(MFE!L-fA-cu)pD3MZbH4MYPykprP^Y?fGvNr9D{#hXYiU<-qzdk?*A#76G z5+6A@W5zJkH0J|AHUR7rLj0wcJNOC;@4Db3kYy%|!ncAkOiUDLSePRJ*AD^3>JABNT zF$;<4K>(Ow`z?fs`taeyA1Ny%l>dOP zeIncrN>b)5x1DS~Y3vrDunbMpCKAy`E6EMVQyqv{cKrD9mGN%e@dAW}g@wtdPMsQ_ zk&)3-TwEMlKPCM#48a}(x-@JABL0`hq`ZO;nmCT>vGo-o7N)A|SVXKOqFJ_}vjq_~ zpU+prhd^K5C@z3BO&c$z$AN#gM?}T=mH5L1OUdRiDMVf-oKwu zvI|-u5MZy{MMS=?)rlp#u0Q0|u>0@7e~icD*-k{a+Qz&grJP+|UHySmIo+%h9pUweI8)d4H;Qt=lll*z76Q2z&j*JcfUu^pwyC(M%->2wo+qMjAmS-0r>R8{3j`!*p&ZF+k8TYXp>7zhOJWN#&+FIak+2?+_) zD=I2Dk8|Dn1W;jN;fT|xPd{mGj9se;aSIXU+XJ=Ii4#YMl-8{X@V#&i2?5?#M8e#~ z2aj|D+25_Gs3@_ap@En8_rtO|+HP%ay>t8a?PuN2*C&7ifxx$k=qUggYfadan3#BF zd3pH-CDM)A-bs?+Ng}wm6UeU8#hZy3`ql%r$4|Lc*hzouWZO?fR!j!X05HcejNdpJ zAJ-BqDk}0cHa4y%qUF4Fh={XnE{}4M*kdcn^4>xKTY+F)og;;>3v+H8nLo9um=XckMxWd3otVh+P1{K^nKirfJ@^Wy_Y@Xp?XaX=G;l z{Q&S701dPHeT)Q;rpe@Wz15K1e(`XBzu!L@5q}L3$q`=%fIAGsXmBIbH9-0K`PWJ* z_YzTO!ib1F6h+C8mH+I?0nfhr^g<%~i7oSQ5r}h_)E;}@jnYo~@`jIyff#? z%8iwkm49+F-sb6Ux_1U;9Gk4OMsZ!Hz%UHmiIhhteIeB&5-Nz`uJfe}Jdxl@$SHWQ z{_XxQercNKC!(L(_M(Rk!&u`)*LVQptC<;=fMY_4JA=XCD^4d}o1Jlmkn#xt`igDL zK14CMu(ol(Q#nrhS>DdI?Qrn9SJ(A#IvLw1fOtRFG_BbdW7J70r&m{3M@=DmPzE<% zKH(}e)Ug+c#&j;zu6wYZirKzk@u8M}$--GK2cH1&8UReT^f;^QdWxG0q^mtBKRmJvhMvJ%gP#c4o-1=#OXn}H7G#ym(+duLSN+%3>b(H4%_e+VZvmncCALf%n{qs)yo5m0BIyXiYZ742 zvf8G|a&{uCr#_mdEtXPlw0TgTuIpQz%5w!!AP`tUL=`sSKQIi#{&%PIexl!o$=)xL z3EK(a>hp%cvmNcj=C3?_m~S@v+`8+GhzoUH-|SRiTmZS9ESgdrX^+azm?@>K0*GYc zT&j5dlEgGES`EpGkwXF?Hk6mwhAi(7iSS_nO0G1sNj zAqNnHv@R>-8YJ^+TLjE8*PoOGbJpU&edH<|ACdquNE;^mZk19#4iqWMaZS5gDsuVq z_dYu9bTb;V0P&_>nw@^PDPfDfh6Es%Jyh3N{{J2z27oCxa#;J1iGXhppzZ$(8ny^`NkaY@D1nUYZ`AfNrw|k?%`_xy$OB{wG!qX~+Y_plq6Q@wm3oInK(b zSRhFR{QWsecR$?AZSALV%-=&q+s}VV{JyU1%pM!?R+5=9jlg`?&gKw^Td*x*(USW5 zkE1Cts2-%MDibcBM#L`@(Vqd}Zns77z9OklgM_mu)8|SiDukJ^T{Pq$pAIGev^WZR zRMWKkq?A7o&ntwO7YqjN33sn5xyr>@lBQ{1(=l(L5xvkAW#5cL@iinLwbd8&j>KdRyLnF#WJ9BfD!*BlK8339==Q)dYBFU4x zbpKKI>I<6X`OL$9*$p@>$Pqvmv0y49+PQ&)ij|@$N6X904{|-ZY*NN09YQ{VL^s%K zNUwHy#9b@jZTv(zb-{uKBZ=rLqR4$*Snt-hwzj`++qNw#uiFto*8LJ!_p*uT0+#7u zphQF_U{CD11bT)(+Mzjx`v%sn$6%-VVZf$Ml{fDo; zyX($$y_b@cll`TorBOHem>#66YA)Y63u!?0A}gB9;vf;?-vswP1E?q;+xdYHx!>@>kvY$ky8G| z&LAntN?$=lOycSysUsXm5=#o}8Xs3x^=d?XmWb>WWxEOc6-Aj*Sy}mhG`nH~#AL~% zM~{9(2=U#1WXik7nTXy=NJ!XOQBlE6jYwNNWo(LKD$G%2s&Sa3*n&d2GH#adYEp3&Q@){w;o6XJ5YuwULx+@<|rd2~? z`W?T94Bys12Z|?9c;M(qef`h_3XtFL{|+KPXJz6Y%t))Ms$xn?pIdJ-H%v~yNlN;K zy@n(JE0@+CW5Ri#+JFKS2n4$4ZmV=%|7o8zwFU(Oft5rQVQ2^;?g<8iPx8-99vyMS zTYwT)pTDi;8(>(Nl6rAfVBbF1?>Gh&p#1#&8%@*P8`&2St8`trKc8}qRUi;xf~G$_ zP*Iee%F4GBZ~-Cb2x^;_4j0|0)%|7JwwVt$xB`nq8lU+qa2GyW+A&k3Nb&Zi@^M+tSzazn8h zaDX&Tdq7HAX61eSBw%|e6k4=(>sH5wcLreo{P`&!k7tub@8x)hgb)S6VDPb?0P4D} zO}|x2;(K^+qz~fHL+x!#R~|m;=t_IQ0a8_!pD8dSlFbvE;-l~HN}YRo3VuV z$M1Q0c@u;X>@oc6IovqmtRbQusi~=d?7ngHhJ5nm$?FjD9suBk+5RB-1u3P!y1F`Y z0Q9Ekn#;$hC5AeJKrpkjhJ>*mW#tt0Sp5baAXbPs?uLejON9`(Nhx`ciDcp36nf#S literal 0 HcmV?d00001 diff --git a/features/mypage/src/main/resources/base/media/my_page_choosePhone.png b/features/mypage/src/main/resources/base/media/my_page_choosePhone.png new file mode 100644 index 0000000000000000000000000000000000000000..bb456f2c929246ac1743e77375abeb34da397c2b GIT binary patch literal 2323 zcmV+u3GDWXP)Px-%}GQ-RCr$PoPTUn*A>UV=RVtkP+(-uFP2R-2`N=4ts7gXO6!KU?vJTIXeT8j z>=#LgO%f<02|q?Pv7oL5a9X;s%y!tqG;KiAt+dnB{c6?GN}VcoD^f)@;$)GasgtZB zA+Tb{@1E%zn;I|4d(TdcgM9z=JNKM>K0f!{d*8kH5wc}Q0+i)5Gl481g9u3$5ILRB zg}SaU$j!~wG9?Ow!64`4+cAM!@mQtD&`~+1(~@Y zzz7kke=HNq0%pFAnG52(JrQ*{9FE5J_V%FFMw$ZTa=EL{W#MqR89;5EjbR}~wa4Rm*{WSbK()2Ci|uxMfSGfn%7=;QTVAjC zFIJ7EQ{Lrr{X$B)AsR`Nh@Kc79o=hnbTb6BapT7Oh$tS$?~99zzuwZ)5>BVXR&6yj zG~78kIjJJ1AX@iCPEL-qy}kXS6K z06rhJ|5pIjKA-PDR@!3*P(3sMG%h(ec)eaVnq_p^vSmwtC=}{u<~7m0`HI8gsA_L- zAF0dhK>Y8r3= zz$O6cSioKpLO4Ah&#&eMAl1m)+S=tdo2{CNN|O!?a}{+V#NQV!TJ*fz?Y=y30GabG zJyIFh#nR)pc`I2!2CTAxvVhEYr)-i=f>pMQWxH4sVG~y+8$sC!%0^IX1hNs78oz7~ z%0^H&f>I-pjiA){Wpj`LznYqwe22qvoSDC@M2YC-P$;yntE=nA?P{dTQ)20WhF3;b^92vy~fDef92LW-o#2 z0Qbg4#khdBbCRzd-_?KNx|8$niu^CIPR9Up5aDqxyztp=0|R45ebLPGj02=btGmk! zwu13wT+SIM*fuox4XQ(#QJ@h<))zKt*k)Z8p>U&Qm>ZFQy^=kXX*tsVdPzTHf2&Z#kf8a6yyXTD*W*i{* z%ED@vtWJ$xJ*7s}t;>)zv0E8A7XRG48um-$1+9|N7=^Br5Z`O+4IDMnV+g3OuC77X z^}{hmM05(klm{oLFg6O{n8)LJXS&minf010w;Wx<=3U-+t?I5fp$?k4}xx>OgON}rlIy2}cm12`6)Am)3U`$t}zsa<9OZDr;| zaY`ltm|gs-`y4M`xNxDar>DnoE!0+C_>g2)2|7{)(Y_}C&~78JW}myu3fv4dUHbzB zt#9rfI+iM+#F_LVBD&_pOv-g#zdSZJcG?UarRP9d{ssbdUDGMVj_tjHgJuC3$sJf( zw1cGFACuFBsBP>Gd}wb91!f{BZA*>B2qL1^X8+I+j2t)n++AL{PhHWBi_o=A{vmZE zaoUn$faW#_wUrmDZJ??T0ogv&Yir0SXwXCCC;RYs5_kEOuDsn*;1Qu_~N>k zPJ+H|G=fDy8WBwQmCVGo7=Q@@ZF?$fv9_{emxQiH!^Kg5-_$h6+Qzfz-!<~z5Ky`= z^(MQTpUzQt+46@OVYTLpbS(fu5O%-eAAY9C#JeIxKuTjeu7wAK!BBB=@kC2Yi?sSa zXev0WTiI#BItg9Pdtz{u=&N>#%J2Vsc*rPvOm#6Ol#UMzF!TEWd_JG=&&uXhZxji* z$V7kC65c4r997GSgDdh2Z5rJpiPkam*W$XBO3bHq(yDj%zW0t9IHm!m@zWG%d_Lcu zvBsNyCk>)eFy}E)2IjjMC`^c&2poc~#%SJ?2+mX&i&aX)$4#yS6pJK_yBdi;s@;q? zq|jVeA}6NA5+GG+u0D^G*u~<#w74%8tEyhszXif?>^gpJHs_=iL2;F5{R2z!NqVaM z5WllZ%-@iVuS~PEdPxvoVxkj*?5AEodp=-hw3;p_S&ksH$!)IX;`iotmU$Y9Q9wI4 tDHrq`Eg!73ZQcU1;$$kaSwIH#{s#oW2c!C(Dpddg002ovPDHLkV1f?&W%vL9 literal 0 HcmV?d00001 diff --git a/features/mypage/src/main/resources/base/media/my_page_message_on.png b/features/mypage/src/main/resources/base/media/my_page_message_on.png new file mode 100644 index 0000000000000000000000000000000000000000..ee7335675cacac7baa56217671f217b33ddd7182 GIT binary patch literal 2591 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 B8{hx{ literal 0 HcmV?d00001 diff --git a/features/register/src/main/ets/view/LoginComp.ets b/features/register/src/main/ets/view/LoginComp.ets index f78b0ca..f5637ca 100644 --- a/features/register/src/main/ets/view/LoginComp.ets +++ b/features/register/src/main/ets/view/LoginComp.ets @@ -29,7 +29,7 @@ export struct LoginComp { @State type:string ='账号密码登录' - loginUrl:string=BasicConstant.urlmyLan+'umSmsLogin' + loginUrl:string=BasicConstant.urlExpertAPI+'umSmsLogin' hashMap: HashMap = new HashMap(); @@ -67,12 +67,12 @@ export struct LoginComp { if(this.isPassLogin) { this.hashMap.set('password',this.code) - this.loginUrl=BasicConstant.urlmyLan+'login' + this.loginUrl=BasicConstant.urlExpertAPI+'login' } else { this.hashMap.set('sms',this.current_code) - this.loginUrl=BasicConstant.urlmyLan+'umSmsLogin' + this.loginUrl=BasicConstant.urlExpertAPI+'umSmsLogin' } this.hashMap.set('current_spec','hongmeng') hdHttp.httpReq(this.loginUrl,this.hashMap).then(async (res: HdResponse) => { @@ -126,7 +126,7 @@ export struct LoginComp { this.hashMap.clear(); this.hashMap.set('mobile',this.mobile) this.hashMap.set('type','7') - hdHttp.httpReq(BasicConstant.urlmyLan+'smsSend',this.hashMap).then(async (res: HdResponse) => { + hdHttp.httpReq(BasicConstant.urlExpertAPI+'smsSend',this.hashMap).then(async (res: HdResponse) => { }).catch((err: BusinessError) => { this.loading = false console.info(`Response login succeeded: ${err}`); diff --git a/products/expert/src/main/ets/pages/MinePage/CancelAccount.ets b/products/expert/src/main/ets/pages/MinePage/CancelAccount.ets index e3b58ab..39cda5f 100644 --- a/products/expert/src/main/ets/pages/MinePage/CancelAccount.ets +++ b/products/expert/src/main/ets/pages/MinePage/CancelAccount.ets @@ -1,5 +1,19 @@ import { HdNav } from '@itcast/basic'; -import { promptAction } from '@kit.ArkUI' +import { hdHttp, HdResponse,BasicConstant,ExpertData, authStore } from '@itcast/basic' +import { BusinessError } from '@kit.BasicServicesKit'; +import { router } from '@kit.ArkUI' +import promptAction from '@ohos.promptAction'; + +interface updateExtraData { + expertUuid: string, + content:string +} + +interface callBackData { + code: number, + message:string, + data: Array +} @Entry @Component @@ -13,6 +27,47 @@ struct CancelAccount { ' 收到您的注销申请后,我们将在10个工作日内帮您完成注销及数据清除工作' controller:TextAreaController = new TextAreaController(); + uploadCancleAccountAction() { + hdHttp.post(BasicConstant.urlExpert + 'patientList', { + expertUuid: authStore.getUser().uuid + } as updateExtraData).then(async (res: HdResponse) => { + let json: callBackData = JSON.parse(res + '') as callBackData; + console.log('注销账户数据:', json); + if (json.data.length > 0) { + promptAction.showDialog({ + title: '温馨提示', + message: '请您解除所有随访患者后再提交注销申请', + buttons: [{ text: '取消', color: '#000000' }, { text: '确定', color: '#000000' }] + }) + } else { + this.uploadFeedBackAction(); + } + }).catch((err: BusinessError) => { + console.info(`Response fail: ${err}`); + }) + } + + uploadFeedBackAction() { + hdHttp.post(BasicConstant.urlExpert + 'feedBack', { + expertUuid: authStore.getUser().uuid, + content: '注销此账户', + } as updateExtraData).then(async (res: HdResponse) => { + let json: callBackData = JSON.parse(res + '') as callBackData; + console.log('提交注销账户数据:', json); + if (json.code == 1) { + promptAction.showDialog({ + title: '温馨提示', + message: '提交成功!', + buttons: [{ text: '取消', color: '#000000' }, { text: '确定', color: '#000000' }] + }) + } else { + promptAction.showToast({ message: json.message }); + } + }).catch((err: BusinessError) => { + console.info(`Response fail: ${err}`); + }) + } + build() { Column() { HdNav({ title: '注销账户', showRightIcon: false, hasBorder: true }) @@ -73,7 +128,9 @@ struct CancelAccount { ] }) .then(data=>{ - console.info('showDialog success, click button: '+data.index) + if (data.index === 1) { + this.uploadCancleAccountAction(); + } }) .catch((error:Error)=>{ console.info('showDialog error:'+error) diff --git a/products/expert/src/main/ets/pages/MinePage/ChangePhonePage.ets b/products/expert/src/main/ets/pages/MinePage/ChangePhonePage.ets index e80db37..ec6d322 100644 --- a/products/expert/src/main/ets/pages/MinePage/ChangePhonePage.ets +++ b/products/expert/src/main/ets/pages/MinePage/ChangePhonePage.ets @@ -6,7 +6,7 @@ import { HdNav } from '@itcast/basic'; struct ChangePhonePage { build() { Column(){ - HdNav({ title: '更换手机号', showRightIcon: false, hasBorder: true }) + HdNav({ title: '修改手机号', showRightIcon: false, hasBorder: true }) ChangePhoneComp(); } } diff --git a/products/expert/src/main/ets/pages/MinePage/EditIntroductionPage.ets b/products/expert/src/main/ets/pages/MinePage/EditIntroductionPage.ets index 7821123..5a319bf 100644 --- a/products/expert/src/main/ets/pages/MinePage/EditIntroductionPage.ets +++ b/products/expert/src/main/ets/pages/MinePage/EditIntroductionPage.ets @@ -1,13 +1,54 @@ +import { hdHttp, HdResponse,BasicConstant,ExpertData, authStore } from '@itcast/basic' +import { BusinessError } from '@kit.BasicServicesKit'; +import { router } from '@kit.ArkUI' import promptAction from '@ohos.promptAction'; -import { authStore } from '@itcast/basic'; import { HdNav } from '@itcast/basic'; +interface updateExtraData { + uuid: string, + userName: string, + type: string, + intro: string, +} + +interface callBackData { + expert:ExpertData, + code:number, + message:string, + specialy:[], + data:ExpertData, + special:[] +} + @Entry @Component struct EditIntroductionPage { controller : TextAreaController = new TextAreaController() @State inputValue: string = authStore.getUser().intro; + commitIntroductionData(inputStr:string){ + const updateDataUrl:string = BasicConstant.urlExpert + 'modify'; + hdHttp.post(updateDataUrl, { + uuid: authStore.getUser().uuid, + userName: authStore.getUser().userName, + intro: inputStr, + type:'2' + } as updateExtraData).then(async (res: HdResponse) => { + let json:callBackData = JSON.parse(res+'') as callBackData; + if(json.code == 1 && json.data && typeof json.data === 'object') { + authStore.updateUser(json.data) + console.log('更新用户个人简介成功:', authStore.getUser().email); + promptAction.showToast({message:'修改成功', duration: 1000}) + router.back(); + } else { + console.error('更新用户个人简介失败:'+json.message) + promptAction.showToast({ message: json.message, duration: 1000 }) + } + }).catch((err: BusinessError) => { + console.info(`更新用户个人简介请求失败: ${err}`); + }) + } + build() { Column() { HdNav({ title: '修改个人简介', showRightIcon: false, hasBorder: true }) @@ -54,12 +95,15 @@ struct EditIntroductionPage { .position({x:'5%',y:'80%'}) .onClick(() => { // 处理登录逻辑 - if (this.inputValue.length > 0) { - promptAction.showToast({message:'请输入简介'}) - return + if (this.inputValue.length <= 0 || !this.inputValue) { + promptAction.showToast({message:'请填写您的个人简介'}); + return; } - - // 执行登录操作... + if (this.inputValue.length > 500) { + promptAction.showToast({message:'内容不能超过500字'}); + return; + } + this.commitIntroductionData(this.inputValue); }) } .width('100%') diff --git a/products/expert/src/main/ets/pages/MinePage/FeedbackPage.ets b/products/expert/src/main/ets/pages/MinePage/FeedbackPage.ets index 977cf4f..d826dcc 100644 --- a/products/expert/src/main/ets/pages/MinePage/FeedbackPage.ets +++ b/products/expert/src/main/ets/pages/MinePage/FeedbackPage.ets @@ -1,4 +1,20 @@ +import { hdHttp, HdResponse, BasicConstant, ExpertData, authStore } from '@itcast/basic' +import { BusinessError } from '@kit.BasicServicesKit'; +import promptAction from '@ohos.promptAction'; import { HdNav } from '@itcast/basic'; +import { router } from '@kit.ArkUI'; + +interface updateExtraData { + content: string, + expertUuid: string +} + +interface callBackData { + code: number, + message:string, + msg:string, + data: string +} @Entry @Component @@ -6,15 +22,35 @@ struct FeedbackPage { @State feedbackText: string = '' controller:TextAreaController = new TextAreaController(); + uploadChangePasswordAction() { + hdHttp.post(BasicConstant.urlExpert + 'feedBack', { + expertUuid: authStore.getUser().uuid, + content: this.feedbackText, + } as updateExtraData).then(async (res: HdResponse) => { + let json: callBackData = JSON.parse(res + '') as callBackData; + console.log('意见反馈数据:', json); + if (json.code == 1) { + promptAction.showToast({ message: '信息已提交,谢谢!' }); + router.back(); + } else { + promptAction.showToast({ message: json.message }); + } + }).catch((err: BusinessError) => { + console.info(`Response fail: ${err}`); + }) + } + build() { Column() { HdNav({ title: '意见反馈', showRightIcon: false, hasBorder: true }) // 输入框区域 TextArea({ - text:this.feedbackText, placeholder:'欢迎对我们的软件提供建议,帮助我们更快更好地改进"肝胆相照"APP(200字以内)', controller:this.controller }) + .onChange((value: string) => { + this.feedbackText = value + }) .placeholderFont({size:16}) .placeholderColor('#999999') .width('95%') @@ -43,14 +79,20 @@ struct FeedbackPage { width:1, color:'#8B2316' }) - .onClick(() => this.submitFeedback()) + .onClick(() => { + if (this.feedbackText.length <= 0 || !this.feedbackText) { + promptAction.showToast({message:'请输入您的建议'}) + return + } + if (this.feedbackText.length > 200) { + promptAction.showToast({message:'内容不能大于200字'}) + return + } + this.uploadChangePasswordAction(); + }) } .width('100%') .height('100%') .backgroundColor(Color.White) } - // 提交反馈处理 - private submitFeedback(): void { - // 提交逻辑实现 - } } \ No newline at end of file