import { BasicType, copyText, IBestToast, userInfo, UserInfo, YTAvoid, YTLog, yTRouter } from 'basic' import { common, Want } from '@kit.AbilityKit' import { BusinessError } from '@kit.BasicServicesKit' import { BUNDLE_NAME } from 'BuildProfile' @Component export struct Mine { @StorageProp(YTAvoid.SAFE_TOP_KEY) safeTop: number = 0 @StorageProp(UserInfo.KEY) userInfo: UserInfo = userInfo setArr: Array> = [ { text: '意见反馈', click: () => { if (this.userInfo.checkLogin()) { yTRouter.router2SuggestionPage() } else { yTRouter.router2LoginPage() } }, src: $r('app.media.right_arrow') }, { text: '给个好评', click: () => { const want: Want = { uri: "store://appgallery.huawei.com/app/detail?id=" + BUNDLE_NAME }; const context = this.getUIContext().getHostContext() as common.UIAbilityContext; context.startAbility(want).then(() => { //拉起成功 YTLog.info('跳转成功') }).catch((err: BusinessError) => { // 拉起失败 YTLog.error(err) IBestToast.show('出现未知错误,请稍后再试') }); }, src: $r('app.media.right_arrow') }, { text: '关于我们', click: () => { yTRouter.router2AboutUS() }, src: $r('app.media.right_arrow') } ] aboutToAppear(): void { } build() { Column() { Row() { Row() { Image(this.userInfo.getHeadImg() ?? $r('app.media.app_icon')) .aspectRatio(1) .height(40) .borderRadius(20) .margin({ right: 9 }) Column({ space: 7 }) { Text(this.userInfo.getName() ?? this.userInfo.getPhoneNumber() ?? this.userInfo.getId()?.toString() ?? '未登录') .fontSize($r('[basic].float.page_text_font_size_16')) .fontColor('Color.Black') Text() { Span('ID:' + (this.userInfo.getId()?.toString().padStart(8, '0') ?? '00000000')) ImageSpan($r('app.media.copy')) .width(7) .height(8) .margin({ left: 4 }) .onClick(() => { copyText((this.userInfo.getId()?.toString().padStart(8, '0') ?? '00000000')) }) .offset({ bottom: 4 }) } .fontColor('#80000000') .fontSize($r('[basic].float.page_text_font_size_10')) } .alignItems(HorizontalAlign.Start) } .onClick(() => { if (this.userInfo.checkLogin()) { yTRouter.router2SettingPage() return } yTRouter.router2LoginPage() }) } .width('100%') .margin({ bottom: 30 }) // ShowBannerAd() Column() { List() { ForEach(this.setArr, (item: BasicType, index) => { ListItem() { Row() { Text(item.text) .fontColor('#80000000') .fontSize(12) if (!index) { Row() { Text(this.userInfo.getAiNum()?.toString() ?? '') .fontWeight(600) .fontSize($r('[basic].float.page_text_font_size_14')) Image($r('app.media.right_arrow')) .width(24) .aspectRatio(1) } } else { Image($r('app.media.right_arrow')) .width(24) .aspectRatio(1) } } .width('100%') .height(36) .justifyContent(FlexAlign.SpaceBetween) .onClick(() => { item.click?.() }) } }) } .padding({ left: 12, right: 4 }) .divider({ strokeWidth: 1, color: '#0A000000', endMargin: 8 }) .margin({ top: 30 }) .width('100%') .height('100%') } .layoutWeight(1) .width('100%') } .padding({ top: this.safeTop + 22, left: 16, right: 16 }) .height('100%') } }