From 3640b0660417650afa170dbcc638f9ce9559806b Mon Sep 17 00:00:00 2001 From: "OWNEROR-41FNVD0\\lenovo" Date: Thu, 15 May 2025 11:06:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/ets/view/CommentBarView.ets | 27 +++++++++++-- .../detail/src/main/ets/view/DetailPage.ets | 40 ++++++++++++++++--- .../src/main/ets/view/MircoBlogView.ets | 21 +++++++--- .../hot/src/main/ets/view/HotColumnView.ets | 14 +++++-- 4 files changed, 83 insertions(+), 19 deletions(-) diff --git a/features/detail/src/main/ets/view/CommentBarView.ets b/features/detail/src/main/ets/view/CommentBarView.ets index 381538b..57817ef 100644 --- a/features/detail/src/main/ets/view/CommentBarView.ets +++ b/features/detail/src/main/ets/view/CommentBarView.ets @@ -17,9 +17,10 @@ import { CommonConstants as BaseCommon, BreakpointConstants as Breakpoint } from import { CommonConstants as Common } from '../constants/CommonConstants'; const KEY_TEXTAREA: string = 'textarea_input'; - +// [Start comment_bar_view] @Component export struct CommentBarView { + // [StartExclude comment_bar_view_1] @StorageProp('currentBreakpoint') currentBreakpoint: string = Breakpoint.BREAKPOINT_LG; @State isMouseClick: boolean = false; @State content: string = ''; @@ -27,6 +28,7 @@ export struct CommentBarView { isDarkMode: boolean = false; jumpDetail: () => void = () => { }; + // [EndExclude comment_bar_view_1] build() { Column() { @@ -34,21 +36,25 @@ export struct CommentBarView { if (!this.isMouseClick) { Row() { Text($r('app.string.detail_write_comment')) + // [StartExclude comment_bar_view_2] .fontSize($r('app.float.comment_context_fs')) .fontWeight(FontWeight.Normal) .fontColor(this.isDarkMode ? Color.White : Color.Black) .opacity($r('app.float.comment_context_opacity')) + // [EndExclude comment_bar_view_2] } .borderRadius($r('app.float.comment_context_br')) .backgroundColor(this.isDarkMode ? $r('app.color.dark_mode_gbc') : $r('app.color.comment_context_bgc')) .padding({ left: $r('app.float.window_padding_left_sm') }) + // [StartExclude comment_bar_view_3] .justifyContent(FlexAlign.Start) .height($r('app.float.comment_input_height')) .width(Common.COMMENT_BAR_INPUT_WIDTH) .margin({ left: Common.COMMENT_BAR_INPUT_ML }) .visibility(this.isShowInput ? Visibility.Visible : Visibility.None) + // [EndExclude comment_bar_view_3] .onMouse((event: MouseEvent) => { if (event.button === MouseButton.Left && event.action === MouseAction.Press) { this.isMouseClick = true; @@ -59,7 +65,7 @@ export struct CommentBarView { AppStorage.setOrCreate('isShowInput', true); } }) - + // [StartExclude comment_bar_view_4] Row() { Image(this.isDarkMode ? $r('app.media.ic_toolbar_comment_light') : $r('app.media.ic_toolbar_comment')) .width($r('app.float.toolbar_comment_image_width')) @@ -79,10 +85,12 @@ export struct CommentBarView { } .layoutWeight(1) .justifyContent(FlexAlign.SpaceAround) + // [EndExclude comment_bar_view_4] } else { Row() { TextArea({ placeholder: $r('app.string.detail_write_comment'), text: this.content }) + // [StartExclude comment_bar_view_5] .fontColor(this.isDarkMode ? $r('app.color.font_color_dark') : $r('app.color.font_color_normal')) .backgroundColor(this.isDarkMode ? $r('app.color.comment_context_bgc_dark') : $r('app.color.comment_context_bgc')) @@ -101,18 +109,22 @@ export struct CommentBarView { .onAppear(() => { focusControl.requestFocus(KEY_TEXTAREA) }) + // [EndExclude comment_bar_view_5] Image(this.isDarkMode ? $r('app.media.ic_toolbar_send_white') : $r('app.media.ic_toolbar_sent')) + // [StartExclude comment_bar_view_6] .width($r('app.float.toolbar_sent_width')) .aspectRatio(1) .margin({ left: $r('app.float.toolbar_sent_ml'), bottom: $r('app.float.toolbar_sent_mb') }) + // [EndExclude comment_bar_view_6] .onClick(() => { this.isMouseClick = false; }) } + // [StartExclude comment_bar_view_7] .width(BaseCommon.FULL_PERCENT) .padding({ left: $r('app.float.dialog_pl'), @@ -123,21 +135,28 @@ export struct CommentBarView { .justifyContent(FlexAlign.SpaceBetween) .alignItems(VerticalAlign.Bottom) .backgroundColor(this.isDarkMode ? Color.Transparent : $r('app.color.white')) + // [EndExclude comment_bar_view_7] } } + // [StartExclude comment_bar_view_8] .width(BaseCommon.FULL_PERCENT) .height($r('app.float.toolbar_comment_height')) .borderWidth({ top: $r('app.float.comment_bar_border_with') }) .borderColor(this.isDarkMode ? $r('app.color.title_board_color') : $r('app.color.comment_bar_border_color')) + // [EndExclude comment_bar_view_8] } + // [StartExclude comment_bar_view_9] .width(BaseCommon.FULL_PERCENT) .height(this.getColumnHeight()) + // [EndExclude comment_bar_view_9] } - + // [StartExclude comment_bar_view_10] getColumnHeight(): Resource { if (this.currentBreakpoint === Breakpoint.BREAKPOINT_LG) { return $r('app.float.toolbar_comment_height'); } return this.isShowInput ? $r('app.float.toolbar_comment_input_height') : $r('app.float.toolbar_comment_height'); } -} \ No newline at end of file + // [EndExclude comment_bar_view_10] +} +// [End comment_bar_view] \ No newline at end of file diff --git a/features/detail/src/main/ets/view/DetailPage.ets b/features/detail/src/main/ets/view/DetailPage.ets index 5cdcbd9..bf575be 100644 --- a/features/detail/src/main/ets/view/DetailPage.ets +++ b/features/detail/src/main/ets/view/DetailPage.ets @@ -24,9 +24,10 @@ import { CardItem } from '../viewmodel/CardViewModel'; import CardArrayViewModel from '../viewmodel/CardArrayViewModel'; const KEY_BACKGROUND: string = 'background'; - +// [Start detail_page] @Component export struct DetailPage { + // [StartExclude detail_page_1] @StorageLink('currentBreakpoint') currentBreakpoint: string = Breakpoint.BREAKPOINT_SM; @StorageLink('isFoldHorizontal') isFoldHorizontal: boolean = true; @StorageLink('cardArrayViewModel') cardArrayViewModel: CardArray = CardArrayViewModel.getInstance(); @@ -39,7 +40,7 @@ export struct DetailPage { aboutToAppear() { this.isDetailPage = true; } - + // [EndExclude detail_page_1] build() { Stack() { Column() { @@ -65,23 +66,30 @@ export struct DetailPage { cardItem: this.cardItem, index: this.selectCardIndex }) + // [StartExclude detail_page_2] .margin({ top: $r('app.float.mirco_blog_mt') }) + // [EndExclude detail_page_2] } + // [StartExclude detail_page_3] .scrollBar(BarState.Off) .align(Alignment.Top) .layoutWeight(1) + // [EndExclude detail_page_3] } else { MircoBlogView({ cardItem: this.cardItem, index: this.selectCardIndex }) + // [StartExclude detail_page_4] .margin({ top: $r('app.float.mirco_blog_mt') }) + // [EndExclude detail_page_4] } } + // [StartExclude detail_page_5] .width(Common.FULL_PERCENT) .padding({ left: new BreakpointType($r('app.float.window_padding_left_sm'), $r('app.float.window_padding_left_md'), @@ -89,6 +97,7 @@ export struct DetailPage { right: new BreakpointType($r('app.float.window_padding_left_sm'), $r('app.float.window_padding_left_md'), $r('app.float.window_padding_left_lg')).getValue(this.currentBreakpoint) }) + // [EndExclude detail_page_5] GridCol({ span: { @@ -99,23 +108,29 @@ export struct DetailPage { }) { CommentListView() } + // [StartExclude detail_page_6] .height(Common.FULL_PERCENT) .width(Common.FULL_PERCENT) + // [EndExclude detail_page_6] } } - .layoutWeight(1) .visibility(this.currentBreakpoint === Breakpoint.BREAKPOINT_LG ? Visibility.None : Visibility.Visible) + // [StartExclude detail_page_7] + .layoutWeight(1) .scrollBar(BarState.Off) CommentBarView() .visibility(this.isShow() ? Visibility.Visible : Visibility.None) + // [EndExclude detail_page_7] Column() { SideBarContainer() { Column() { CommentListView() } + // [StartExclude detail_page_8] .backgroundColor($r('app.color.acetate')) + // [EndExclude detail_page_8] Column() { Scroll() { @@ -123,19 +138,24 @@ export struct DetailPage { cardItem: this.cardItem, index: this.selectCardIndex }) + // [StartExclude detail_page_9] .margin({ top: $r('app.float.mirco_blog_mt') }) + // [EndExclude detail_page_9] } + // [StartExclude detail_page_10] .padding({ left: $r('app.float.window_padding_left_lg'), right: $r('app.float.window_padding_left_lg') }) .scrollBar(BarState.Off) + // [EndExclude detail_page_10] } .justifyContent(FlexAlign.Start) } + // [StartExclude detail_page_11] .sideBarPosition(SideBarPosition.End) .showControlButton(false) .sideBarWidth($r('app.float.side_bar_with')) @@ -143,11 +163,16 @@ export struct DetailPage { .maxSideBarWidth($r('app.float.max_side_bar_width')) .autoHide(false) .divider(null) + // [EndExclude detail_page_11] } - .width(Common.FULL_PERCENT) .visibility(this.currentBreakpoint !== Breakpoint.BREAKPOINT_LG ? Visibility.None : Visibility.Visible) + // [StartExclude detail_page_12] + .width(Common.FULL_PERCENT) .layoutWeight(1) + // [EndExclude detail_page_12] } + // [StartExclude detail_page_13] + .height(Common.FULL_PERCENT) .justifyContent(FlexAlign.End) .expandSafeArea([SafeAreaType.KEYBOARD, SafeAreaType.SYSTEM]) @@ -170,9 +195,10 @@ export struct DetailPage { } .alignContent(Alignment.Bottom) } + // [EndExclude detail_page_13] } } - + // [StartExclude detail_page_14] isShow(): boolean { if ((this.currentBreakpoint === Breakpoint.BREAKPOINT_MD && !this.isFoldHorizontal) || (this.currentBreakpoint === Breakpoint.BREAKPOINT_SM)) { @@ -180,4 +206,6 @@ export struct DetailPage { } return false; } -} \ No newline at end of file + // [EndExclude detail_page_14] +} +// [End detail_page] \ No newline at end of file diff --git a/features/detail/src/main/ets/view/MircoBlogView.ets b/features/detail/src/main/ets/view/MircoBlogView.ets index 45dbd01..d1abecb 100644 --- a/features/detail/src/main/ets/view/MircoBlogView.ets +++ b/features/detail/src/main/ets/view/MircoBlogView.ets @@ -28,9 +28,10 @@ interface ImageInfo { contentOffsetX: number; contentOffsetY: number; } - +// [Start mirco_blog_view] @Component export struct MircoBlogView { + // [StartExclude mirco_blog_view_1] @StorageProp('currentBreakpoint') currentBreakpoint: string = Breakpoint.BREAKPOINT_LG; @StorageLink('isDetailPage') isDetailPage: boolean = false; @StorageLink('isPictureDetail') isPictureDetail: boolean = false; @@ -52,10 +53,11 @@ export struct MircoBlogView { AppStorage.setOrCreate('selectCardIndex', this.index); this.pageInfos.pushPath({ name: 'pictureDetail', param: index }); } - + // [EndExclude mirco_blog_view_1] build() { Column() { if (this.cardItem !== undefined) { + // [StartExclude mirco_blog_view_2] Row() { Row() { Image(this.cardItem.icon) @@ -107,17 +109,19 @@ export struct MircoBlogView { top: $r('app.float.card_title_padding'), bottom: $r('app.float.card_title_padding') }) - + // [EndExclude mirco_blog_view_2] Row() { Text(this.cardItem.content) .fontSize(`${this.contentFontSize}${Common.SUFFIX_FP}`) .lineHeight(`${this.contentFontHeight}${Common.SUFFIX_VP}`) + // [StartExclude mirco_blog_view_3] .width(BaseCommon.FULL_PERCENT) .onClick(() => { this.jumpDetail(); }) .fontColor(this.isDarkMode ? $r('app.color.card_item_content_fc_dark') : Color.Black) .copyOption(CopyOptions.LocalDevice) + // [EndExclude mirco_blog_view_3] } .gesture( PinchGesture({ fingers: Common.PINCH_GESTURE_FINGERS }) @@ -140,7 +144,7 @@ export struct MircoBlogView { this.pinchValue = this.scaleValue; }) ) - + // [StartExclude mirco_blog_view_4] if (this.showPicture) { if (this.cardItem.pictureArray.length === 1) { Image(this.cardItem.pictureArray[0]) @@ -176,16 +180,21 @@ export struct MircoBlogView { .margin({ top: `${this.pictureMarginTop}${Common.SUFFIX_VP}` }) } } + // [EndExclude mirco_blog_view_4] } } + // [StartExclude mirco_blog_view_5] .alignItems(HorizontalAlign.Start) .flexShrink(1) .width(BaseCommon.FULL_PERCENT) + // [EndExclude mirco_blog_view_5] } - + // [StartExclude mirco_blog_view_6] getAspectRatio(length: number): number { let rowNumber: number = (length % Common.MAX_GRID_COLUMN === 0) ? length / Common.MAX_GRID_COLUMN : (Math.floor(length / Common.MAX_GRID_COLUMN) + 1); return Common.MAX_GRID_COLUMN / rowNumber; } -} \ No newline at end of file + // [EndExclude mirco_blog_view_6] +} +// [End mirco_blog_view] \ No newline at end of file diff --git a/features/hot/src/main/ets/view/HotColumnView.ets b/features/hot/src/main/ets/view/HotColumnView.ets index 082a319..03bc0e7 100644 --- a/features/hot/src/main/ets/view/HotColumnView.ets +++ b/features/hot/src/main/ets/view/HotColumnView.ets @@ -20,12 +20,13 @@ import { CommonConstants as Common } from '../constants/CommonConstants'; import { ToRankView } from './ToRankView'; const SWIPER_LIST: number[] = [0, 1, 2]; - +// [Start hot_column_view] @Component export struct HotColumnView { @StorageLink('currentBreakpoint') currentBreakpoint: string = Breakpoint.BREAKPOINT_SM; + // [StartExclude hot_column_view_1] @State tab_index: number = 0; - + // [EndExclude hot_column_view_1] @Builder HotListBuilder(index: number) { List() { @@ -36,9 +37,11 @@ export struct HotColumnView { HotListItemView({ item: item, showDetail: true, + // [StartExclude hot_column_view_2] indexWidth: item.index <= Common.HOT_COLUMN_MAX_COUNT ? $r('app.float.index_width_normal') : $r('app.float.index_width_more'), indexIconGap: $r('app.float.index_icon_gap') + // [EndExclude hot_column_view_2] }) } } @@ -53,6 +56,7 @@ export struct HotColumnView { this.HotListBuilder(item) }, (item: number) => JSON.stringify(item)) } + // [StartExclude hot_column_view_3] .autoPlay(false) .indicator(false) .disableSwipe(true) @@ -65,8 +69,12 @@ export struct HotColumnView { .getValue(this.currentBreakpoint)) ToRankView() + // [EndExclude hot_column_view_3] } + // [StartExclude hot_column_view_4] .width(BaseCommon.FULL_PERCENT) .alignItems(HorizontalAlign.Start) + // [EndExclude hot_column_view_4] } -} \ No newline at end of file +} +// [End hot_column_view] \ No newline at end of file -- Gitee