From 7f2343d38fa048f6ce179ea0ab2c1a04f41a213c Mon Sep 17 00:00:00 2001 From: wwf <1971391498@qq.com> Date: 星期四, 09 十月 2025 18:05:11 +0800 Subject: [PATCH] 功能完善 --- entry/src/main/resources/base/media/message_note.png | 0 entry/src/main/resources/base/media/classification_detail_cloudservice.png | 0 entry/src/main/resources/base/media/classification_detail_safety.png | 0 entry/src/main/resources/base/media/account_vitae.png | 0 entry/src/main/ets/pages/MainPage.ets | 2 entry/src/main/resources/base/media/classification_detail_AI.png | 0 entry/src/main/resources/base/media/message_circle.png | 0 entry/src/main/ets/pages/account/CourseCollection.ets | 126 ++++++ entry/src/main/resources/base/media/message_pencil.png | 0 entry/src/main/ets/pages/account/AboutPage.ets | 112 +++++ entry/src/main/resources/base/profile/main_pages.json | 7 entry/src/main/ets/pages/account/UserInfoPage.ets | 115 +++++ entry/src/main/ets/pages/home/Home.ets | 233 ++++++++--- entry/src/main/ets/pages/account/AccountPage.ets | 106 +++++ entry/src/main/ets/pages/account/SettingPage.ets | 70 +++ entry/src/main/resources/base/media/classification_detail_cloudcalc.png | 0 entry/src/main/ets/pages/home/ClassificationDetail.ets | 63 ++- entry/src/main/ets/pages/account/LearningRecordPage.ets | 98 ++++ entry/src/main/resources/base/media/message_gift.png | 0 entry/src/main/resources/base/media/classification_detail_link.png | 0 entry/src/main/ets/pages/account/MessagePushPage.ets | 98 ++++ entry/src/main/resources/base/media/classification_detail_roc.png | 0 entry/src/main/ets/pages/account/PersonVitae.ets | 25 + entry/src/main/resources/base/media/classification_detail_bigdata.png | 0 entry/src/main/resources/base/media/classification_detail_storage.png | 0 entry/src/main/ets/pages/home/BannerDetail.ets | 83 ++- entry/src/main/resources/base/media/person_vitae.png | 0 oh-package-lock.json5 | 37 + oh-package.json5 | 8 entry/src/main/ets/pages/login/LoginPage.ets | 5 entry/src/main/resources/base/media/classification_detail_shutong.png | 0 31 files changed, 1,061 insertions(+), 127 deletions(-) diff --git a/entry/src/main/ets/pages/MainPage.ets b/entry/src/main/ets/pages/MainPage.ets index 1e8946a..4d99409 100644 --- a/entry/src/main/ets/pages/MainPage.ets +++ b/entry/src/main/ets/pages/MainPage.ets @@ -20,7 +20,7 @@ { icon: 'tabs_message_icon', title: '娑堟伅' }, { icon: 'tabs_account_icon', title: '鎴戠殑' } ] - @State selectIndex: number = 3 + @State selectIndex: number = 0 private tabController: TabsController = new TabsController() @Builder tabItem(icon: ResourceStr,title: string,index: number){ diff --git a/entry/src/main/ets/pages/account/AboutPage.ets b/entry/src/main/ets/pages/account/AboutPage.ets new file mode 100644 index 0000000..8634909 --- /dev/null +++ b/entry/src/main/ets/pages/account/AboutPage.ets @@ -0,0 +1,112 @@ + +@Entry +@Component +export struct AboutPage { + build() { + Column() { + Row() { + Image($r('app.media.left_icon')) + .width(20) + .height(20) + Text('鍏充簬') + .fontSize(18) + .fontWeight(700) + + Row() + } + .width('100%') + .padding(10) + .justifyContent(FlexAlign.SpaceBetween) + + Divider() + + Column() { + Column({ space: 10 }) { + Image($r('app.media.logo')) + .width(60) + .height(60) + Text('瀛﹁仒鍚岃') + .fontSize(14) + .fontWeight(500) + .fontColor(Color.Black) + Text('褰撳墠鐗堟湰 V2.1.2') + .fontSize(14) + .fontWeight(500) + .fontColor('#999999') + } + .width('100%') + .height('30%') + .padding({ top: 50 }) + + Column() { + Divider() + .margin({ bottom: 6 }) + List({ space: 10, initialIndex: 0 }){ + ListItem() { + Row() { + Text('妫�娴嬫洿鏂�') + .fontSize(14) + .fontWeight(500) + .layoutWeight(1) + Image($r('app.media.chevron_right')) + .width(12) + .height(12) + } + .width('100%') + .padding(8) + } + ListItem() { + Row() { + Text('鍘昏瘎鍒�') + .fontSize(14) + .fontWeight(500) + .layoutWeight(1) + Image($r('app.media.chevron_right')) + .width(12) + .height(12) + } + .width('100%') + .padding(8) + } + ListItem() { + Row() { + Text('鐢ㄦ埛鍗忚') + .fontSize(14) + .fontWeight(500) + .layoutWeight(1) + Image($r('app.media.chevron_right')) + .width(12) + .height(12) + } + .width('100%') + .padding(8) + } + ListItem() { + Row() { + Text('闅愮鏀跨瓥') + .fontSize(14) + .fontWeight(500) + .layoutWeight(1) + 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) + } + .padding({ top: 10 }) + .width('100%') + .height('100%') + } + } +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/account/AccountPage.ets b/entry/src/main/ets/pages/account/AccountPage.ets index dc6e525..556bb32 100644 --- a/entry/src/main/ets/pages/account/AccountPage.ets +++ b/entry/src/main/ets/pages/account/AccountPage.ets @@ -1,6 +1,73 @@ +import { ComponentContent, router } from "@kit.ArkUI" +import { PromptActionClass } from '../../utils/PromptActionClass'; + class accountListItem { title: string = '' icon: string | Resource = '' +} +class DialogParams { + text: string = ""; + + constructor(text: string) { + this.text = text; + } +} +@Builder +function buildText(params: DialogParams) { + Column({ space: 12 }) { + Text('宸叉矡閫�') + .width('100%') + .fontSize(18) + .fontWeight(700) + .textAlign(TextAlign.Center) + Text('4') + .fontSize(26) + .fontWeight(700) + .fontColor('#1761f4') + .width('100%') + .textAlign(TextAlign.Center) + Text('绱娌熼�氬矖浣嶆暟') + .fontSize(14) + .fontColor('#666666') + Text('鎮ㄦ槸鑱屽満涓殑涓祦鐮ユ煴') + .width('100%') + .textAlign(TextAlign.Center) + .padding(16) + .fontSize(14) + .fontColor(Color.Black) + .fontWeight(500) + .backgroundColor('#f6f7fa') + } + .width(300) + .padding(20) + .borderRadius(14) + .backgroundColor(Color.White) +} + +@Builder +function buildText1(params: DialogParams) { + Column({ space: 12 }) { + Text('甯姪涓績') + .width('100%') + .fontSize(18) + .fontWeight(700) + .fontColor(Color.Black) + .textAlign(TextAlign.Center) + Text('400-100-1212') + .fontSize(26) + .fontWeight(700) + .fontColor(Color.Black) + .width('100%') + .textAlign(TextAlign.Center) + Button('鎷ㄦ墦鐢佃瘽') + .width('100%') + .type(ButtonType.Normal) + .borderRadius(8) + } + .width(300) + .padding(20) + .borderRadius(14) + .backgroundColor(Color.White) } @Entry @@ -12,6 +79,17 @@ { title: '甯姪涓績', icon: $r('app.media.account_help') }, { title: '鍏充簬鎴戜滑', icon: $r('app.media.account_info') }, ] + @State dialogMessage: string = '娉ㄥ唽鎴愬姛'; + private ctx: UIContext = this.getUIContext(); + private contentNode: ComponentContent<Object> = + new ComponentContent(this.ctx, wrapBuilder(buildText), new DialogParams((this.dialogMessage))); + params: DialogParams = new DialogParams('娉ㄥ唽鎴愬姛') + + aboutToAppear(): void { + PromptActionClass.setContext(this.ctx); + PromptActionClass.setContentNode(this.contentNode); + PromptActionClass.setOptions({ alignment: DialogAlignment.Center, offset: { dx: 0, dy: 0 } }); + } build() { Column() { Text('涓汉涓績') @@ -50,6 +128,11 @@ .height(18) } .width('100%') + .onClick(() =>{ + router.pushUrl({ + url: '' + }) + }) Column({ space: 16 }) { Row() { @@ -132,7 +215,7 @@ .fontColor(Color.Black) } Column({ space: 6 }) { - Image($r('app.media.account_jianli')) + Image($r('app.media.account_vitae')) .width(40) .height(40) Text('涓汉绠�鍘�') @@ -149,6 +232,12 @@ .fontWeight(500) .fontColor(Color.Black) } + .onClick(() => { + console.log('鐐瑰嚮') + this.contentNode = new ComponentContent(this.ctx, wrapBuilder(buildText), new DialogParams((this.dialogMessage))); + PromptActionClass.setContentNode(this.contentNode); + PromptActionClass.openDialog() + }) } .width('100%') .backgroundColor(Color.White) @@ -176,6 +265,21 @@ } .width('100%') .padding(8) + .onClick(() => { + if (item.title == '闅愮璁剧疆') { + router.pushUrl({ + url: '' + }) + } else if (item.title == '娑堟伅閫氱煡') { + + } 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 == '鍏充簬鎴戜滑') { + + } + }) } }) } diff --git a/entry/src/main/ets/pages/account/CourseCollection.ets b/entry/src/main/ets/pages/account/CourseCollection.ets new file mode 100644 index 0000000..39afb2f --- /dev/null +++ b/entry/src/main/ets/pages/account/CourseCollection.ets @@ -0,0 +1,126 @@ + +class Course { + title: string = '' + desc: string = '' + count: string = '' + time: string = '' + difficult: string = '' +} +@Entry +@Component +export struct CourseCollection { + @State courseList: Course[] = [ + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: 'Java楂樼骇锛欽VM娣卞害璋冧紭涓嶫VM娣卞害璋冧紭', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + + ] + build() { + Column() { + Row() { + Image($r('app.media.left_icon')) + .width(20) + .height(20) + Text('璇剧▼鏀惰棌') + .fontSize(18) + .fontWeight(700) + Row() + } + .width('100%') + .padding(10) + .justifyContent(FlexAlign.SpaceBetween) + + Divider() + + Column() { + List({ space: 10, initialIndex: 0 }) { + ForEach(this.courseList, (item: Course, index: number) => { + ListItem() { + Row({ space: 10 }) { + Column() { + Text(item.title) + .fontSize(14) + .fontWeight(800) + .maxLines(1) + .textOverflow({ overflow: TextOverflow.Ellipsis }) + Text(item.desc) + .fontSize(12) + .fontColor('#666666') + .maxLines(2) + .textOverflow({ overflow: TextOverflow.Ellipsis }) + Row() { + Row({ space: 2 }) { + Image($r('app.media.person_icon')) + .width(10) + .height(10) + Text(item.count) + .fontSize(10) + .fontColor('#666666') + } + Row({ space: 2 }) { + Image($r('app.media.video_icon')) + .width(10) + .height(10) + Text(item.time) + .fontSize(10) + .fontColor('#666666') + } + Text() { + Span('璇剧▼闅惧害: ') + Span(item.difficult) + } + .fontSize(10) + .fontColor('#666666') + } + .width('100%') + .justifyContent(FlexAlign.SpaceBetween) + } + .layoutWeight(0) + .width(170) + .height('100%') + .justifyContent(FlexAlign.SpaceBetween) + .alignItems(HorizontalAlign.Start) + Image($r('app.media.active_list_img')) + .aspectRatio(16/9) + .height('100%') + .layoutWeight(1) + } + .width('100%') + .height(100) + .padding(10) + .justifyContent(FlexAlign.SpaceBetween) + .border({ width: 1, style: BorderStyle.Solid, color: '#f2f2f2' }) + .borderRadius(10) + } + }, (index: number) => index.toString()) + } + .listDirection(Axis.Vertical) // 鎺掑垪鏂瑰悜 + .scrollBar(BarState.Off) + .friction(0.6) + .edgeEffect(EdgeEffect.Spring) + .width('100%') + .height('100%') + + } + .padding(16) + + + + } + .width('100%') + .height('100%') + } +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/account/LearningRecordPage.ets b/entry/src/main/ets/pages/account/LearningRecordPage.ets new file mode 100644 index 0000000..ed49d4c --- /dev/null +++ b/entry/src/main/ets/pages/account/LearningRecordPage.ets @@ -0,0 +1,98 @@ +import { McLineChart, Options } from '@mcui/mccharts' + +@Entry +@Component +export struct LearningRecordPage { + @State maxData: number[] = [0, 0, 0, 5, 0, 5, 0] + // 鍒濆鍖栨暟鎹� + @State seriesOption: Options = new Options({ + xAxis:{ + data:['09-01','09-02','09-03','09-04','09-05','09-06','09-07'] + }, + yAxis:{ + name:'鍒嗛挓' + }, + series:[ + { + name:'瀛︿範鏃堕暱', + data: this.maxData + } + ] + }) + + build() { + Column() { + Row() { + Image($r('app.media.left_icon')) + .width(20) + .height(20) + Text('瀛︿範璁板綍') + .fontSize(18) + .fontWeight(700) + Row() + } + .width('100%') + .padding(10) + .justifyContent(FlexAlign.SpaceBetween) + + Divider() + + Column({ space: 20 }) { + Row() { + Column({ space: 12 }) { + Text('鎬诲涔犳椂闀�') + .fontColor('#666666') + .fontSize(14) + Text() { + Span('10') + .fontSize(20) + .fontWeight(700) + .fontColor('#1761f4') + Span(' 鍒嗛挓') + .fontSize(12) + } + } + Column({ space: 12 }) { + Text('浠婃棩瀛︿範鏃堕暱') + .fontColor('#666666') + .fontSize(14) + Text() { + Span('0') + .fontSize(20) + .fontWeight(700) + .fontColor('#1761f4') + Span(' 鍒嗛挓') + .fontSize(12) + } + } + } + .width('100%') + .justifyContent(FlexAlign.SpaceEvenly) + .padding(20) + .borderRadius(10) + .shadow({ radius: 10, color: '#dcdcdc' }) + + Text('杩戜竴鍛ㄥ涔犳椂闀跨粺璁�') + .fontSize(14) + .fontColor(Color.Black) + .fontWeight(500) + .width('100%') + + Column(){ + McLineChart({ + options: this.seriesOption + }) + } + .width('100%') + .height(200) + + } + .padding(16) + + + + } + .width('100%') + .height('100%') + } +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/account/MessagePushPage.ets b/entry/src/main/ets/pages/account/MessagePushPage.ets new file mode 100644 index 0000000..d88e397 --- /dev/null +++ b/entry/src/main/ets/pages/account/MessagePushPage.ets @@ -0,0 +1,98 @@ + +class MessageItem { + icon: string | Resource = '' + title: string = '' + desc: string = '' + time: string = '' + isRead: boolean = false +} + +@Entry +@Component +export struct MessagePushPage { + @State messagePushFlag: boolean = false + @State autoUpdateFlag: boolean = false + @State messageList: MessageItem[] = [ + { icon: $r('app.media.message_note'), title: '璇剧▼鎻愰啋', desc: '鎮ㄦ姤鍚嶇殑銆婂叏鏍堝紑鍙戯細鍓嶅悗绔墦閫氬疄鎴樸��', time: '09-01 12:55', isRead: false }, + { icon: $r('app.media.message_gift'), title: '绂忚娲鹃�佸畼', desc: '鎮ㄨ幏寰椾簡涓�寮犱环鍊�100鍏冪殑璇剧▼鎶垫墸鍒革紝鎮ㄥ彲浠ヤ粠', time: '09-01 10:55', isRead: true }, + { icon: $r('app.media.message_pencil'), title: '瀹樻柟閫氱煡', desc: '鏈钩鍙板皢浜�09-01 00 瀵瑰钩鍙拌繘琛岀淮鎶わ紝璇峰悇浣嶇敤鎴�', time: '08-31 10:55', isRead: true } + ] + build() { + Column() { + Row() { + Image($r('app.media.left_icon')) + .width(20) + .height(20) + Text('娑堟伅閫氱煡') + .fontSize(18) + .fontWeight(700) + Row() + } + .width('100%') + .padding(10) + .justifyContent(FlexAlign.SpaceBetween) + + Divider() + + Column() { + List({ space: 10, initialIndex: 0 }){ + ForEach(this.messageList, (item: MessageItem) => { + ListItem() { + Row() { + Image(item.icon) + .width(40) + .height(40) + Column({ space: 10 }) { + Row() { + Text(item.title) + .fontSize(14) + .fontWeight(500) + .fontColor(Color.Black) + Text(item.time) + .fontSize(12) + .fontWeight(500) + .margin({ left: 10 }) + .fontColor('#666666') + } + .width('100%') + + Text(item.desc) + .width('100%') + .fontSize(12) + .maxLines(1) + .fontColor('#666666') + .textOverflow({ overflow: TextOverflow.Ellipsis }) + } + .width(260) + .margin({ left: 10 }) + + if (!item.isRead) { + Image($r('app.media.message_circle')) + .width(10) + .height(10) + } + } + .width('100%') + .height(80) + .padding({ left: 16,right: 16, top: 4, bottom: 4 }) + .borderRadius(10) + .backgroundColor(Color.White) + .onClick(() => { + }) + } + }) + } + .listDirection(Axis.Vertical) // 鎺掑垪鏂瑰悜 + .scrollBar(BarState.Off) + .friction(0.6) + .edgeEffect(EdgeEffect.Spring) + .width('100%') + .divider({strokeWidth: 1,color: '#f0f0f0'}) + } + .padding({ top: 10 }) + .backgroundColor('#f5f5f7') + .width('100%') + .height('100%') + } + } +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/account/PersonVitae.ets b/entry/src/main/ets/pages/account/PersonVitae.ets new file mode 100644 index 0000000..e57b128 --- /dev/null +++ b/entry/src/main/ets/pages/account/PersonVitae.ets @@ -0,0 +1,25 @@ +@Entry +@Component +export struct CourseCollection { + build() { + Column() { + Row() { + Image($r('app.media.left_icon')) + .width(20) + .height(20) + Text('涓汉绠�鍘�') + .fontSize(18) + .fontWeight(700) + Row() + } + .width('100%') + .padding(10) + .justifyContent(FlexAlign.SpaceBetween) + + Divider() + + Image($r('app.media.person_vitae')) + .width('100%') + } + } +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/account/SettingPage.ets b/entry/src/main/ets/pages/account/SettingPage.ets new file mode 100644 index 0000000..4812ebe --- /dev/null +++ b/entry/src/main/ets/pages/account/SettingPage.ets @@ -0,0 +1,70 @@ +@Entry +@Component +export struct SettingPage { + @State messagePushFlag: boolean = false + @State autoUpdateFlag: boolean = false + build() { + Column() { + Row() { + Image($r('app.media.left_icon')) + .width(20) + .height(20) + Text('闅愮璁剧疆') + .fontSize(18) + .fontWeight(700) + Row() + } + .width('100%') + .padding(10) + .justifyContent(FlexAlign.SpaceBetween) + + Divider() + + Column() { + Row() { + Column({ space: 10 }) { + Text('鏄惁寮�鍚秷鎭帹閫�') + .fontColor(Color.Black) + .width('100%') + Text(`鎮ㄥ凡缁�${this.messagePushFlag?'寮�鍚�':'鍏抽棴'}娑堟伅鎺ㄩ�乣) + .fontSize(12) + .fontColor('#666666') + .width('100%') + } + .layoutWeight(1) + Toggle({ type: ToggleType.Switch, isOn: this.messagePushFlag }) + .selectedColor('#007DFF') + .switchPointColor('#FFFFFF') + .onChange(() => { + this.messagePushFlag = !this.messagePushFlag + }) + } + Divider().margin({ top: 20, bottom: 20 }) + .color('#ededed') + + Row() { + Column({ space: 10 }) { + Text('鏄惁寮�鍚嚜鍔ㄦ洿鏂�') + .fontColor(Color.Black) + .width('100%') + Text(`鎮ㄥ凡缁�${this.autoUpdateFlag?'寮�鍚�':'鍏抽棴'}鑷姩鏇存柊`) + .fontSize(12) + .fontColor('#666666') + .width('100%') + } + .layoutWeight(1) + Toggle({ type: ToggleType.Switch, isOn: this.autoUpdateFlag }) + .selectedColor('#007DFF') + .switchPointColor('#FFFFFF') + .onChange(() => { + this.autoUpdateFlag = !this.autoUpdateFlag + }) + } + } + .padding(16) + .width('100%') + .height('100%') + + } + } +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/account/UserInfoPage.ets b/entry/src/main/ets/pages/account/UserInfoPage.ets new file mode 100644 index 0000000..fe4f735 --- /dev/null +++ b/entry/src/main/ets/pages/account/UserInfoPage.ets @@ -0,0 +1,115 @@ +@Entry +@Component +export struct UserInfo { + @State nickName: string = '' + @State gender: string = '' + @State age: string = '' + @State preferJob: string = '' + @State job: string = '' + @State introduce: string = '' + + build() { + Column() { + Row() { + Image($r('app.media.left_icon')) + .width(20) + .height(20) + Text('涓汉淇℃伅') + .fontSize(18) + .fontWeight(700) + Row() + } + .width('100%') + .padding(10) + .justifyContent(FlexAlign.SpaceBetween) + + Divider() + + Column({ space: 14 }) { + Column() { + Text(`鏄电О`) + .fontSize(14) + .fontColor('#666666') + .width('100%') + TextInput({ placeholder: '璇疯緭鍏�', text: this.nickName }) + .placeholderFont({ size: 14 }) + .showUnderline(true) + .margin({ top: -6 }) + } + + Column() { + Text(`鎬у埆`) + .fontSize(14) + .fontColor('#666666') + .width('100%') + TextInput({ placeholder: '璇疯緭鍏�', text: this.gender }) + .placeholderFont({ size: 14 }) + .showUnderline(true) + .margin({ top: -6 }) + } + + Column() { + Text(`骞撮緞`) + .fontSize(14) + .fontColor('#666666') + .width('100%') + TextInput({ placeholder: '璇疯緭鍏�', text: this.age }) + .placeholderFont({ size: 14 }) + .showUnderline(true) + .margin({ top: -6 }) + } + + Column() { + Text(`鑱屼笟`) + .fontSize(14) + .fontColor('#666666') + .width('100%') + TextInput({ placeholder: '璇疯緭鍏�', text: this.job }) + .placeholderFont({ size: 14 }) + .showUnderline(true) + .margin({ top: -6 }) + } + + Column() { + Text(`蹇冧华鑱屼笟`) + .fontSize(14) + .fontColor('#666666') + .width('100%') + TextInput({ placeholder: '璇疯緭鍏�', text: this.preferJob }) + .placeholderFont({ size: 14 }) + .showUnderline(true) + .margin({ top: -6 }) + } + + Column() { + Text(`涓汉绠�浠媊) + .fontColor('#666666') + .fontSize(14) + .width('100%') + TextArea({ placeholder: '浠嬬粛涓�涓嬩綘鑷繁鍚', text: this.job }) + .placeholderFont({ size: 14 }) + .backgroundColor('#fff') + .border({ width: 1, color: '#666666' }) + .borderRadius(5) + .minLines(10) + .maxLength(200) + .showCounter(true) + .margin({ top: 10 }) + } + + Button('淇濆瓨') + .fontSize(14) + .height(36) + .type(ButtonType.Normal) + .borderRadius(6) + .width('100%') + .fontColor(Color.White) + .backgroundColor('#1761f4') + + } + .height('100%') + .width('100%') + .padding(16) + } + } +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/home/BannerDetail.ets b/entry/src/main/ets/pages/home/BannerDetail.ets index 8b2a858..832260e 100644 --- a/entry/src/main/ets/pages/home/BannerDetail.ets +++ b/entry/src/main/ets/pages/home/BannerDetail.ets @@ -1,17 +1,61 @@ -import { router } from "@kit.ArkUI"; +import { promptAction, router } from "@kit.ArkUI"; +import { http } from "@kit.NetworkKit"; +import { HttpResponseResult } from "../../data/HttpResponse"; +import { LvMarkdownIn } from "@luvi/lv-markdown-in" + +class BannerInfo { + pic: string = '' + content: string = '' +} @Entry @Component -export struct BannerDetail { - @State index: number = 0; +struct BannerDetail { + @State bannerId: string = ''; + @State bannerInfo: BannerInfo = { + pic: '', + content: '' + } aboutToAppear(): void { interface Params { - index: number + bannerId: string } const params: Params = router.getParams() as Params if (params) { - this.index = params.index + this.bannerId = params.bannerId + console.log('bannerId', this.bannerId) + this.getDetail() } + + } + + getDetail() { + interface PostData { + bannerId: string, + } + let postData: PostData = { + bannerId: this.bannerId + } + let httpRequest = http.createHttp(); + httpRequest.request( + `http://192.168.20.70:8080/quiz-community/public/v1.0/home/slideshows/details?bannerId=${this.bannerId}`, + { + method: http.RequestMethod.GET, + header: { 'Content-Type': 'application/json', 'x-jwt-token': `Bearer ${AppStorage.get('x-jwt-token')}` }, + }, + (err, data) => { + console.log('response', '/home/slideshows/details') + console.log(JSON.stringify(data.result)) + if (data.responseCode == 200) { + const resData = (typeof data.result == 'string' ? JSON.parse(data.result) : data.result) as HttpResponseResult<BannerInfo> + if (resData.code == 200) { + this.bannerInfo = resData.data as BannerInfo + } else { + promptAction.showToast({ message: resData.msg }) + } + } + } + ) } build() { @@ -20,6 +64,9 @@ Image($r('app.media.left_icon')) .width(20) .height(20) + .onClick(() => { + router.back() + }) Text('璇︽儏椤�') .fontSize(18) .fontWeight(700) @@ -29,31 +76,13 @@ .padding(10) .justifyContent(FlexAlign.SpaceBetween) - Image($r('app.media.image1')) + Image(this.bannerInfo.pic) .width('100%') .height(150) - Column({ space: 10 }) { - Text('鍗庝负[1+X]銆婄綉缁滅郴缁熷缓璁句笌杩愮淮銆�') - .fontWeight(800) - .width('100%') - - Text('璇剧▼浠嬬粛') - .width('100%') - .fontSize(14) - .fontWeight(800) - .margin({ top: 10 }) - - Text('鏈绋嬫槸璁$畻鏈虹綉缁滄妧鏈�侀�氫俊鎶�鏈瓑涓撲笟鐨勪笓涓氭牳蹇冭绋嬶紝鏃ㄥ湪鍩瑰吇瀛︾敓鐨勭綉缁滄妧鏈亴涓氳兘鍔涖�佽亴涓氱礌鍏诲拰鍒涙柊鑳藉姏銆�' + - '\n閲囩敤椤圭洰寮忓疄璁暀瀛︼紝閫氳繃寮曞叆涓�涓惊搴忔笎杩涚殑浼佷笟缃戠粶缁勫缓妗堜緥锛岃瀛︾敓鍦ㄦā鎷熺湡瀹炲満鏅腑鎺屾彙涓皬鍨嬩紒涓氱綉缁滅粍寤虹殑鐭ヨ瘑鍜岃兘鍔�' + - '鏁欐潗鍐呭瑕嗙洊鍗庝负鈥�1+X鈥濊瘉涔﹁�冭瘯瑕佹眰锛屽寘鍚ぇ閲忓疄鎿嶇粌涔犮��') - .width('100%') - .fontSize(13) - .lineHeight(20) - } - .padding(14) - - + LvMarkdownIn({ text: this.bannerInfo.content.toString() }) + .width('100%') + .height(560) } .width('100%') diff --git a/entry/src/main/ets/pages/home/ClassificationDetail.ets b/entry/src/main/ets/pages/home/ClassificationDetail.ets index 411f606..8bed77c 100644 --- a/entry/src/main/ets/pages/home/ClassificationDetail.ets +++ b/entry/src/main/ets/pages/home/ClassificationDetail.ets @@ -1,15 +1,43 @@ -import { router } from "@kit.ArkUI" +import { promptAction, router } from "@kit.ArkUI" +import { http } from "@kit.NetworkKit" +import { LvMarkdownIn } from "@luvi/lv-markdown-in" +import { HttpResponseResult } from "../../data/HttpResponse" @Entry @Component export struct ClassificationDetail { - @State title: string = '' + @State moduleName: string = '' + @State content: string = '' aboutToAppear(): void { interface Params { - title: string + moduleName: string } const params = router.getParams() as Params - this.title = params.title + this.moduleName = params.moduleName + this.getDetail() + } + + getDetail() { + let httpRequest = http.createHttp(); + httpRequest.request( + `http://192.168.20.70:8080/quiz-community/public/v1.0/home/module/details?moduleName=${this.moduleName}`, + { + method: http.RequestMethod.GET, + header: { 'Content-Type': 'application/json', 'x-jwt-token': `Bearer ${AppStorage.get('x-jwt-token')}` }, + }, + (err, data) => { + console.log('response', '/home/module/details') + console.log(JSON.stringify(data.result)) + if (data.responseCode == 200) { + const resData = (typeof data.result == 'string' ? JSON.parse(data.result) : data.result) as HttpResponseResult<string> + if (resData.code == 200) { + this.content = resData.data || '' + } else { + promptAction.showToast({ message: resData.msg }) + } + } + } + ) } build() { @@ -18,6 +46,9 @@ Image($r('app.media.left_icon')) .width(20) .height(20) + .onClick(() => { + router.back() + }) Text('璇︽儏椤�') .fontSize(18) .fontWeight(700) @@ -27,26 +58,14 @@ .padding(10) .justifyContent(FlexAlign.SpaceBetween) - Image($r('app.media.image1')) - .width('100%') - .height(180) - - Column({ space: 10 }) { - - Text('璇︽儏浠嬬粛') + if (this.moduleName) { + Image($r(`app.media.classification_detail_${this.moduleName}`)) .width('100%') - .fontSize(14) - .fontWeight(800) - .margin({ top: 10 }) - - Text('鏈绋嬫槸璁$畻鏈虹綉缁滄妧鏈�侀�氫俊鎶�鏈瓑涓撲笟鐨勪笓涓氭牳蹇冭绋嬶紝鏃ㄥ湪鍩瑰吇瀛︾敓鐨勭綉缁滄妧鏈亴涓氳兘鍔涖�佽亴涓氱礌鍏诲拰鍒涙柊鑳藉姏銆�' + - '\n閲囩敤椤圭洰寮忓疄璁暀瀛︼紝閫氳繃寮曞叆涓�涓惊搴忔笎杩涚殑浼佷笟缃戠粶缁勫缓妗堜緥锛岃瀛︾敓鍦ㄦā鎷熺湡瀹炲満鏅腑鎺屾彙涓皬鍨嬩紒涓氱綉缁滅粍寤虹殑鐭ヨ瘑鍜岃兘鍔�' + - '鏁欐潗鍐呭瑕嗙洊鍗庝负鈥�1+X鈥濊瘉涔﹁�冭瘯瑕佹眰锛屽寘鍚ぇ閲忓疄鎿嶇粌涔犮��') - .width('100%') - .fontSize(13) - .lineHeight(20) + .height(180) } - .padding(14) + LvMarkdownIn({ text: this.content.toString() }) + .width('100%') + .height(560) } .width('100%') .height('100%') diff --git a/entry/src/main/ets/pages/home/Home.ets b/entry/src/main/ets/pages/home/Home.ets index 47cf6dd..e97d195 100644 --- a/entry/src/main/ets/pages/home/Home.ets +++ b/entry/src/main/ets/pages/home/Home.ets @@ -1,79 +1,83 @@ -import { router } from "@kit.ArkUI" +import { promptAction, router } from "@kit.ArkUI" +import http from '@ohos.net.http'; +import { HttpResponseResult } from "../../data/HttpResponse"; +import { JSON } from "@kit.ArkTS"; class TabBarBase { title: string = '' } +class SwiperItem { + pic: string = '' + id: string = '' + sort: number = 0 +} + class Classification { title: string = '' + value: string = '' icon: ResourceStr = '' } class Activity { - title: string = '' - timeScope: string = '' - signupCount: number = 0 - statusText: string = '' + id: string = '' + name: string = '' + pic: string = '' + startDate: string = '' + endTime: string = '' + signupCount: string = '' + status: string = '' } class Course { - title: string = '' - desc: string = '' - count: string = '' - time: string = '' - difficult: string = '' + name: string = '' + pic: string = '' + description: string = '' + playCount: number = 0 + duration: number = 0 + difficulty: number = 0 } @Entry @Component export struct Home { @State pageHeight: number = 0 - @State activeIndex:number = 1 + @State activeIndex:number = 0 @State tabList: TabBarBase[] = [ { title: '棣栭〉' }, { title: '璇剧▼' } ] private tabController: TabsController = new TabsController() - @State swiperList: ResourceStr[] = [ - $r('app.media.image1'), - $r('app.media.image1'), - $r('app.media.image1'), - ] + @State swiperList: SwiperItem[] = [] @State swiperIndex: number = 0 //TabBar鏍峰紡 @State classificationList: Classification[] = [ - { title: '鏁伴��', icon: $r('app.media.classification_shutong') }, - { title: '瀹夊叏', icon: $r('app.media.classification_safety') }, - { title: '浜戣绠�', icon: $r('app.media.classification_cloudcalc') }, - { title: '瀛樺偍', icon: $r('app.media.classification_storage') }, - { title: '椴查箯', icon: $r('app.media.classification_roc') }, - { title: 'AI', icon: $r('app.media.classification_AI') }, - { title: '杩炴帴', icon: $r('app.media.classification_link') }, - { title: '澶ф暟鎹�', icon: $r('app.media.classification_bigdata') }, - { title: '浜戞湇鍔�', icon: $r('app.media.classification_cloudservice') }, - { title: '鏇村', icon: $r('app.media.classification_more') }, + { title: '鏁伴��', value: 'shutong', icon: $r('app.media.classification_shutong') }, + { title: '瀹夊叏', value: 'safety', icon: $r('app.media.classification_safety') }, + { title: '浜戣绠�', value: 'cloudcalc', icon: $r('app.media.classification_cloudcalc') }, + { title: '瀛樺偍', value: 'storage', icon: $r('app.media.classification_storage') }, + { title: '椴查箯', value: 'roc', icon: $r('app.media.classification_roc') }, + { title: 'AI', value: 'AI', icon: $r('app.media.classification_AI') }, + { title: '杩炴帴', value: 'link', icon: $r('app.media.classification_link') }, + { title: '澶ф暟鎹�', value: 'bigdata', icon: $r('app.media.classification_bigdata') }, + { title: '浜戞湇鍔�', value: 'cloudservice', icon: $r('app.media.classification_cloudservice') }, + { title: '鏇村', value: '', icon: $r('app.media.classification_more') }, ] - @State activityList: Activity[] = [ - { title: '鍖椾含浜哄伐鏅鸿兘IE', timeScope: '20250520-20250620', signupCount: 80, statusText: '鎶ュ悕涓�' }, - { title: '鍖椾含浜哄伐鏅鸿兘IE', timeScope: '20250520-20250620', signupCount: 80, statusText: '杩涜涓�' }, - { title: '鍖椾含浜哄伐鏅鸿兘IE', timeScope: '20250520-20250620', signupCount: 80, statusText: '宸茬粨鏉�' }, - { title: '鍖椾含浜哄伐鏅鸿兘IE', timeScope: '20250520-20250620', signupCount: 80, statusText: '鎶ュ悕涓�' }, - { title: '鍖椾含浜哄伐鏅鸿兘IE', timeScope: '20250520-20250620', signupCount: 80, statusText: '宸茬粨鏉�' }, - ] + @State activityList: Activity[] = [] @State courseList: Course[] = [ - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: 'Java楂樼骇锛欽VM娣卞害璋冧紭涓嶫VM娣卞害璋冧紭', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, - { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: 'Java楂樼骇锛欽VM娣卞害璋冧紭涓嶫VM娣卞害璋冧紭', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, + // { title: '闆跺熀纭�鍒颁紒涓氱骇椤圭洰瀹炴垬', 'desc': '閽堝闆跺熀纭�灏忕櫧鎴栨兂鍗囩骇鎶�鏈爤鐨勫墠绔粠涓氳�咃紝浠庢牳蹇冭娉曞叆鎵嬶紝閫愭娣卞叆Vue3缁勪欢寮�鍙戞墦浠跺紑鍙戜欢寮�鍙�', count: '800', time: '01:30:23', difficult: '绠�鍗�' }, ] @@ -93,24 +97,110 @@ getTagFontColor(statusText: string) { switch (statusText) { - case '鎶ュ悕涓�': + case 'signup': return '#10920e' - case '杩涜涓�': + case 'training': return '#ffa100' default : return '#666666' } } - getTagBgColor(statusText: string) { - switch (statusText) { - case '鎶ュ悕涓�': + getTagBgColor(status: string) { + switch (status) { + case 'signup': return '#d5f2db' - case '杩涜涓�': + case 'training': return '#fff0cc' default : return '#ebebeb' } + } + + getStatusText(status: string) { + if (status == 'signup') { + return '鎶ュ悕涓�' + } else if (status == 'training') { + return '杩涜涓�' + } else if (status == 'finished') { + return '宸茬粨鏉�' + } + return '' + } + + aboutToAppear(): void { + this.getBannerList() + this.getActivityList() + this.getCourseList() + } + + getBannerList() { + let httpRequest = http.createHttp(); + httpRequest.request( + "http://192.168.20.70:8080/quiz-community/public/v1.0/home/slideshows", + { + method: http.RequestMethod.GET, + header: { 'Content-Type': 'application/json', 'x-jwt-token': `Bearer ${AppStorage.get('x-jwt-token')}` }, + }, + (err, data) => { + console.log('response', '/home/slideshows') + console.log(JSON.stringify(data.result)) + if (data.responseCode == 200) { + const resData = (typeof data.result == 'string' ? JSON.parse(data.result) : data.result) as HttpResponseResult<SwiperItem[]> + if (resData.code == 200) { + this.swiperList = resData.data || [] + } else { + promptAction.showToast({ message: resData.msg }) + } + } + } + ) + } + + getActivityList() { + let httpRequest = http.createHttp(); + httpRequest.request( + "http://192.168.20.70:8080/quiz-community/public/v1.0/home/hotTraining", + { + method: http.RequestMethod.GET, + header: { 'Content-Type': 'application/json', 'x-jwt-token': `Bearer ${AppStorage.get('x-jwt-token')}` }, + }, + (err, data) => { + console.log('response', '/home/hotTraining') + console.log(JSON.stringify(data.result)) + if (data.responseCode == 200) { + const resData = (typeof data.result == 'string' ? JSON.parse(data.result) : data.result) as HttpResponseResult<Activity[]> + if (resData.code == 200) { + this.activityList = resData.data || [] + } else { + promptAction.showToast({ message: resData.msg }) + } + } + } + ) + } + + getCourseList() { + let httpRequest = http.createHttp(); + httpRequest.request( + "http://192.168.20.70:8080/quiz-community/public/v1.0/home/courses", + { + method: http.RequestMethod.GET, + header: { 'Content-Type': 'application/json', 'x-jwt-token': `Bearer ${AppStorage.get('x-jwt-token')}` }, + }, + (err, data) => { + console.log('response', '/home/courses') + console.log(JSON.stringify(data.result)) + if (data.responseCode == 200) { + const resData = (typeof data.result == 'string' ? JSON.parse(data.result) : data.result) as HttpResponseResult<Course[]> + if (resData.code == 200) { + this.courseList = resData.data || [] + } else { + promptAction.showToast({ message: resData.msg }) + } + } + } + ) } build() { @@ -127,16 +217,16 @@ TabContent() { Column({ space: 10 }){ Swiper() { - ForEach(this.swiperList, (item: Resource) => { - Image(item) + ForEach(this.swiperList, (item: SwiperItem) => { + Image(item.pic) .width('100%') .height(120) .backgroundColor(0xAFEEEE) .onClick(() => { - this.getUIContext().getRouter().pushUrl({ + router.push({ url: 'pages/home/BannerDetail', params: { - id: index + bannerId: item.id } }) }) @@ -169,10 +259,11 @@ .fontWeight(500) } .onClick(() => { + if (!item.value) return router.pushUrl({ url: 'pages/home/ClassificationDetail', params: { - title: item.title + moduleName: item.value } }) }) @@ -202,14 +293,14 @@ ListItem() { Row() { Column({ space: 6 }) { - Text(item.title) + Text(item.name) .fontSize(12) .fontWeight(500) Row() { Image($r('app.media.date_icon')) .width(12) .height(12) - Text(item.timeScope) + Text(`${item.startDate}-${item.endTime}`) .fontSize(10) .fontColor('#676767') .margin({ left: 4 }) @@ -217,13 +308,13 @@ Text(`${item.signupCount || 0}浜哄凡鎶ュ悕`) .fontSize(10) .fontColor('#676767') - Text(item.statusText) + Text(this.getStatusText(item.status)) .fontSize(10) .fontWeight(500) .padding(6) .borderRadius(10) - .fontColor(this.getTagFontColor(item.statusText)) - .backgroundColor(this.getTagBgColor(item.statusText)) + .fontColor(this.getTagFontColor(item.status)) + .backgroundColor(this.getTagBgColor(item.status)) } .height('100%') .justifyContent(FlexAlign.Start) @@ -253,7 +344,7 @@ .divider({ strokeWidth: 1, color: '#e8e8e8' }) // 姣忚涔嬮棿鐨勫垎鐣岀嚎 .edgeEffect(EdgeEffect.Spring) .width('100%') - .height(300) + .height(360) } .height('100%') } @@ -284,12 +375,12 @@ ListItem() { Row({ space: 10 }) { Column() { - Text(item.title) + Text(item.name) .fontSize(14) .fontWeight(800) .maxLines(1) .textOverflow({ overflow: TextOverflow.Ellipsis }) - Text(item.desc) + Text(item.description) .fontSize(12) .fontColor('#666666') .maxLines(2) @@ -299,7 +390,7 @@ Image($r('app.media.person_icon')) .width(10) .height(10) - Text(item.count) + Text(`${item.playCount}`) .fontSize(10) .fontColor('#666666') } @@ -307,13 +398,13 @@ Image($r('app.media.video_icon')) .width(10) .height(10) - Text(item.time) + Text(`${item.duration}`) .fontSize(10) .fontColor('#666666') } Text() { Span('璇剧▼闅惧害: ') - Span(item.difficult) + Span(`${item.difficulty}`) } .fontSize(10) .fontColor('#666666') diff --git a/entry/src/main/ets/pages/login/LoginPage.ets b/entry/src/main/ets/pages/login/LoginPage.ets index 60e1a7b..aad009d 100644 --- a/entry/src/main/ets/pages/login/LoginPage.ets +++ b/entry/src/main/ets/pages/login/LoginPage.ets @@ -1,5 +1,5 @@ import { UserInfoBase } from '../../data/UserInfoBase' -import { promptAction } from '@kit.ArkUI' +import { promptAction, router } from '@kit.ArkUI' import PreferencesUtils from '../../utils/PreferencesUtils' import http from '@ohos.net.http'; import { HttpResponseResult } from '../../data/HttpResponse'; @@ -86,6 +86,9 @@ PreferencesUtils.putPreferences('UserInfo','user',JSON.stringify(this.userInfoData)) AppStorage.SetOrCreate('x-jwt-token', resData.data?.token) promptAction.showToast({ message: '鐧诲綍鎴愬姛' }) + router.push({ + url: 'pages/MainPage' + }) } else { promptAction.showToast({ message: resData.msg }) } diff --git a/entry/src/main/resources/base/media/account_jianli.png b/entry/src/main/resources/base/media/account_vitae.png similarity index 100% rename from entry/src/main/resources/base/media/account_jianli.png rename to entry/src/main/resources/base/media/account_vitae.png Binary files differ diff --git a/entry/src/main/resources/base/media/classification_detail_AI.png b/entry/src/main/resources/base/media/classification_detail_AI.png new file mode 100644 index 0000000..7f4a024 --- /dev/null +++ b/entry/src/main/resources/base/media/classification_detail_AI.png Binary files differ diff --git a/entry/src/main/resources/base/media/classification_detail_bigdata.png b/entry/src/main/resources/base/media/classification_detail_bigdata.png new file mode 100644 index 0000000..04580cf --- /dev/null +++ b/entry/src/main/resources/base/media/classification_detail_bigdata.png Binary files differ diff --git a/entry/src/main/resources/base/media/classification_detail_cloudcalc.png b/entry/src/main/resources/base/media/classification_detail_cloudcalc.png new file mode 100644 index 0000000..8b513cd --- /dev/null +++ b/entry/src/main/resources/base/media/classification_detail_cloudcalc.png Binary files differ diff --git a/entry/src/main/resources/base/media/classification_detail_cloudservice.png b/entry/src/main/resources/base/media/classification_detail_cloudservice.png new file mode 100644 index 0000000..26d22c0 --- /dev/null +++ b/entry/src/main/resources/base/media/classification_detail_cloudservice.png Binary files differ diff --git a/entry/src/main/resources/base/media/classification_detail_link.png b/entry/src/main/resources/base/media/classification_detail_link.png new file mode 100644 index 0000000..6890037 --- /dev/null +++ b/entry/src/main/resources/base/media/classification_detail_link.png Binary files differ diff --git a/entry/src/main/resources/base/media/classification_detail_roc.png b/entry/src/main/resources/base/media/classification_detail_roc.png new file mode 100644 index 0000000..3d1235d --- /dev/null +++ b/entry/src/main/resources/base/media/classification_detail_roc.png Binary files differ diff --git a/entry/src/main/resources/base/media/classification_detail_safety.png b/entry/src/main/resources/base/media/classification_detail_safety.png new file mode 100644 index 0000000..bb4ee76 --- /dev/null +++ b/entry/src/main/resources/base/media/classification_detail_safety.png Binary files differ diff --git a/entry/src/main/resources/base/media/classification_detail_shutong.png b/entry/src/main/resources/base/media/classification_detail_shutong.png new file mode 100644 index 0000000..aa2b0fb --- /dev/null +++ b/entry/src/main/resources/base/media/classification_detail_shutong.png Binary files differ diff --git a/entry/src/main/resources/base/media/classification_detail_storage.png b/entry/src/main/resources/base/media/classification_detail_storage.png new file mode 100644 index 0000000..ffba71a --- /dev/null +++ b/entry/src/main/resources/base/media/classification_detail_storage.png Binary files differ diff --git a/entry/src/main/resources/base/media/message_circle.png b/entry/src/main/resources/base/media/message_circle.png new file mode 100644 index 0000000..e4dbdf3 --- /dev/null +++ b/entry/src/main/resources/base/media/message_circle.png Binary files differ diff --git a/entry/src/main/resources/base/media/message_gift.png b/entry/src/main/resources/base/media/message_gift.png new file mode 100644 index 0000000..6d2f160 --- /dev/null +++ b/entry/src/main/resources/base/media/message_gift.png Binary files differ diff --git a/entry/src/main/resources/base/media/message_note.png b/entry/src/main/resources/base/media/message_note.png new file mode 100644 index 0000000..60b2a47 --- /dev/null +++ b/entry/src/main/resources/base/media/message_note.png Binary files differ diff --git a/entry/src/main/resources/base/media/message_pencil.png b/entry/src/main/resources/base/media/message_pencil.png new file mode 100644 index 0000000..9fa072c --- /dev/null +++ b/entry/src/main/resources/base/media/message_pencil.png Binary files differ diff --git a/entry/src/main/resources/base/media/person_vitae.png b/entry/src/main/resources/base/media/person_vitae.png new file mode 100644 index 0000000..8492f6c --- /dev/null +++ b/entry/src/main/resources/base/media/person_vitae.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 d66fa06..6dbbd39 100644 --- a/entry/src/main/resources/base/profile/main_pages.json +++ b/entry/src/main/resources/base/profile/main_pages.json @@ -10,6 +10,11 @@ "pages/home/ActiveDetail", "pages/search/SearchPage", "pages/message/MessagePage", - "pages/message/MessageDetailsPage" + "pages/message/MessageDetailsPage", + "pages/account/UserInfoPage", + "pages/account/LearningRecordPage", + "pages/account/SettingPage", + "pages/account/MessagePushPage", + "pages/account/AboutPage" ] } diff --git a/oh-package-lock.json5 b/oh-package-lock.json5 index 9b8016a..b239958 100644 --- a/oh-package-lock.json5 +++ b/oh-package-lock.json5 @@ -6,10 +6,38 @@ "lockfileVersion": 3, "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", "specifiers": { + "@luvi/html2md@^1.0.0": "@luvi/html2md@1.0.3", + "@luvi/lv-markdown-in@^2.0.15": "@luvi/lv-markdown-in@2.0.15", + "@mcui/mccharts@^2.8.9": "@mcui/mccharts@2.8.9", "@ohos/hamock@1.0.0": "@ohos/hamock@1.0.0", - "@ohos/hypium@1.0.21": "@ohos/hypium@1.0.21" + "@ohos/hypium@1.0.21": "@ohos/hypium@1.0.21", + "@wuyan/hm_chart@^2.0.4": "@wuyan/hm_chart@2.0.4" }, "packages": { + "@luvi/html2md@1.0.3": { + "name": "", + "version": "1.0.3", + "integrity": "sha512-BBa2FqQKQ48dBmG+n2z63IGpbIV4Gc/g5Qj1FGssZ6ki+DHqYknZ46FRVRJeKtrfmCjYoiiKx5FtBjOuqnwbtA==", + "resolved": "https://ohpm.openharmony.cn/ohpm/@luvi/html2md/-/html2md-1.0.3.har", + "registryType": "ohpm" + }, + "@luvi/lv-markdown-in@2.0.15": { + "name": "", + "version": "2.0.15", + "integrity": "sha512-PSM3/BybA7QkYwiRUaxmsMdzBXyyz3AAQmdy84PzdTLo0t8AH7oOo4j01C6LvvnX0OzaQ6T3pFIpMOUqGxWEZg==", + "resolved": "https://ohpm.openharmony.cn/ohpm/@luvi/lv-markdown-in/-/lv-markdown-in-2.0.15.har", + "registryType": "ohpm", + "dependencies": { + "@luvi/html2md": "^1.0.0" + } + }, + "@mcui/mccharts@2.8.9": { + "name": "", + "version": "2.8.9", + "integrity": "sha512-mdpzc6TlYlR/xV+OH3u0Jq5s1UeND8EKQuyXUdtjPMozffrbitPWJcp5N4Fji9v1xs8d/WP62OKnbp79iWMtHA==", + "resolved": "https://ohpm.openharmony.cn/ohpm/@mcui/mccharts/-/mccharts-2.8.9.har", + "registryType": "ohpm" + }, "@ohos/hamock@1.0.0": { "name": "", "version": "1.0.0", @@ -23,6 +51,13 @@ "integrity": "sha512-iyKGMXxE+9PpCkqEwu0VykN/7hNpb+QOeIuHwkmZnxOpI+dFZt6yhPB7k89EgV1MiSK/ieV/hMjr5Z2mWwRfMQ==", "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.21.har", "registryType": "ohpm" + }, + "@wuyan/hm_chart@2.0.4": { + "name": "", + "version": "2.0.4", + "integrity": "sha512-fjyE05RpY0splKSNe5HWA4XHcQ4hZFyoKsJCQu27H8B7AvzCp3UcO5Y+Gsb+hfmg5kItNzVl3RkwUZ2klX2ffg==", + "resolved": "https://ohpm.openharmony.cn/ohpm/@wuyan/hm_chart/-/hm_chart-2.0.4.har", + "registryType": "ohpm" } } } \ No newline at end of file diff --git a/oh-package.json5 b/oh-package.json5 index a8aff0c..2dd7c28 100644 --- a/oh-package.json5 +++ b/oh-package.json5 @@ -2,9 +2,13 @@ "modelVersion": "5.0.5", "description": "Please describe the basic information.", "dependencies": { + "@wuyan/hm_chart": "^2.0.4", + "@mcui/mccharts": "^2.8.9", + "@luvi/lv-markdown-in": "^2.0.15" }, "devDependencies": { "@ohos/hypium": "1.0.21", "@ohos/hamock": "1.0.0" - } -} + }, + "dynamicDependencies": {} +} \ No newline at end of file -- Gitblit v1.8.0