Showing
6 changed files
with
18 additions
and
8 deletions
| 1 | /** | 1 | /** |
| 2 | - * 直播详情 关注相关信息 | 2 | + * 直播详情 关注相关信息 直播详情页用户信息行 |
| 3 | */ | 3 | */ |
| 4 | import { | 4 | import { |
| 5 | ContentDetailRequest, | 5 | ContentDetailRequest, |
| @@ -40,6 +40,7 @@ export struct LiveFollowComponent { | @@ -40,6 +40,7 @@ export struct LiveFollowComponent { | ||
| 40 | bottomLeft: 90 | 40 | bottomLeft: 90 |
| 41 | }) | 41 | }) |
| 42 | Row() { | 42 | Row() { |
| 43 | + //号主头像 | ||
| 43 | Image(this.rmhInfo.rmhHeadUrl) | 44 | Image(this.rmhInfo.rmhHeadUrl) |
| 44 | .width(24) | 45 | .width(24) |
| 45 | .height(24) | 46 | .height(24) |
| @@ -54,6 +55,7 @@ export struct LiveFollowComponent { | @@ -54,6 +55,7 @@ export struct LiveFollowComponent { | ||
| 54 | WDRouterRule.jumpWithPage(WDRouterPage.peopleShipHomePage, params) | 55 | WDRouterRule.jumpWithPage(WDRouterPage.peopleShipHomePage, params) |
| 55 | } | 56 | } |
| 56 | }) | 57 | }) |
| 58 | + //号主名称 | ||
| 57 | Text(this.rmhInfo.rmhName) | 59 | Text(this.rmhInfo.rmhName) |
| 58 | .fontColor(Color.White) | 60 | .fontColor(Color.White) |
| 59 | .maxLines(1) | 61 | .maxLines(1) |
| @@ -65,6 +67,7 @@ export struct LiveFollowComponent { | @@ -65,6 +67,7 @@ export struct LiveFollowComponent { | ||
| 65 | right: 6 | 67 | right: 6 |
| 66 | }) | 68 | }) |
| 67 | Blank() | 69 | Blank() |
| 70 | + //关注状态 | ||
| 68 | Text(this.followStatus === '0' ? '关注' : '已关注') | 71 | Text(this.followStatus === '0' ? '关注' : '已关注') |
| 69 | .fontColor(Color.White) | 72 | .fontColor(Color.White) |
| 70 | .fontWeight(500) | 73 | .fontWeight(500) |
| @@ -189,7 +189,7 @@ export struct LiveOperRowListView { | @@ -189,7 +189,7 @@ export struct LiveOperRowListView { | ||
| 189 | Stack({ alignContent: Alignment.Start }) { | 189 | Stack({ alignContent: Alignment.Start }) { |
| 190 | RelativeContainer() { | 190 | RelativeContainer() { |
| 191 | 191 | ||
| 192 | - Image($r('app.media.comment_img_input_hui')) | 192 | + Image(this.styleType == 1 ? $r('app.media.comment_img_input_hui'):$r('app.media.comment_img_input_black')) |
| 193 | .objectFit(ImageFit.Fill) | 193 | .objectFit(ImageFit.Fill) |
| 194 | .resizable({ | 194 | .resizable({ |
| 195 | slice: { | 195 | slice: { |
| @@ -208,7 +208,7 @@ export struct LiveOperRowListView { | @@ -208,7 +208,7 @@ export struct LiveOperRowListView { | ||
| 208 | .id("Image") | 208 | .id("Image") |
| 209 | Text("说两句...") | 209 | Text("说两句...") |
| 210 | .fontSize(12) | 210 | .fontSize(12) |
| 211 | - .fontColor('#999999') | 211 | + .fontColor(this.styleType == 1 ? '#999999':'#CCFFFFFF') |
| 212 | .margin({ left: 10 }) | 212 | .margin({ left: 10 }) |
| 213 | .alignRules({ | 213 | .alignRules({ |
| 214 | top: { anchor: "__container__", align: VerticalAlign.Top }, | 214 | top: { anchor: "__container__", align: VerticalAlign.Top }, |
| @@ -13,6 +13,7 @@ import { LiveDetailPageLogic } from '../viewModel/LiveDetailPageLogic'; | @@ -13,6 +13,7 @@ import { LiveDetailPageLogic } from '../viewModel/LiveDetailPageLogic'; | ||
| 13 | const TAG = 'DetailPlayLiveCommon' | 13 | const TAG = 'DetailPlayLiveCommon' |
| 14 | 14 | ||
| 15 | /** | 15 | /** |
| 16 | + * 直播详情页 | ||
| 16 | * @Description: 沉浸式和非沉浸式直播页面 | 17 | * @Description: 沉浸式和非沉浸式直播页面 |
| 17 | * @Author: | 18 | * @Author: |
| 18 | * @Email: | 19 | * @Email: |
| @@ -10,6 +10,7 @@ import { PlayerEndView } from '../widgets/vertical/PlayerEndView'; | @@ -10,6 +10,7 @@ import { PlayerEndView } from '../widgets/vertical/PlayerEndView'; | ||
| 10 | import { TrackConstants, TrackingButton } from 'wdTracking/Index'; | 10 | import { TrackConstants, TrackingButton } from 'wdTracking/Index'; |
| 11 | import { LiveDetailPageLogic } from '../viewModel/LiveDetailPageLogic'; | 11 | import { LiveDetailPageLogic } from '../viewModel/LiveDetailPageLogic'; |
| 12 | import { onlyWifiLoadVideo } from 'wdComponent/src/main/ets/utils/lazyloadImg'; | 12 | import { onlyWifiLoadVideo } from 'wdComponent/src/main/ets/utils/lazyloadImg'; |
| 13 | +import { StringUtils } from 'wdKit'; | ||
| 13 | 14 | ||
| 14 | const storage = LocalStorage.getShared(); | 15 | const storage = LocalStorage.getShared(); |
| 15 | const TAG = 'DetailPlayVLivePage' | 16 | const TAG = 'DetailPlayVLivePage' |
| @@ -97,7 +98,7 @@ export struct DetailPlayVLivePage { | @@ -97,7 +98,7 @@ export struct DetailPlayVLivePage { | ||
| 97 | .blur(100) | 98 | .blur(100) |
| 98 | .renderFit(RenderFit.RESIZE_COVER) | 99 | .renderFit(RenderFit.RESIZE_COVER) |
| 99 | // 直播结束且无回看 | 100 | // 直播结束且无回看 |
| 100 | - if (this.liveState === 'end' && !this.playUrl) { | 101 | + if (this.liveState === 'end' && StringUtils.isEmpty(this.playUrl)) { |
| 101 | PlayerEndView() | 102 | PlayerEndView() |
| 102 | } else { | 103 | } else { |
| 103 | // 直播暂停,仍然可以评论 | 104 | // 直播暂停,仍然可以评论 |
| @@ -6,7 +6,7 @@ import { DateFormatUtil, PlayerConstants, WDAliPlayerController } from 'wdPlayer | @@ -6,7 +6,7 @@ import { DateFormatUtil, PlayerConstants, WDAliPlayerController } from 'wdPlayer | ||
| 6 | import { ContentDetailDTO, LiveRoomDataBean } from 'wdBean/Index'; | 6 | import { ContentDetailDTO, LiveRoomDataBean } from 'wdBean/Index'; |
| 7 | import { DisplayDirection } from 'wdConstant/Index'; | 7 | import { DisplayDirection } from 'wdConstant/Index'; |
| 8 | import { LiveFollowComponent, LottieView } from 'wdComponent/Index'; | 8 | import { LiveFollowComponent, LottieView } from 'wdComponent/Index'; |
| 9 | - | 9 | +//直播间播放器上层覆盖物 |
| 10 | @Component | 10 | @Component |
| 11 | export struct PlayUIComponent { | 11 | export struct PlayUIComponent { |
| 12 | playerController?: WDAliPlayerController; | 12 | playerController?: WDAliPlayerController; |
| @@ -84,11 +84,12 @@ export struct PlayUIComponent { | @@ -84,11 +84,12 @@ export struct PlayUIComponent { | ||
| 84 | .height('100%') | 84 | .height('100%') |
| 85 | .alignItems(HorizontalAlign.Start) | 85 | .alignItems(HorizontalAlign.Start) |
| 86 | } | 86 | } |
| 87 | - | 87 | + //最顶部UI |
| 88 | @Builder | 88 | @Builder |
| 89 | getTopUIComponent() { | 89 | getTopUIComponent() { |
| 90 | Column() { | 90 | Column() { |
| 91 | Row() { | 91 | Row() { |
| 92 | + //返回键 | ||
| 92 | Image($r('app.media.icon_arrow_left_white')) | 93 | Image($r('app.media.icon_arrow_left_white')) |
| 93 | .width(24) | 94 | .width(24) |
| 94 | .aspectRatio(1) | 95 | .aspectRatio(1) |
| @@ -105,6 +106,7 @@ export struct PlayUIComponent { | @@ -105,6 +106,7 @@ export struct PlayUIComponent { | ||
| 105 | 106 | ||
| 106 | }) | 107 | }) |
| 107 | if (this.contentDetailData.liveInfo?.liveState != 'wait') { | 108 | if (this.contentDetailData.liveInfo?.liveState != 'wait') { |
| 109 | + //标题 | ||
| 108 | Text(this.contentDetailData.newsTitle) | 110 | Text(this.contentDetailData.newsTitle) |
| 109 | .maxLines(1) | 111 | .maxLines(1) |
| 110 | .textOverflow({ overflow: TextOverflow.MARQUEE }) | 112 | .textOverflow({ overflow: TextOverflow.MARQUEE }) |
| @@ -116,6 +118,7 @@ export struct PlayUIComponent { | @@ -116,6 +118,7 @@ export struct PlayUIComponent { | ||
| 116 | } else { | 118 | } else { |
| 117 | Blank() | 119 | Blank() |
| 118 | } | 120 | } |
| 121 | + //分享按钮 | ||
| 119 | Image($r('app.media.icon_share')) | 122 | Image($r('app.media.icon_share')) |
| 120 | .width(24) | 123 | .width(24) |
| 121 | .aspectRatio(1) | 124 | .aspectRatio(1) |
| @@ -126,16 +129,18 @@ export struct PlayUIComponent { | @@ -126,16 +129,18 @@ export struct PlayUIComponent { | ||
| 126 | .margin({ | 129 | .margin({ |
| 127 | bottom: 10 | 130 | bottom: 10 |
| 128 | }) | 131 | }) |
| 129 | - | 132 | + //第二行左边号主信息 |
| 130 | Row() { | 133 | Row() { |
| 131 | if (this.contentDetailData?.rmhInfo) { | 134 | if (this.contentDetailData?.rmhInfo) { |
| 132 | LiveFollowComponent({ | 135 | LiveFollowComponent({ |
| 133 | rmhInfo: this.contentDetailData.rmhInfo | 136 | rmhInfo: this.contentDetailData.rmhInfo |
| 134 | }) | 137 | }) |
| 135 | .margin({ | 138 | .margin({ |
| 139 | + top:-7, | ||
| 136 | right: 10 | 140 | right: 10 |
| 137 | }) | 141 | }) |
| 138 | } | 142 | } |
| 143 | + //第二行右边直播状态参与人数 | ||
| 139 | this.getLiveStatusView() | 144 | this.getLiveStatusView() |
| 140 | } | 145 | } |
| 141 | } | 146 | } |
| 1 | import { WDAliPlayerController } from 'wdPlayer/Index' | 1 | import { WDAliPlayerController } from 'wdPlayer/Index' |
| 2 | import { PlayerUIComponent } from './PlayerUIComponent' | 2 | import { PlayerUIComponent } from './PlayerUIComponent' |
| 3 | - | 3 | +//竖屏直播详情页左右滑动浮层 |
| 4 | @Component | 4 | @Component |
| 5 | export struct PlayerInfoComponent { | 5 | export struct PlayerInfoComponent { |
| 6 | swiperController?: SwiperController | 6 | swiperController?: SwiperController |
-
Please register or login to post a comment