wangliang_wd

feat:解决冲突

Showing 17 changed files with 198 additions and 97 deletions
@@ -29,7 +29,9 @@ export struct WdWebLocalComponent { @@ -29,7 +29,9 @@ export struct WdWebLocalComponent {
29 @State sliderStartTime: string = ''; 29 @State sliderStartTime: string = '';
30 @State currentTime: number = 0; 30 @State currentTime: number = 0;
31 @State durationTime: number = 0; 31 @State durationTime: number = 0;
  32 + @State progressOpacity: number = 1
32 @State durationStringTime: string = ''; 33 @State durationStringTime: string = '';
  34 + private progressTimerNumber: number = 0
33 @State isPause: boolean = true; 35 @State isPause: boolean = true;
34 controller: VideoController = new VideoController() 36 controller: VideoController = new VideoController()
35 @StorageProp('currentBreakpoint') @Watch("currentChanged")currentBreakpoint: string = 'sm'; 37 @StorageProp('currentBreakpoint') @Watch("currentChanged")currentBreakpoint: string = 'sm';
@@ -96,12 +98,12 @@ export struct WdWebLocalComponent { @@ -96,12 +98,12 @@ export struct WdWebLocalComponent {
96 url = url.replace("%(?![0-9a-fA-F]{2})", "%25") 98 url = url.replace("%(?![0-9a-fA-F]{2})", "%25")
97 .replace("\\+", "%2B"); 99 .replace("\\+", "%2B");
98 url = decodeURIComponent(url) 100 url = decodeURIComponent(url)
  101 + Logger.debug(TAG, 'Web onLoadIntercept url: ' + url);
99 if (url.startsWith(BridgeUtil.YY_RETURN_DATA)) { 102 if (url.startsWith(BridgeUtil.YY_RETURN_DATA)) {
100 this.webviewControl.handlerReturnData(url) 103 this.webviewControl.handlerReturnData(url)
101 return true 104 return true
102 } 105 }
103 if (url.startsWith(BridgeUtil.YY_OVERRIDE_SCHEMA)) { 106 if (url.startsWith(BridgeUtil.YY_OVERRIDE_SCHEMA)) {
104 - Logger.debug(TAG, 'flushMessageQueue:'+url);  
105 // this.webviewControl.flushMessageQueue() 107 // this.webviewControl.flushMessageQueue()
106 this.webviewControl.receiveDataFromH5(url) 108 this.webviewControl.receiveDataFromH5(url)
107 return true 109 return true
@@ -172,7 +174,7 @@ export struct WdWebLocalComponent { @@ -172,7 +174,7 @@ export struct WdWebLocalComponent {
172 this.positionLeft = Number(data?.data?.positionLeft) || 0 174 this.positionLeft = Number(data?.data?.positionLeft) || 0
173 this.positionTop = Number(data?.data?.positionTop) || 0 175 this.positionTop = Number(data?.data?.positionTop) || 0
174 this.videoLandscape = data?.data?.videoLandscape || '1' 176 this.videoLandscape = data?.data?.videoLandscape || '1'
175 - this.controller.start() 177 + this.startPlay()
176 } 178 }
177 } 179 }
178 /** 180 /**
@@ -206,6 +208,26 @@ export struct WdWebLocalComponent { @@ -206,6 +208,26 @@ export struct WdWebLocalComponent {
206 } 208 }
207 } 209 }
208 210
  211 + startPlay() {
  212 + this.cancelProgressTimer()
  213 + this.controller.start()
  214 + this.startProgressTimer()
  215 + }
  216 +
  217 + startProgressTimer() {
  218 + this.progressTimerNumber = setTimeout(() => {
  219 + animateTo({duration: 1000}, () => {
  220 + this.progressOpacity = 0
  221 + })
  222 + }, 3000)
  223 + }
  224 + cancelProgressTimer() {
  225 + if (this.progressTimerNumber > 0) {
  226 + clearTimeout(this.progressTimerNumber)
  227 + this.progressTimerNumber = 0
  228 + }
  229 + }
  230 +
209 @Builder 231 @Builder
210 videoComp(){ 232 videoComp(){
211 Video({ 233 Video({
@@ -221,6 +243,7 @@ export struct WdWebLocalComponent { @@ -221,6 +243,7 @@ export struct WdWebLocalComponent {
221 .objectFit(ImageFit.Contain) 243 .objectFit(ImageFit.Contain)
222 .onFinish(()=>{ 244 .onFinish(()=>{
223 this.isEndPlay = true 245 this.isEndPlay = true
  246 + this.currentTime = 0
224 }) 247 })
225 .onStart(() => { 248 .onStart(() => {
226 this.isPause = false 249 this.isPause = false
@@ -248,13 +271,23 @@ export struct WdWebLocalComponent { @@ -248,13 +271,23 @@ export struct WdWebLocalComponent {
248 WindowModel.shared.setPreferredOrientation(window.Orientation.PORTRAIT) 271 WindowModel.shared.setPreferredOrientation(window.Orientation.PORTRAIT)
249 } 272 }
250 }) 273 })
  274 + .onClick(() => {
  275 + animateTo({duration: 1000}, () => {
  276 + if (this.progressOpacity <= 0) {
  277 + this.progressOpacity = 1
  278 + } else {
  279 + this.progressOpacity = 0
  280 + }
  281 + })
  282 + })
251 283
252 if (this.isEndPlay){ 284 if (this.isEndPlay){
253 Column(){ 285 Column(){
254 Image($r('app.media.icon_replay')).width(40).height(40) 286 Image($r('app.media.icon_replay')).width(40).height(40)
255 .onClick(() => { 287 .onClick(() => {
256 this.isEndPlay = false 288 this.isEndPlay = false
257 - this.controller.start() 289 + this.progressOpacity = 1
  290 + this.startPlay()
258 }) 291 })
259 292
260 Text('重播').fontColor(Color.White).fontSize(14) 293 Text('重播').fontColor(Color.White).fontSize(14)
@@ -271,9 +304,10 @@ export struct WdWebLocalComponent { @@ -271,9 +304,10 @@ export struct WdWebLocalComponent {
271 .height(24) 304 .height(24)
272 .onClick(() => { 305 .onClick(() => {
273 if (this.isPause) { 306 if (this.isPause) {
274 - this.controller.start() 307 + this.startPlay()
275 } else { 308 } else {
276 this.controller.pause() 309 this.controller.pause()
  310 + this.cancelProgressTimer()
277 } 311 }
278 }) 312 })
279 Row() { 313 Row() {
@@ -298,6 +332,13 @@ export struct WdWebLocalComponent { @@ -298,6 +332,13 @@ export struct WdWebLocalComponent {
298 .blockSize({ width: 18, height: 12 }) 332 .blockSize({ width: 18, height: 12 })
299 .onChange((value: number, mode: SliderChangeMode) => { 333 .onChange((value: number, mode: SliderChangeMode) => {
300 this.controller.setCurrentTime(value); 334 this.controller.setCurrentTime(value);
  335 + if (mode == SliderChangeMode.End) {
  336 + if (this.isPause) {
  337 + this.startPlay()
  338 + } else {
  339 + this.startProgressTimer()
  340 + }
  341 + }
301 }) 342 })
302 Text(DateTimeUtils.getFormattedDuration(this.durationTime * 1000)) 343 Text(DateTimeUtils.getFormattedDuration(this.durationTime * 1000))
303 .fontSize(12) 344 .fontSize(12)
@@ -313,7 +354,11 @@ export struct WdWebLocalComponent { @@ -313,7 +354,11 @@ export struct WdWebLocalComponent {
313 // this.controller.requestFullscreen(true) 354 // this.controller.requestFullscreen(true)
314 // }) 355 // })
315 } 356 }
316 - .opacity(0.8) 357 + .opacity(this.progressOpacity)
  358 + .linearGradient({
  359 + direction: GradientDirection.Top, // 渐变方向
  360 + colors: [[0x20000000, 0.0], [Color.Transparent, 1.0]] // [0x80000000, 0.5],
  361 + })
317 .width("100%") 362 .width("100%")
318 .justifyContent(FlexAlign.SpaceAround) 363 .justifyContent(FlexAlign.SpaceAround)
319 } 364 }
@@ -199,6 +199,9 @@ export struct H5NewsWebPageComponent { @@ -199,6 +199,9 @@ export struct H5NewsWebPageComponent {
199 199
200 // 已登录->查询用户对作品点赞、收藏状态 200 // 已登录->查询用户对作品点赞、收藏状态
201 private async getInteractDataStatus() { 201 private async getInteractDataStatus() {
  202 + if (!HttpUtils.isLogin()) {
  203 + return
  204 + }
202 try { 205 try {
203 const params: batchLikeAndCollectParams = { 206 const params: batchLikeAndCollectParams = {
204 contentList: [ 207 contentList: [
@@ -40,7 +40,7 @@ import { LottieView } from '../components/lottie/LottieView'; @@ -40,7 +40,7 @@ import { LottieView } from '../components/lottie/LottieView';
40 40
41 const PATTERN_DATE_CN_RN: string = 'yyyy年MM月dd日 HH:mm'; 41 const PATTERN_DATE_CN_RN: string = 'yyyy年MM月dd日 HH:mm';
42 42
43 -const TAG: string = 'ImageAndTextPageComponent' 43 +const TAG: string = 'ImageAndTextWebComponent'
44 /** 44 /**
45 * 图文详情页 45 * 图文详情页
46 * */ 46 * */
@@ -410,6 +410,9 @@ export struct ImageAndTextPageComponent { @@ -410,6 +410,9 @@ export struct ImageAndTextPageComponent {
410 410
411 // 已登录->查询用户对作品点赞、收藏状态 411 // 已登录->查询用户对作品点赞、收藏状态
412 private async getInteractDataStatus() { 412 private async getInteractDataStatus() {
  413 + if (!HttpUtils.isLogin()) {
  414 + return
  415 + }
413 try { 416 try {
414 const params: batchLikeAndCollectParams = { 417 const params: batchLikeAndCollectParams = {
415 contentList: [ 418 contentList: [
@@ -512,6 +515,7 @@ export struct ImageAndTextPageComponent { @@ -512,6 +515,7 @@ export struct ImageAndTextPageComponent {
512 } 515 }
513 516
514 aboutToAppear() { 517 aboutToAppear() {
  518 + Logger.debug(TAG, '文章详情页 aboutToAppear,开始请求接口数据');
515 this.getDetail() 519 this.getDetail()
516 this.screenHeight = DisplayUtils.getDeviceHeight() 520 this.screenHeight = DisplayUtils.getDeviceHeight()
517 this.initAnimationConfig(); 521 this.initAnimationConfig();
@@ -24,6 +24,7 @@ export struct ImageAndTextWebComponent { @@ -24,6 +24,7 @@ export struct ImageAndTextWebComponent {
24 private webPrepared = false; 24 private webPrepared = false;
25 private dataPrepared = false; 25 private dataPrepared = false;
26 async onDetailDataUpdated() { 26 async onDetailDataUpdated() {
  27 + Logger.debug(TAG, '详情内容已获取接口数据');
27 if (this.action) { 28 if (this.action) {
28 let contentId: string = '' 29 let contentId: string = ''
29 let contentType: string = '' 30 let contentType: string = ''
@@ -92,6 +93,10 @@ export struct ImageAndTextWebComponent { @@ -92,6 +93,10 @@ export struct ImageAndTextWebComponent {
92 93
93 } 94 }
94 95
  96 + aboutToAppear(): void {
  97 + Logger.debug(TAG, 'H5模板加载控件 aboutToAppear');
  98 + }
  99 +
95 build() { 100 build() {
96 Column() { 101 Column() {
97 WdWebLocalComponent({ 102 WdWebLocalComponent({
@@ -115,15 +120,16 @@ export struct ImageAndTextWebComponent { @@ -115,15 +120,16 @@ export struct ImageAndTextWebComponent {
115 } 120 }
116 121
117 private onWebPrepared() { 122 private onWebPrepared() {
  123 + Logger.debug(TAG, 'H5模板已加载,prepared');
118 this.webPrepared = true 124 this.webPrepared = true
119 this.trySendData2H5() 125 this.trySendData2H5()
120 } 126 }
121 127
122 private sendContentData2H5(h5ReceiveAppData: H5ReceiveDetailBean) { 128 private sendContentData2H5(h5ReceiveAppData: H5ReceiveDetailBean) {
123 let jsonString = JSON.stringify(h5ReceiveAppData); 129 let jsonString = JSON.stringify(h5ReceiveAppData);
124 - Logger.debug('ImageAndTextWebComponent', 'jsCall_receiveAppData',jsonString); 130 + Logger.debug(TAG, '传递html数据至H5 jsCall_receiveAppData',jsonString);
125 this.webviewControl.callHandle(NativeCallH5Type.jsCall_receiveAppData, jsonString, (data: string) => { 131 this.webviewControl.callHandle(NativeCallH5Type.jsCall_receiveAppData, jsonString, (data: string) => {
126 - Logger.debug('ImageAndTextWebComponent', "from js data = " + data); 132 + Logger.debug(TAG, "from js data = " + data);
127 }) 133 })
128 } 134 }
129 } 135 }
@@ -578,48 +578,53 @@ struct footerExpandedView { @@ -578,48 +578,53 @@ struct footerExpandedView {
578 578
579 build() { 579 build() {
580 Row() { 580 Row() {
581 - if (this.item.expanded) {  
582 - Row() {  
583 - Text().backgroundColor($r('app.color.color_EDEDED')).width(24).height(1)  
584 - if (this.item.childsHasMore) { 581 + Row() {
  582 + if (this.item.expanded) {
  583 + Row() {
  584 + Text().backgroundColor($r('app.color.color_EDEDED')).width(24).height(1)
  585 + if (this.item.childsHasMore) {
  586 + Row() {
  587 + Text('查看更多回复').fontColor($r('app.color.color_222222')).fontSize(14)
  588 + Image($r('app.media.comment_unfold')).width(12).height(12)
  589 + }.margin({ left: 6 })
  590 + .onClick(() => {
  591 + if (this.item.isLoading) {
  592 + return
  593 + }
  594 + this.item.isLoading = true
  595 + fetchChildContentCommentList(this.contentId, this.contentType, this.item)
  596 + })
  597 + }
585 Row() { 598 Row() {
586 - Text('查看更多回复').fontColor($r('app.color.color_222222')).fontSize(14)  
587 - Image($r('app.media.comment_unfold')).width(12).height(12) 599 + Text('收起').fontColor($r('app.color.color_222222')).fontSize(14)
  600 + Image($r('app.media.comment_pickUp')).width(12).height(12)
588 }.margin({ left: 6 }) 601 }.margin({ left: 6 })
589 .onClick(() => { 602 .onClick(() => {
590 - if (this.item.isLoading) {  
591 - return  
592 - }  
593 - this.item.isLoading = true  
594 - fetchChildContentCommentList(this.contentId, this.contentType, this.item) 603 + this.item.pageNum = 1
  604 + this.item.expanded = false
  605 + this.item.childComments = []
  606 + this.item.childCommentsLazyDataSource.clear()
595 }) 607 })
596 - } 608 + }.margin({ left: 53 })
  609 + } else {
597 Row() { 610 Row() {
598 - Text('收起').fontColor($r('app.color.color_222222')).fontSize(14)  
599 - Image($r('app.media.comment_pickUp')).width(12).height(12)  
600 - }.margin({ left: 6 }) 611 + Text().backgroundColor($r('app.color.color_EDEDED')).width(24).height(1)
  612 + Text('查看更多回复').fontColor($r('app.color.color_222222')).fontSize(14).margin({ left: 6 })
  613 + Image($r('app.media.comment_unfold')).width(12).height(12)
  614 + }.margin({ left: 53 })
601 .onClick(() => { 615 .onClick(() => {
602 - this.item.pageNum = 1  
603 - this.item.expanded = false  
604 - this.item.childComments = []  
605 - this.item.childCommentsLazyDataSource.clear() 616 + if (this.item.isLoading) {
  617 + return
  618 + }
  619 + this.item.isLoading = true
  620 + fetchChildContentCommentList(this.contentId, this.contentType, this.item)
606 }) 621 })
607 - }.margin({ left: 53 })  
608 - } else {  
609 - Row() {  
610 - Text().backgroundColor($r('app.color.color_EDEDED')).width(24).height(1)  
611 - Text('查看更多回复').fontColor($r('app.color.color_222222')).fontSize(14).margin({ left: 6 })  
612 - Image($r('app.media.comment_unfold')).width(12).height(12)  
613 - }.margin({ left: 53 })  
614 - .onClick(() => {  
615 - if (this.item.isLoading) {  
616 - return  
617 - }  
618 - this.item.isLoading = true  
619 - fetchChildContentCommentList(this.contentId, this.contentType, this.item)  
620 - })  
621 - }  
622 - }.height(30) 622 + }
  623 + }.height(20)
  624 + // .backgroundColor(Color.Green)
  625 + }.height(24)
  626 + .alignItems(VerticalAlign.Top)
  627 + // .backgroundColor(Color.Gray)
623 } 628 }
624 } 629 }
625 630
@@ -599,6 +599,7 @@ struct ChannelSubscriptionLayout { @@ -599,6 +599,7 @@ struct ChannelSubscriptionLayout {
599 } 599 }
600 .width(36) 600 .width(36)
601 .height(40) 601 .height(40)
  602 + .margin({right: 6})
602 .justifyContent(FlexAlign.Center) 603 .justifyContent(FlexAlign.Center)
603 .onClick(() => { 604 .onClick(() => {
604 this.isShow = true 605 this.isShow = true
@@ -16,8 +16,8 @@ export struct PeopleShipHomePageHeadComponent { @@ -16,8 +16,8 @@ export struct PeopleShipHomePageHeadComponent {
16 .borderRadius(this.diameter/2) 16 .borderRadius(this.diameter/2)
17 // .borderWidth('0.5vp') 17 // .borderWidth('0.5vp')
18 .border({ 18 .border({
19 - width: 2,  
20 - color: Color.White, // 5% 透明度的黑色 19 + width: 1,
  20 + color: $r('app.color.color_0D000000'), // 5% 透明度的黑色
21 style: BorderStyle.Solid 21 style: BorderStyle.Solid
22 }) 22 })
23 // .borderStyle(BorderStyle.Solid) 23 // .borderStyle(BorderStyle.Solid)
@@ -228,7 +228,7 @@ export struct OperRowListView { @@ -228,7 +228,7 @@ export struct OperRowListView {
228 } 228 }
229 router.back(); 229 router.back();
230 }) 230 })
231 - 231 + Blank().width(10).visibility(this.showBackIcon ? Visibility.None : Visibility.Visible)
232 232
233 if (this.contentDetailData?.newsId) { 233 if (this.contentDetailData?.newsId) {
234 ForEach(this.operationButtonList, (item: string, index: number) => { 234 ForEach(this.operationButtonList, (item: string, index: number) => {
@@ -5,7 +5,7 @@ import { TopPlayComponent } from '../widgets/details/video/TopPlayComponet'; @@ -5,7 +5,7 @@ import { TopPlayComponent } from '../widgets/details/video/TopPlayComponet';
5 import { DisplayDirection } from 'wdConstant/Index'; 5 import { DisplayDirection } from 'wdConstant/Index';
6 import mediaquery from '@ohos.mediaquery'; 6 import mediaquery from '@ohos.mediaquery';
7 import { CustomToast, Logger, WindowModel } from 'wdKit/Index'; 7 import { CustomToast, Logger, WindowModel } from 'wdKit/Index';
8 -import { router, window } from '@kit.ArkUI'; 8 +import { display, router, window } from '@kit.ArkUI';
9 import { WDAliPlayerController } from 'wdPlayer/Index'; 9 import { WDAliPlayerController } from 'wdPlayer/Index';
10 import { LiveOperRowListView } from 'wdComponent'; 10 import { LiveOperRowListView } from 'wdComponent';
11 import { publishCommentModel } from 'wdComponent/src/main/ets/components/comment/model/PublishCommentModel'; 11 import { publishCommentModel } from 'wdComponent/src/main/ets/components/comment/model/PublishCommentModel';
@@ -49,8 +49,9 @@ export struct DetailPlayLivePage { @@ -49,8 +49,9 @@ export struct DetailPlayLivePage {
49 @Provide banComment: boolean = true 49 @Provide banComment: boolean = true
50 @State isEnd: boolean = false 50 @State isEnd: boolean = false
51 @Consume liveDetailPageLogic: LiveDetailPageLogic 51 @Consume liveDetailPageLogic: LiveDetailPageLogic
52 -  
53 @State toastText: ResourceStr = "这是一个非Wi-Fi环境。请注意流量消耗" 52 @State toastText: ResourceStr = "这是一个非Wi-Fi环境。请注意流量消耗"
  53 + @State topPlayHeight:number = this.getTopPlayHeight()
  54 + @StorageProp('currentBreakpoint') @Watch("currentChanged")currentBreakpoint: string = 'sm';
54 dialogToast: CustomDialogController = new CustomDialogController({ 55 dialogToast: CustomDialogController = new CustomDialogController({
55 builder: CustomToast({ 56 builder: CustomToast({
56 bgColor: 0xB3000000, 57 bgColor: 0xB3000000,
@@ -162,7 +163,7 @@ export struct DetailPlayLivePage { @@ -162,7 +163,7 @@ export struct DetailPlayLivePage {
162 build() { 163 build() {
163 Column() { 164 Column() {
164 TopPlayComponent({ playerController: this.playerController, isEnd: this.isEnd, lastLiveControl: this.lastLiveControl }) 165 TopPlayComponent({ playerController: this.playerController, isEnd: this.isEnd, lastLiveControl: this.lastLiveControl })
165 - .height(this.displayDirection == DisplayDirection.VERTICAL ? 211 : '100%') 166 + .height(this.displayDirection == DisplayDirection.VERTICAL ? this.topPlayHeight : '100%')
166 .margin({ 167 .margin({
167 top: this.displayDirection == DisplayDirection.VERTICAL ? px2vp(this.topSafeHeight) : 0 168 top: this.displayDirection == DisplayDirection.VERTICAL ? px2vp(this.topSafeHeight) : 0
168 }) 169 })
@@ -274,4 +275,14 @@ export struct DetailPlayLivePage { @@ -274,4 +275,14 @@ export struct DetailPlayLivePage {
274 275
275 }) 276 })
276 } 277 }
  278 +
  279 + getTopPlayHeight() {
  280 + let screenWidth = display.getDefaultDisplaySync().width
  281 + return px2vp(screenWidth) * 9/16.0
  282 + }
  283 +
  284 + currentChanged() {
  285 + this.topPlayHeight = this.getTopPlayHeight()
  286 + }
  287 +
277 } 288 }
@@ -109,6 +109,7 @@ export struct DetailPlayShortVideoPage { @@ -109,6 +109,7 @@ export struct DetailPlayShortVideoPage {
109 * 监听下标变化手动创建或销毁视频 109 * 监听下标变化手动创建或销毁视频
110 */ 110 */
111 async currentIndexChange() { 111 async currentIndexChange() {
  112 + // console.log(TAG, 'currentIndex:', this.currentIndex,'index:', this.index)
112 if (this.currentIndex != this.index) { 113 if (this.currentIndex != this.index) {
113 this.playerController.pause() 114 this.playerController.pause()
114 if (this.index <= this.currentIndex - 2 && this.playerController.getPlayer()) { 115 if (this.index <= this.currentIndex - 2 && this.playerController.getPlayer()) {
@@ -156,7 +157,7 @@ export struct DetailPlayShortVideoPage { @@ -156,7 +157,7 @@ export struct DetailPlayShortVideoPage {
156 } 157 }
157 // 已登录->查询用户对作品点赞、收藏状态 158 // 已登录->查询用户对作品点赞、收藏状态
158 ContentDetailRequest.postBatchLikeAndCollectStatus(params).then(res => { 159 ContentDetailRequest.postBatchLikeAndCollectStatus(params).then(res => {
159 - console.log('查询点赞、收藏状态==', JSON.stringify(res.data)) 160 + // console.log('查询点赞、收藏状态==', JSON.stringify(res.data))
160 if (res.data) { 161 if (res.data) {
161 this.newsStatusOfUser = res.data[0] 162 this.newsStatusOfUser = res.data[0]
162 } 163 }
@@ -167,7 +168,7 @@ export struct DetailPlayShortVideoPage { @@ -167,7 +168,7 @@ export struct DetailPlayShortVideoPage {
167 } 168 }
168 // 已登录->批量查作品是否被号主关注 169 // 已登录->批量查作品是否被号主关注
169 ContentDetailRequest.postBatchAttentionStatus(params1).then(res => { 170 ContentDetailRequest.postBatchAttentionStatus(params1).then(res => {
170 - console.log('批量查号主是否为用户关注==', JSON.stringify(res.data)) 171 + // console.log('批量查号主是否为用户关注==', JSON.stringify(res.data))
171 if (res.data) { 172 if (res.data) {
172 this.followStatus = res.data[0]?.status 173 this.followStatus = res.data[0]?.status
173 } 174 }
@@ -182,10 +183,11 @@ export struct DetailPlayShortVideoPage { @@ -182,10 +183,11 @@ export struct DetailPlayShortVideoPage {
182 contentType: this.contentDetailData?.newsType || 0, 183 contentType: this.contentDetailData?.newsType || 0,
183 }] 184 }]
184 } 185 }
185 - ContentDetailRequest.postInteractBrowsOperate(params2).then(res => {  
186 - console.log('记录浏览历史==', JSON.stringify(res.data))  
187 -  
188 - }) 186 + ContentDetailRequest.postInteractBrowsOperate(params2)
  187 + // .then(res => {
  188 + // // console.log('记录浏览历史==', JSON.stringify(res.data))
  189 + //
  190 + // })
189 } 191 }
190 192
191 } 193 }
@@ -195,7 +197,7 @@ export struct DetailPlayShortVideoPage { @@ -195,7 +197,7 @@ export struct DetailPlayShortVideoPage {
195 if (!this.onlyWifiLoadVideo) { 197 if (!this.onlyWifiLoadVideo) {
196 this.onlyWifiLoadVideo = await onlyWifiLoadVideo() 198 this.onlyWifiLoadVideo = await onlyWifiLoadVideo()
197 this.toastTextVisible = this.onlyWifiLoadVideo ? false : true 199 this.toastTextVisible = this.onlyWifiLoadVideo ? false : true
198 - console.log(TAG, 'this.onlyWifiLoadVideo', this.onlyWifiLoadVideo) 200 + // console.log(TAG, 'this.onlyWifiLoadVideo', this.onlyWifiLoadVideo)
199 } 201 }
200 202
201 this.videoLandScape = this.contentDetailData.videoInfo[0]?.videoLandScape 203 this.videoLandScape = this.contentDetailData.videoInfo[0]?.videoLandScape
@@ -241,12 +243,12 @@ export struct DetailPlayShortVideoPage { @@ -241,12 +243,12 @@ export struct DetailPlayShortVideoPage {
241 } else if (this.contentDetailData.newsType == 14 || this.contentDetailData.newsType == 15) { 243 } else if (this.contentDetailData.newsType == 14 || this.contentDetailData.newsType == 15) {
242 this.PageName = TrackConstants.PageName.DynamicDetail // 动态图文/动态视频 244 this.PageName = TrackConstants.PageName.DynamicDetail // 动态图文/动态视频
243 } 245 }
244 - console.log('视频详情页', JSON.stringify(this.pageParam))  
245 - console.log('视频详情页2', JSON.stringify(this.PageName)) 246 + // console.log('视频详情页', JSON.stringify(this.pageParam))
  247 + // console.log('视频详情页2', JSON.stringify(this.PageName))
246 } 248 }
247 249
248 async aboutToDisappear(): Promise<void> { 250 async aboutToDisappear(): Promise<void> {
249 - console.log(TAG, 'aboutToDisappear', this.index) 251 + // console.log(TAG, 'aboutToDisappear', this.index)
250 await this.playerController?.pause() 252 await this.playerController?.pause()
251 // await this.playerController?.stop() 253 // await this.playerController?.stop()
252 // await this.playerController?.release(); 254 // await this.playerController?.release();
@@ -310,11 +312,11 @@ export struct DetailPlayShortVideoPage { @@ -310,11 +312,11 @@ export struct DetailPlayShortVideoPage {
310 } 312 }
311 }) 313 })
312 this.playerViewBuilder() 314 this.playerViewBuilder()
313 - if (this.index === this.currentIndex) {  
314 - PlayerBottomView({  
315 - playerController: this.playerController  
316 - })  
317 - } 315 + PlayerBottomView({
  316 + playerController: this.playerController,
  317 + index: this.index,
  318 + currentIndex: this.currentIndex,
  319 + })
318 320
319 PlayerRightView({ 321 PlayerRightView({
320 playerController: this.playerController 322 playerController: this.playerController
@@ -349,6 +351,7 @@ export struct DetailPlayShortVideoPage { @@ -349,6 +351,7 @@ export struct DetailPlayShortVideoPage {
349 operationButtonList: ['comment',], 351 operationButtonList: ['comment',],
350 contentDetailData: this.contentDetailData, 352 contentDetailData: this.contentDetailData,
351 publishCommentModel: this.publishCommentModel, 353 publishCommentModel: this.publishCommentModel,
  354 + interactData:this.interactData,
352 showCommentIcon: false, 355 showCommentIcon: false,
353 onBack: () => { 356 onBack: () => {
354 // WindowModel.shared.setWindowLayoutFullScreen(false) 357 // WindowModel.shared.setWindowLayoutFullScreen(false)
@@ -98,7 +98,7 @@ export struct VideoChannelDetail { @@ -98,7 +98,7 @@ export struct VideoChannelDetail {
98 this.switchVideoStatus = false 98 this.switchVideoStatus = false
99 this.closeFullScreen() 99 this.closeFullScreen()
100 100
101 - console.log(TAG, '一级视频隐藏') 101 + // console.log(TAG, '一级视频隐藏')
102 this.pageHideTime = DateTimeUtils.getTimeStamp() 102 this.pageHideTime = DateTimeUtils.getTimeStamp()
103 let duration = 0 103 let duration = 0
104 duration = Math.floor((this.pageHideTime - this.pageShowTime) / 1000) 104 duration = Math.floor((this.pageHideTime - this.pageShowTime) / 1000)
@@ -110,7 +110,7 @@ export struct VideoChannelDetail { @@ -110,7 +110,7 @@ export struct VideoChannelDetail {
110 * 监听视频频道激活或失活 110 * 监听视频频道激活或失活
111 */ 111 */
112 navIndexChange() { 112 navIndexChange() {
113 - console.log('navIndexChange', this.bottomNavIndex, this.topNavIndex) 113 + // console.log('navIndexChange', this.bottomNavIndex, this.topNavIndex)
114 if (this.bottomNavIndex === 2 && this.topNavIndex === 0) { 114 if (this.bottomNavIndex === 2 && this.topNavIndex === 0) {
115 // this.barBackgroundColor = Color.Black 115 // this.barBackgroundColor = Color.Black
116 this.switchVideoStatus = true 116 this.switchVideoStatus = true
@@ -139,12 +139,12 @@ export struct VideoChannelDetail { @@ -139,12 +139,12 @@ export struct VideoChannelDetail {
139 139
140 aboutToAppear() { 140 aboutToAppear() {
141 this.getDetail() 141 this.getDetail()
142 - Logger.info(TAG, 'aboutToAppear'); 142 + // Logger.info(TAG, 'aboutToAppear');
143 } 143 }
144 144
145 aboutToDisappear(): void { 145 aboutToDisappear(): void {
146 this.closeFullScreen() 146 this.closeFullScreen()
147 - Logger.info(TAG, 'aboutToDisappear'); 147 + // Logger.info(TAG, 'aboutToDisappear');
148 } 148 }
149 149
150 /** 150 /**
@@ -209,7 +209,7 @@ export struct VideoChannelDetail { @@ -209,7 +209,7 @@ export struct VideoChannelDetail {
209 209
210 await ContentDetailRequest.getRecCompInfo(params).then(async res => { 210 await ContentDetailRequest.getRecCompInfo(params).then(async res => {
211 this.isOffLine = res.data == null ? true : false 211 this.isOffLine = res.data == null ? true : false
212 - console.log('根据视频频道传参查询视频楼层信息totalCount', res.data?.totalCount + '') 212 + // console.log('根据视频频道传参查询视频楼层信息totalCount', res.data?.totalCount + '')
213 213
214 this.totalCount = res.data?.totalCount || 0 214 this.totalCount = res.data?.totalCount || 0
215 const list1: batchContentDetailParams = { 215 const list1: batchContentDetailParams = {
@@ -259,7 +259,7 @@ export struct VideoChannelDetail { @@ -259,7 +259,7 @@ export struct VideoChannelDetail {
259 this.data = this.data.concat(res.data) 259 this.data = this.data.concat(res.data)
260 this.dataContentDetail.addItems(res.data) 260 this.dataContentDetail.addItems(res.data)
261 } 261 }
262 - console.log('根据视频楼层信息批量查询视频列表', JSON.stringify(res.data)) 262 + // console.log('根据视频楼层信息批量查询视频列表', JSON.stringify(res.data))
263 }).finally(() => { 263 }).finally(() => {
264 setTimeout(() => { 264 setTimeout(() => {
265 this.isRequesting = false 265 this.isRequesting = false
@@ -280,7 +280,7 @@ export struct VideoChannelDetail { @@ -280,7 +280,7 @@ export struct VideoChannelDetail {
280 if (res.data) { 280 if (res.data) {
281 this.interactDataList = this.interactDataList.concat(res.data) 281 this.interactDataList = this.interactDataList.concat(res.data)
282 } 282 }
283 - console.log('根据视频信息批量查询点赞、收藏状态', res.data) 283 + // console.log('根据视频信息批量查询点赞、收藏状态', res.data)
284 }) 284 })
285 } 285 }
286 } 286 }
@@ -328,7 +328,7 @@ export struct VideoChannelDetail { @@ -328,7 +328,7 @@ export struct VideoChannelDetail {
328 .height('100%') 328 .height('100%')
329 .onChange((index: number) => { 329 .onChange((index: number) => {
330 this.currentIndex = index 330 this.currentIndex = index
331 - console.info('onChange==', index.toString()) 331 + // console.info('onChange==', index.toString())
332 332
333 if (this.currentIndex === this.data.length - 1) { 333 if (this.currentIndex === this.data.length - 1) {
334 this.pageNum++ 334 this.pageNum++
@@ -13,15 +13,20 @@ export struct PlayerBottomView { @@ -13,15 +13,20 @@ export struct PlayerBottomView {
13 @Consume isDragging?: boolean 13 @Consume isDragging?: boolean
14 @Consume contentDetailData: ContentDetailDTO 14 @Consume contentDetailData: ContentDetailDTO
15 @Consume displayDirection: DisplayDirection 15 @Consume displayDirection: DisplayDirection
  16 + @Prop index: number = 0
  17 + @Prop currentIndex: number = 0
16 18
17 aboutToAppear(): void { 19 aboutToAppear(): void {
18 -  
19 } 20 }
20 21
21 build() { 22 build() {
22 Column() { 23 Column() {
23 PlayerTitleView() 24 PlayerTitleView()
24 - PlayerProgressView({ playerController: this.playerController }) 25 + PlayerProgressView({
  26 + playerController: this.playerController,
  27 + index: this.index,
  28 + currentIndex: this.currentIndex,
  29 + })
25 } 30 }
26 .width('100%') 31 .width('100%')
27 .alignItems(HorizontalAlign.Start) 32 .alignItems(HorizontalAlign.Start)
@@ -16,14 +16,13 @@ export struct PlayerProgressView { @@ -16,14 +16,13 @@ export struct PlayerProgressView {
16 @State loadingWidth: number | string = 1 16 @State loadingWidth: number | string = 1
17 @State showLoading: boolean = false 17 @State showLoading: boolean = false
18 @Consume onlyWifiLoadVideo: boolean 18 @Consume onlyWifiLoadVideo: boolean
  19 + @Prop index: number = 0
  20 + @Prop @Watch('currentIndexChange') currentIndex: number = 0
19 timer: number = 0 21 timer: number = 0
20 22
21 - aboutToAppear() {  
22 - if (this.playerController) {  
23 - this.playerController.onSeekDone = (status: number) => {  
24 - this.playerController?.play()  
25 - }  
26 - 23 + currentIndexChange() {
  24 + // console.log('DetailPlayShortVideoPage PlayerProgressView', 'currentIndex:', this.currentIndex,'index:', this.index)
  25 + if (this.playerController && this.index == this.currentIndex) {
27 this.playerController.onLoaded = (loaded: number) => { 26 this.playerController.onLoaded = (loaded: number) => {
28 if (loaded == 1) { 27 if (loaded == 1) {
29 this.loadingWidth = '95%' 28 this.loadingWidth = '95%'
@@ -44,6 +43,14 @@ export struct PlayerProgressView { @@ -44,6 +43,14 @@ export struct PlayerProgressView {
44 } 43 }
45 } 44 }
46 45
  46 + aboutToAppear() {
  47 + if (this.playerController) {
  48 + this.playerController.onSeekDone = (status: number) => {
  49 + this.playerController?.play()
  50 + }
  51 + }
  52 + }
  53 +
47 /** 54 /**
48 * 55 *
49 * loading 动效 56 * loading 动效
@@ -71,7 +78,7 @@ export struct PlayerProgressView { @@ -71,7 +78,7 @@ export struct PlayerProgressView {
71 .zIndex(2000) 78 .zIndex(2000)
72 .height(10) 79 .height(10)
73 .visibility(this.showLoading ? Visibility.Visible : Visibility.Hidden) 80 .visibility(this.showLoading ? Visibility.Visible : Visibility.Hidden)
74 - .margin({ bottom: 10 }) 81 + .margin({ bottom: 14 })
75 82
76 // .markAnchor({ x: 0, y: '100%' }) 83 // .markAnchor({ x: 0, y: '100%' })
77 } 84 }
1 import measure from '@ohos.measure' 1 import measure from '@ohos.measure'
2 -import { ContentDetailDTO } from 'wdBean/Index' 2 +import { ContentDetailDTO, Params } from 'wdBean/Index'
3 import { DetailDialog } from './DetailDialog' 3 import { DetailDialog } from './DetailDialog'
4 -import { DateTimeUtils } from 'wdKit' 4 +import { DateTimeUtils, ToastUtils } from 'wdKit'
  5 +import { WDRouterPage, WDRouterRule } from 'wdRouter'
5 6
6 const TAG = 'PlayerTitleView'; 7 const TAG = 'PlayerTitleView';
7 8
@@ -174,7 +175,22 @@ export struct PlayerTitleView { @@ -174,7 +175,22 @@ export struct PlayerTitleView {
174 if (this.getIcon()) { 175 if (this.getIcon()) {
175 Image(this.getIcon()).height(11).margin({ left: 4, top: 3 }) 176 Image(this.getIcon()).height(11).margin({ left: 4, top: 3 })
176 } 177 }
177 - }.margin({ bottom: 8 }) 178 + }
  179 + .zIndex(100)
  180 + .margin({ bottom: 8 })
  181 + .onClick(() => {
  182 + // console.log(TAG, '点击号主@信息')
  183 + // 跳转到号主页
  184 + if (this.contentDetailData.rmhInfo?.cnMainControl === 1) {
  185 + const params: Params = {
  186 + creatorId: this.contentDetailData.rmhInfo.rmhId,
  187 + pageID: ''
  188 + }
  189 + WDRouterRule.jumpWithPage(WDRouterPage.peopleShipHomePage, params)
  190 + } else {
  191 + ToastUtils.showToast("暂时无法查看该创作者主页", 2000);
  192 + }
  193 + })
178 194
179 } 195 }
180 196
@@ -97,6 +97,14 @@ struct Index { @@ -97,6 +97,14 @@ struct Index {
97 97
98 build() { 98 build() {
99 Stack({ alignContent: Alignment.End }) { 99 Stack({ alignContent: Alignment.End }) {
  100 + Progress({ value: 0, total: 100, type: ProgressType.Linear })
  101 + .color("#ED2800")
  102 + .backgroundColor($r('app.color.white'))
  103 + .width("100%")
  104 + .height(3)
  105 + .margin({ top: 57 })
  106 + .value(this.progressVal)
  107 + .visibility(this.isExpand ? Visibility.Visible : Visibility.Hidden)
100 Stack({ alignContent: Alignment.End }) { 108 Stack({ alignContent: Alignment.End }) {
101 Column() { //标题 时间 进度条 109 Column() { //标题 时间 进度条
102 Marquee({ 110 Marquee({
@@ -139,13 +147,6 @@ struct Index { @@ -139,13 +147,6 @@ struct Index {
139 .width("100%") 147 .width("100%")
140 .height(16) 148 .height(16)
141 .margin({ top: 4}) 149 .margin({ top: 4})
142 -  
143 - Progress({ value: this.progressVal, total: 100, type: ProgressType.Capsule })  
144 - .color("#ED2800")  
145 - .backgroundColor($r('app.color.white'))  
146 - .width("100%")  
147 - .height(3)  
148 - .margin({ top: 7 })  
149 } 150 }
150 .padding({ 151 .padding({
151 top: 10, 152 top: 10,
@@ -241,12 +242,6 @@ struct Index { @@ -241,12 +242,6 @@ struct Index {
241 ) 242 )
242 ) 243 )
243 .borderRadius(4) 244 .borderRadius(4)
244 - .padding({  
245 - top: 10,  
246 - bottom: 10,  
247 - left: 10,  
248 - right: 0  
249 - })  
250 .backgroundColor(Color.White) 245 .backgroundColor(Color.White)
251 } 246 }
252 } 247 }