liyubing

Merge remote-tracking branch 'origin/main'

@@ -79,13 +79,22 @@ export class WDSystemShare implements WDShareInterface { @@ -79,13 +79,22 @@ export class WDSystemShare implements WDShareInterface {
79 } 79 }
80 80
81 generateShareLink(shareContent: ShareContentLink) { 81 generateShareLink(shareContent: ShareContentLink) {
82 - let link = "https://peopledailychinahosactivity.drcn.agconnect.link/?deeplink=" + encodeURI(shareContent.deeplink)  
83 - link += "&harmonyos_deeplink=" + encodeURI(shareContent.deeplink) 82 + let link = "https://peopledailychinahosactivity.drcn.agconnect.link?deeplink=" + encodeURIComponent(shareContent.deeplink)
  83 +
  84 + link += "&harmonyos_deeplink=" + encodeURIComponent(shareContent.deeplink)
84 link += "&harmonyos_package_name=com.peopledailychina.hosactivity" 85 link += "&harmonyos_package_name=com.peopledailychina.hosactivity"
85 - link += "&harmonyos_fallback_url=" + encodeURI(shareContent.link) 86 + link += "&harmonyos_fallback_url=" + encodeURIComponent(shareContent.link)
  87 +
  88 + // link += "&android_deeplink=" + encodeURIComponent(shareContent.deeplink)
  89 + // link += "&android_fallback_url=" + encodeURIComponent(shareContent.link)
  90 + //
  91 + // link += "&ios_link=" + encodeURIComponent(shareContent.deeplink)
  92 + // link += "&ios_fallback_url=" + encodeURIComponent(shareContent.link)
  93 +
  94 + link += "&preview_type=1"
86 link += "&landing_page_type=1" 95 link += "&landing_page_type=1"
87 // link += "&social_desc=" + encodeURIComponent(shareContent.desc || " ") 96 // link += "&social_desc=" + encodeURIComponent(shareContent.desc || " ")
88 - // link += "&social_image=" + encodeURI(shareContent.icon || " ") 97 + // link += "&social_image=" + encodeURIComponent(shareContent.icon || " ")
89 // link += "&social_title=" + encodeURIComponent(shareContent.title) 98 // link += "&social_title=" + encodeURIComponent(shareContent.title)
90 link += "&region_id=0" 99 link += "&region_id=0"
91 return link 100 return link
1 import { CompStyle } from 'wdConstant'; 1 import { CompStyle } from 'wdConstant';
2 import { CompDTO, ContentDTO } from 'wdBean'; 2 import { CompDTO, ContentDTO } from 'wdBean';
3 import { Card2Component } from './cardview/Card2Component'; 3 import { Card2Component } from './cardview/Card2Component';
4 -// import { Card3Component } from './cardview/Card3Component'; 4 +import { Card3Component } from './cardview/Card3Component';
5 import { Card4Component } from './cardview/Card4Component'; 5 import { Card4Component } from './cardview/Card4Component';
6 import { Card5Component } from './cardview/Card5Component'; 6 import { Card5Component } from './cardview/Card5Component';
7 import { Card6Component } from './cardview/Card6Component'; 7 import { Card6Component } from './cardview/Card6Component';
@@ -60,11 +60,13 @@ export struct CardParser { @@ -60,11 +60,13 @@ export struct CardParser {
60 } else { 60 } else {
61 if (contentDTO.appStyle === CompStyle.Card_02) { 61 if (contentDTO.appStyle === CompStyle.Card_02) {
62 Card2Component({ compDTO: this.compDTO, contentDTO, pageId: this.pageId, pageName: this.pageName }) 62 Card2Component({ compDTO: this.compDTO, contentDTO, pageId: this.pageId, pageName: this.pageName })
63 - } else if (contentDTO.appStyle === CompStyle.Card_04) { 63 + } else if (contentDTO.appStyle === CompStyle.Card_03) {
  64 + Card3Component({ compDTO: this.compDTO, contentDTO, pageId: this.pageId, pageName: this.pageName })
  65 + }else if (contentDTO.appStyle === CompStyle.Card_04) {
64 Card4Component({ compDTO: this.compDTO, contentDTO, pageId: this.pageId, pageName: this.pageName }) 66 Card4Component({ compDTO: this.compDTO, contentDTO, pageId: this.pageId, pageName: this.pageName })
65 } else if (contentDTO.appStyle === CompStyle.Card_05) { 67 } else if (contentDTO.appStyle === CompStyle.Card_05) {
66 Card5Component({ compDTO: this.compDTO, contentDTO, titleShowPolicy: this.compDTO.titleShowPolicy, pageId: this.pageId, pageName: this.pageName}) 68 Card5Component({ compDTO: this.compDTO, contentDTO, titleShowPolicy: this.compDTO.titleShowPolicy, pageId: this.pageId, pageName: this.pageName})
67 - } else if (contentDTO.appStyle === CompStyle.Card_06 ) { 69 + } else if (contentDTO.appStyle === CompStyle.Card_06 || contentDTO.appStyle === CompStyle.Card_13 ) {
68 Card6Component({ compDTO: this.compDTO, contentDTO: this.contentDTO, pageId: this.pageId, pageName: this.pageName }) 70 Card6Component({ compDTO: this.compDTO, contentDTO: this.contentDTO, pageId: this.pageId, pageName: this.pageName })
69 } else if (contentDTO.appStyle === CompStyle.Card_10) { 71 } else if (contentDTO.appStyle === CompStyle.Card_10) {
70 Card10Component({ compDTO: this.compDTO, contentDTO, pageId: this.pageId, pageName: this.pageName }) 72 Card10Component({ compDTO: this.compDTO, contentDTO, pageId: this.pageId, pageName: this.pageName })
@@ -442,7 +442,7 @@ export struct DynamicDetailComponent { @@ -442,7 +442,7 @@ export struct DynamicDetailComponent {
442 this.contentDetailData.fullColumnImgUrls.length > 0 && 442 this.contentDetailData.fullColumnImgUrls.length > 0 &&
443 !StringUtils.isEmpty(this.contentDetailData.fullColumnImgUrls[0].url) ? 443 !StringUtils.isEmpty(this.contentDetailData.fullColumnImgUrls[0].url) ?
444 this.contentDetailData.fullColumnImgUrls[0].url : 444 this.contentDetailData.fullColumnImgUrls[0].url :
445 - this.contentDetailData.videoInfo[0].firstFrameImageUri) 445 + this.contentDetailData.firstFrameImageUri)
446 .width(DisplayUtils.getDeviceWidth() - 32) 446 .width(DisplayUtils.getDeviceWidth() - 32)
447 .height((DisplayUtils.getDeviceWidth() - 32) * 9 / 16) 447 .height((DisplayUtils.getDeviceWidth() - 32) * 9 / 16)
448 .borderRadius($r('app.float.image_border_radius')) 448 .borderRadius($r('app.float.image_border_radius'))
@@ -460,7 +460,7 @@ export struct DynamicDetailComponent { @@ -460,7 +460,7 @@ export struct DynamicDetailComponent {
460 this.contentDetailData.fullColumnImgUrls.length > 0 && 460 this.contentDetailData.fullColumnImgUrls.length > 0 &&
461 !StringUtils.isEmpty(this.contentDetailData.fullColumnImgUrls[0].url) ? 461 !StringUtils.isEmpty(this.contentDetailData.fullColumnImgUrls[0].url) ?
462 this.contentDetailData.fullColumnImgUrls[0].url : 462 this.contentDetailData.fullColumnImgUrls[0].url :
463 - this.contentDetailData.videoInfo[0].firstFrameImageUri) 463 + this.contentDetailData.firstFrameImageUri)
464 .width(DisplayUtils.getDeviceWidth() / 2) 464 .width(DisplayUtils.getDeviceWidth() / 2)
465 .height(DisplayUtils.getDeviceWidth() / 2 * 4 / 3) 465 .height(DisplayUtils.getDeviceWidth() / 2 * 4 / 3)
466 .borderRadius($r('app.float.image_border_radius')) 466 .borderRadius($r('app.float.image_border_radius'))
@@ -86,7 +86,7 @@ export struct MorningEveningPaperComponent { @@ -86,7 +86,7 @@ export struct MorningEveningPaperComponent {
86 offset: { dx: 12, dy: -150 }, 86 offset: { dx: 12, dy: -150 },
87 87
88 }) 88 })
89 - // private AudioSuspension = new AudioSuspensionModel() 89 + private AudioSuspension = new AudioSuspensionModel()
90 90
91 onCancel() { 91 onCancel() {
92 Logger.info(TAG, "cj2024 onCancel = ") 92 Logger.info(TAG, "cj2024 onCancel = ")
@@ -149,19 +149,22 @@ export struct MorningEveningPaperComponent { @@ -149,19 +149,22 @@ export struct MorningEveningPaperComponent {
149 Logger.info(TAG, "pageInfoBean dateTime = " + dateTime) 149 Logger.info(TAG, "pageInfoBean dateTime = " + dateTime)
150 Logger.info(TAG, "pageInfoBean subTitle = " + this.subTitle) 150 Logger.info(TAG, "pageInfoBean subTitle = " + this.subTitle)
151 151
  152 + Logger.info(TAG, "this.pageInfoBean = " + JSON.stringify(this.pageInfoBean))
  153 +
152 this.isHasTopView = this.pageInfoBean?.topicInfo?.frontLinkObject?true:false 154 this.isHasTopView = this.pageInfoBean?.topicInfo?.frontLinkObject?true:false
153 let coverUrl = this.isHasTopView?this.pageInfoBean?.topicInfo?.frontLinkObject?.coverUrl as string :'' 155 let coverUrl = this.isHasTopView?this.pageInfoBean?.topicInfo?.frontLinkObject?.coverUrl as string :''
154 this.setComponentBgColor(coverUrl) 156 this.setComponentBgColor(coverUrl)
155 157
156 let compInfoBean = await MorningEveningViewModel.getMorningEveningCompInfo(pageInfoBean?.id, pageInfoBean?.groups[0]?.id, currentTime + "", pageInfoBean?.topicInfo?.topicId) 158 let compInfoBean = await MorningEveningViewModel.getMorningEveningCompInfo(pageInfoBean?.id, pageInfoBean?.groups[0]?.id, currentTime + "", pageInfoBean?.topicInfo?.topicId)
157 // this.compInfoBean = compInfoBean 159 // this.compInfoBean = compInfoBean
  160 + Logger.info(TAG, "compInfoBean = " + JSON.stringify(compInfoBean))
158 if (compInfoBean?.compList[0]) { 161 if (compInfoBean?.compList[0]) {
159 this.compListItem = compInfoBean?.compList[0] 162 this.compListItem = compInfoBean?.compList[0]
160 Logger.debug(TAG, '获取评论数据' + `${this.compListItem.operDataList.length}`) 163 Logger.debug(TAG, '获取评论数据' + `${this.compListItem.operDataList.length}`)
161 if (this.compListItem.operDataList && this.compListItem.operDataList.length > 0) { 164 if (this.compListItem.operDataList && this.compListItem.operDataList.length > 0) {
162 this.getAllContentInteractData(this.compListItem.operDataList) 165 this.getAllContentInteractData(this.compListItem.operDataList)
163 } 166 }
164 - Logger.debug('compInfoBean?.compList[0].audioDataList', JSON.stringify(compInfoBean?.compList[0].audioDataList)) 167 + Logger.debug(TAG, 'compInfoBean?.compList[0].audioDataList', JSON.stringify(compInfoBean?.compList[0].audioDataList))
165 if (compInfoBean?.compList[0].audioDataList) { 168 if (compInfoBean?.compList[0].audioDataList) {
166 this.audioPlayUrl = compInfoBean?.compList[0].audioDataList[0].audioUrl 169 this.audioPlayUrl = compInfoBean?.compList[0].audioDataList[0].audioUrl
167 this.audioTitle = compInfoBean?.compList[0].audioDataList[0].title 170 this.audioTitle = compInfoBean?.compList[0].audioDataList[0].title
@@ -258,12 +261,11 @@ export struct MorningEveningPaperComponent { @@ -258,12 +261,11 @@ export struct MorningEveningPaperComponent {
258 topicInfoView({ frontLinkObject: this.pageInfoBean?.topicInfo?.frontLinkObject }) 261 topicInfoView({ frontLinkObject: this.pageInfoBean?.topicInfo?.frontLinkObject })
259 } 262 }
260 263
261 - //暂时不展示音频播报  
262 - // if (this.audioPlayUrl.length > 0){  
263 - // ListItem() {  
264 - // this.AudioBarView(this.simpleAudioDialog)  
265 - // }  
266 - // } 264 + if (this.audioPlayUrl !== ""){
  265 + ListItem() {
  266 + this.AudioBarView()
  267 + }
  268 + }
267 } 269 }
268 270
269 ListItem() { 271 ListItem() {
@@ -307,7 +309,7 @@ export struct MorningEveningPaperComponent { @@ -307,7 +309,7 @@ export struct MorningEveningPaperComponent {
307 } 309 }
308 310
309 @Builder 311 @Builder
310 - AudioBarView(dialog: CustomDialogController) { 312 + AudioBarView() {
311 Row() { 313 Row() {
312 Stack({ alignContent: Alignment.Start }) { 314 Stack({ alignContent: Alignment.Start }) {
313 Image($r('app.media.listen_left_bg')) 315 Image($r('app.media.listen_left_bg'))
@@ -320,7 +322,7 @@ export struct MorningEveningPaperComponent { @@ -320,7 +322,7 @@ export struct MorningEveningPaperComponent {
320 .margin({ left: 10 }) 322 .margin({ left: 10 })
321 .alignSelf(ItemAlign.Start) 323 .alignSelf(ItemAlign.Start)
322 324
323 - Text('晚上好, 请收听今日新闻播报') 325 + Text(`${this.pageInfoBean.topicInfo.topicPattern === 1 ? '早上好' : this.pageInfoBean.topicInfo.topicPattern === 2 ? '中午好' : '晚上好'}, 请收听今日新闻播报`)
324 .fontSize(14) 326 .fontSize(14)
325 .margin({ left: 50 }) 327 .margin({ left: 50 })
326 .fontColor(Color.Black) 328 .fontColor(Color.Black)
@@ -345,7 +347,7 @@ export struct MorningEveningPaperComponent { @@ -345,7 +347,7 @@ export struct MorningEveningPaperComponent {
345 Logger.info("TAG", "cj compInfoBean onClick1 = " + this.isAudioPlaying) 347 Logger.info("TAG", "cj compInfoBean onClick1 = " + this.isAudioPlaying)
346 // dialog.open() 348 // dialog.open()
347 // this.playerController.firstPlay(this.audioPlayUrl, this.audioTitle) 349 // this.playerController.firstPlay(this.audioPlayUrl, this.audioTitle)
348 - // this.AudioSuspension.setPlayerUrl(this.audioPlayUrl, this.audioTitle) 350 + this.AudioSuspension.setPlayerUrl(this.audioPlayUrl, this.audioTitle)
349 Logger.info(TAG, "this.audioPlayUrl = " + this.audioPlayUrl) 351 Logger.info(TAG, "this.audioPlayUrl = " + this.audioPlayUrl)
350 Logger.info("TAG", "cj compInfoBean onClick2 = " + this.isAudioPlaying) 352 Logger.info("TAG", "cj compInfoBean onClick2 = " + this.isAudioPlaying)
351 }) 353 })
@@ -19,7 +19,8 @@ struct EditUserInfoPage { @@ -19,7 +19,8 @@ struct EditUserInfoPage {
19 @State headerImg: string = '' 19 @State headerImg: string = ''
20 @State dataSource: AreaListModel[] = [] 20 @State dataSource: AreaListModel[] = []
21 @State currentUserInfo: editModel = new editModel() 21 @State currentUserInfo: editModel = new editModel()
22 - @State bottomSafeHeight: number = 0; 22 + @State topSafeHeight: number = AppStorage.get<number>('topSafeHeight') || 0
  23 + @State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') || 0
23 24
24 dialogController: CustomDialogController = new CustomDialogController({ 25 dialogController: CustomDialogController = new CustomDialogController({
25 builder: AreaPickerDialog({dataSource:this.dataSource, 26 builder: AreaPickerDialog({dataSource:this.dataSource,
@@ -34,10 +35,7 @@ struct EditUserInfoPage { @@ -34,10 +35,7 @@ struct EditUserInfoPage {
34 }), 35 }),
35 alignment: DialogAlignment.Bottom, 36 alignment: DialogAlignment.Bottom,
36 customStyle: true, 37 customStyle: true,
37 - offset: {  
38 - dx: 0,  
39 - dy: -this.bottomSafeHeight  
40 - }, 38 + closeAnimation:{duration:0}
41 }) 39 })
42 40
43 dateDialogController: CustomDialogController = new CustomDialogController({ 41 dateDialogController: CustomDialogController = new CustomDialogController({
@@ -53,10 +51,7 @@ struct EditUserInfoPage { @@ -53,10 +51,7 @@ struct EditUserInfoPage {
53 }), 51 }),
54 alignment: DialogAlignment.Bottom, 52 alignment: DialogAlignment.Bottom,
55 customStyle: true, 53 customStyle: true,
56 - offset: {  
57 - dx: 0,  
58 - dy: -this.bottomSafeHeight  
59 - }, 54 + closeAnimation:{duration:0}
60 }) 55 })
61 56
62 sexDialogController: CustomDialogController = new CustomDialogController({ 57 sexDialogController: CustomDialogController = new CustomDialogController({
@@ -69,15 +64,10 @@ struct EditUserInfoPage { @@ -69,15 +64,10 @@ struct EditUserInfoPage {
69 }), 64 }),
70 alignment: DialogAlignment.Bottom, 65 alignment: DialogAlignment.Bottom,
71 customStyle: true, 66 customStyle: true,
72 - offset: {  
73 - dx: 0,  
74 - dy: -this.bottomSafeHeight  
75 - }, 67 + closeAnimation:{duration:0}
76 }) 68 })
77 69
78 - async aboutToAppear() {  
79 - let windowHight: window.Window = await window.getLastWindow(getContext(this));  
80 - this.bottomSafeHeight = px2vp(windowHight.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM).bottomRect.height) 70 + aboutToAppear() {
81 this.getAccountOwnerInfo() 71 this.getAccountOwnerInfo()
82 this.getAreaList() 72 this.getAreaList()
83 } 73 }
@@ -142,6 +132,7 @@ struct EditUserInfoPage { @@ -142,6 +132,7 @@ struct EditUserInfoPage {
142 } 132 }
143 .width('100%') 133 .width('100%')
144 .height('100%') 134 .height('100%')
  135 + .padding({top:px2vp(this.topSafeHeight),bottom:px2vp(this.bottomSafeHeight)})
145 } 136 }
146 137
147 @Builder 138 @Builder
@@ -9,6 +9,8 @@ struct EditUserIntroductionPage { @@ -9,6 +9,8 @@ struct EditUserIntroductionPage {
9 @State textColor : string = '#222222' 9 @State textColor : string = '#222222'
10 @State introduction: string = '' 10 @State introduction: string = ''
11 @State params:editModelParams = router.getParams() as editModelParams; 11 @State params:editModelParams = router.getParams() as editModelParams;
  12 + @State topSafeHeight: number = AppStorage.get<number>('topSafeHeight') || 0
  13 + @State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') || 0
12 build() { 14 build() {
13 Column(){ 15 Column(){
14 CustomTitleUI({titleName:'修改简介'}) 16 CustomTitleUI({titleName:'修改简介'})
@@ -63,6 +65,7 @@ struct EditUserIntroductionPage { @@ -63,6 +65,7 @@ struct EditUserIntroductionPage {
63 this.updateEditModel() 65 this.updateEditModel()
64 }) 66 })
65 } 67 }
  68 + .padding({top:px2vp(this.topSafeHeight),bottom:px2vp(this.bottomSafeHeight)})
66 } 69 }
67 70
68 71
@@ -12,6 +12,8 @@ struct EditUserNikeNamePage { @@ -12,6 +12,8 @@ struct EditUserNikeNamePage {
12 @State textColor : string = '#222222' 12 @State textColor : string = '#222222'
13 @State nikeName: string = '' 13 @State nikeName: string = ''
14 @State params:editModelParams = router.getParams() as editModelParams; 14 @State params:editModelParams = router.getParams() as editModelParams;
  15 + @State topSafeHeight: number = AppStorage.get<number>('topSafeHeight') || 0
  16 + @State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') || 0
15 build() { 17 build() {
16 Column(){ 18 Column(){
17 CustomTitleUI({titleName:'修改昵称'}) 19 CustomTitleUI({titleName:'修改昵称'})
@@ -66,7 +68,7 @@ struct EditUserNikeNamePage { @@ -66,7 +68,7 @@ struct EditUserNikeNamePage {
66 ///内部更新 68 ///内部更新
67 this.updateEditModel() 69 this.updateEditModel()
68 }) 70 })
69 - } 71 + }.padding({top:px2vp(this.topSafeHeight),bottom:px2vp(this.bottomSafeHeight)})
70 } 72 }
71 73
72 async updateEditModel(){ 74 async updateEditModel(){
@@ -20,6 +20,8 @@ struct InteractMessagePage { @@ -20,6 +20,8 @@ struct InteractMessagePage {
20 private scroller: Scroller = new Scroller(); 20 private scroller: Scroller = new Scroller();
21 @State likeNum: number = 0 21 @State likeNum: number = 0
22 @State currentPage: number = 1; 22 @State currentPage: number = 1;
  23 + @State topSafeHeight: number = AppStorage.get<number>('topSafeHeight') || 0
  24 + @State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') || 0
23 25
24 aboutToAppear(){ 26 aboutToAppear(){
25 this.getData() 27 this.getData()
@@ -58,6 +60,8 @@ struct InteractMessagePage { @@ -58,6 +60,8 @@ struct InteractMessagePage {
58 } 60 }
59 .width(CommonConstants.FULL_WIDTH) 61 .width(CommonConstants.FULL_WIDTH)
60 .height(CommonConstants.FULL_HEIGHT) 62 .height(CommonConstants.FULL_HEIGHT)
  63 + .padding({top:px2vp(this.topSafeHeight),bottom:px2vp(this.bottomSafeHeight)})
  64 +
61 } 65 }
62 66
63 @Builder ListLayout() { 67 @Builder ListLayout() {
@@ -34,6 +34,8 @@ struct MyCollectionListPage { @@ -34,6 +34,8 @@ struct MyCollectionListPage {
34 @State currentPage: number = 1; 34 @State currentPage: number = 1;
35 private scroller: Scroller = new Scroller(); 35 private scroller: Scroller = new Scroller();
36 emptyType: WDViewDefaultType = WDViewDefaultType.WDViewDefaultType_Default 36 emptyType: WDViewDefaultType = WDViewDefaultType.WDViewDefaultType_Default
  37 + @State topSafeHeight: number = AppStorage.get<number>('topSafeHeight') || 0
  38 + @State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') || 0
37 39
38 dialogController: CustomDialogController = new CustomDialogController({ 40 dialogController: CustomDialogController = new CustomDialogController({
39 builder: MyCustomDialog({ 41 builder: MyCustomDialog({
@@ -120,6 +122,8 @@ struct MyCollectionListPage { @@ -120,6 +122,8 @@ struct MyCollectionListPage {
120 .backgroundColor('#FFFFFF') 122 .backgroundColor('#FFFFFF')
121 .width(CommonConstants.FULL_WIDTH) 123 .width(CommonConstants.FULL_WIDTH)
122 .height(CommonConstants.FULL_HEIGHT) 124 .height(CommonConstants.FULL_HEIGHT)
  125 + .padding({top:px2vp(this.topSafeHeight),bottom:px2vp(this.bottomSafeHeight)})
  126 +
123 } 127 }
124 128
125 @Builder ListLayout() { 129 @Builder ListLayout() {
@@ -149,16 +153,14 @@ struct MyCollectionListPage { @@ -149,16 +153,14 @@ struct MyCollectionListPage {
149 selectCallback:(isOn)=>{ 153 selectCallback:(isOn)=>{
150 this.addCompDTO(isOn,compDTO) 154 this.addCompDTO(isOn,compDTO)
151 } 155 }
152 - })  
153 - .margin({left:16})  
154 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }); 156 + }).margin({left:16})
155 } 157 }
156 Column() { 158 Column() {
157 BigPicCardComponent({compDTO:new CompDTO,contentDTO:compDTO,pageId:TrackConstants.PageName.My_Collect,pageName:TrackConstants.PageName.My_Collect}) 159 BigPicCardComponent({compDTO:new CompDTO,contentDTO:compDTO,pageId:TrackConstants.PageName.My_Collect,pageName:TrackConstants.PageName.My_Collect})
158 Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }); 160 Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 });
159 } 161 }
160 }.onVisibleAreaChange([0.0, 1.0], (isVisible: boolean, currentRatio: number) => { 162 }.onVisibleAreaChange([0.0, 1.0], (isVisible: boolean, currentRatio: number) => {
161 - if (isVisible) { 163 + if (isVisible && !this.isEditState) {
162 TrackingContent.common(TrackConstants.EventType.Show, TrackConstants.PageName.My_Collect,TrackConstants.PageName.My_Collect, TrackParamConvert.program(compDTO)) 164 TrackingContent.common(TrackConstants.EventType.Show, TrackConstants.PageName.My_Collect,TrackConstants.PageName.My_Collect, TrackParamConvert.program(compDTO))
163 } 165 }
164 }) 166 })
@@ -291,6 +293,7 @@ struct MyCollectionListPage { @@ -291,6 +293,7 @@ struct MyCollectionListPage {
291 compDTO.interactData = this.commentList[index] 293 compDTO.interactData = this.commentList[index]
292 datas.push(compDTO) 294 datas.push(compDTO)
293 } 295 }
  296 + this.allDatas = []
294 this.allDatas.push(...datas) 297 this.allDatas.push(...datas)
295 } catch (exception) { 298 } catch (exception) {
296 } 299 }
@@ -30,7 +30,7 @@ export struct SearchCreatorComponent{ @@ -30,7 +30,7 @@ export struct SearchCreatorComponent{
30 .fontSize('25lpx') 30 .fontSize('25lpx')
31 .fontWeight('400lpx') 31 .fontWeight('400lpx')
32 .lineHeight('35lpx') 32 .lineHeight('35lpx')
33 - .constraintSize({maxWidth:'150lpx'}) 33 + .constraintSize({maxWidth:'125lpx'})
34 .maxLines(1) 34 .maxLines(1)
35 .textOverflow({ overflow: TextOverflow.Ellipsis }) 35 .textOverflow({ overflow: TextOverflow.Ellipsis })
36 }.alignItems(HorizontalAlign.Center) 36 }.alignItems(HorizontalAlign.Center)
@@ -221,6 +221,8 @@ export class PageHelper { @@ -221,6 +221,8 @@ export class PageHelper {
221 // let pageDto = page 221 // let pageDto = page
222 let index = pageInfo.groups.indexOf(group) 222 let index = pageInfo.groups.indexOf(group)
223 223
  224 + Logger.debug(TAG, 'yyyy parseGroup print')
  225 + this.printComp(pageDto)
224 // 解析楼层组件 226 // 解析楼层组件
225 this.analysisPageGroupCompData(pageDto, pageInfo) 227 this.analysisPageGroupCompData(pageDto, pageInfo)
226 228
@@ -293,7 +295,8 @@ export class PageHelper { @@ -293,7 +295,8 @@ export class PageHelper {
293 if (pageDto.compAdList != null) { 295 if (pageDto.compAdList != null) {
294 pageInfo.pageAdList.push(...pageDto.compAdList) 296 pageInfo.pageAdList.push(...pageDto.compAdList)
295 } 297 }
296 - 298 + // TODO 待删除
  299 + Logger.debug(TAG, 'yyyy analysisPageGroupCompData size, '+pageInfo?.oneRequestPageGroupCompList?.length)
297 } 300 }
298 301
299 } 302 }
@@ -340,6 +343,8 @@ export class PageHelper { @@ -340,6 +343,8 @@ export class PageHelper {
340 pageModel.currentPage++; 343 pageModel.currentPage++;
341 pageModel.hasMore = true; 344 pageModel.hasMore = true;
342 345
  346 + Logger.debug(TAG, 'yyyy compLoadMore print')
  347 + this.printComp(data)
343 //移除音频 和 活动 348 //移除音频 和 活动
344 this.loadMorePageComp(pageModel, data) 349 this.loadMorePageComp(pageModel, data)
345 // 参与批查 350 // 参与批查
@@ -366,6 +371,8 @@ export class PageHelper { @@ -366,6 +371,8 @@ export class PageHelper {
366 pageCompList.forEach((comp: CompDTO) => { 371 pageCompList.forEach((comp: CompDTO) => {
367 pageModel.pageInfo.oneRequestPageGroupCompList.add(comp) 372 pageModel.pageInfo.oneRequestPageGroupCompList.add(comp)
368 }) 373 })
  374 + // TODO 待删除
  375 + Logger.debug(TAG, 'yyyy loadMorePageComp size, ' + pageModel.pageInfo.oneRequestPageGroupCompList?.length)
369 376
370 // 记录 377 // 记录
371 pageModel.pageTotalCompSize = pageCompList.length + pageModel.pageTotalCompSize 378 pageModel.pageTotalCompSize = pageCompList.length + pageModel.pageTotalCompSize
@@ -843,6 +850,31 @@ export class PageHelper { @@ -843,6 +850,31 @@ export class PageHelper {
843 // 从第二页开始删 850 // 从第二页开始删
844 pageModel.compList.deleteItems(pageModel.firstPageEndIndex + 1) 851 pageModel.compList.deleteItems(pageModel.firstPageEndIndex + 1)
845 } 852 }
  853 +
  854 + /**
  855 + * 临时打印comp相关信息,用于问题定位。TODO 待删除
  856 + */
  857 + private printComp(pageDto: PageDTO) {
  858 + Logger.debug(TAG, 'yyyy printComp pageDto.compList.size: ' + pageDto?.compList?.length)
  859 + new Promise<void>(() => {
  860 + let tmpCompList: CompDTO[] = Array.from(pageDto.compList)
  861 + tmpCompList.forEach((v, k) => {
  862 + if (v && v.operDataList) {
  863 + Logger.warn(TAG, 'yyyy printComp comp forEach, ' + v.compStyle)
  864 + v.operDataList.forEach((cv, ci) => {
  865 + if (cv) {
  866 + Logger.debug(TAG, 'yyyy printComp ContentDTO print, ' + v.compStyle)
  867 + Logger.debug(TAG, 'yyyy printComp ContentDTO xxxx newsTitle, ' + cv.newsTitle)
  868 + } else {
  869 + Logger.warn(TAG, 'yyyy printComp ContentDTO is null, ' + v.compStyle)
  870 + }
  871 + })
  872 + } else {
  873 + Logger.warn(TAG, 'yyyy printComp comp is null or operDataList is empty, ' + v?.compStyle)
  874 + }
  875 + })
  876 + })
  877 + }
846 } 878 }
847 879
848 880
@@ -11,7 +11,9 @@ export struct PlayerProgressView { @@ -11,7 +11,9 @@ export struct PlayerProgressView {
11 @Consume isDragging: boolean 11 @Consume isDragging: boolean
12 @Consume status: number 12 @Consume status: number
13 @State videoDuration: number = this.contentDetailData?.videoInfo?.[0]?.videoDuration || 1 13 @State videoDuration: number = this.contentDetailData?.videoInfo?.[0]?.videoDuration || 1
14 - 14 + @State loadingTop: number = 10
  15 + @State loadingWidth: number | string = 1
  16 + @State showLoading: boolean = false
15 aboutToAppear() { 17 aboutToAppear() {
16 if (this.playerController) { 18 if (this.playerController) {
17 this.playerController.onStatusChange = (status: number) => { 19 this.playerController.onStatusChange = (status: number) => {
@@ -20,10 +22,48 @@ export struct PlayerProgressView { @@ -20,10 +22,48 @@ export struct PlayerProgressView {
20 this.playerController.onSeekDone = (status: number) => { 22 this.playerController.onSeekDone = (status: number) => {
21 this.playerController?.play() 23 this.playerController?.play()
22 } 24 }
  25 +
  26 + this.playerController.onLoaded = (loaded: number) => {
  27 + if(loaded == 1) {
  28 + this.loadingWidth = '95%'
  29 + this.showLoading = true
  30 + } else {
  31 + this.loadingWidth = 1
  32 + this.showLoading = false
  33 + }
23 } 34 }
24 } 35 }
  36 + }
  37 +
  38 + /**
  39 + *
  40 + * loading 动效
  41 + */
  42 + @Builder
  43 + playerLoadingBuilder() {
  44 +
  45 + Flex({
  46 + direction: FlexDirection.Row,
  47 + justifyContent: FlexAlign.Center,
  48 + alignItems: ItemAlign.End
  49 + }) {
  50 + Text('')
  51 + .backgroundColor(Color.Gray)
  52 + .width(this.loadingWidth)
  53 + .height(1)
  54 + .animation({ duration: 500, curve: Curve.Ease, iterations: -1, playMode: PlayMode.Normal })
  55 + }
  56 + .width('100%')
  57 + .zIndex(2000)
  58 + .visibility(this.showLoading ? Visibility.Visible: Visibility.Hidden)
  59 + .margin({ bottom: 10 })
  60 + // .markAnchor({ x: 0, y: '100%' })
  61 + }
25 62
26 build() { 63 build() {
  64 + Stack() {
  65 + this.playerLoadingBuilder()
  66 + if(!this.showLoading) {
27 Column() { 67 Column() {
28 Text() { 68 Text() {
29 Span(DateTimeUtils.secondToTime(Math.floor(this.progressVal / 100 * this.videoDuration))) 69 Span(DateTimeUtils.secondToTime(Math.floor(this.progressVal / 100 * this.videoDuration)))
@@ -71,4 +111,6 @@ export struct PlayerProgressView { @@ -71,4 +111,6 @@ export struct PlayerProgressView {
71 } 111 }
72 .visibility(this.isOpenDetail ? Visibility.None : Visibility.Visible) 112 .visibility(this.isOpenDetail ? Visibility.None : Visibility.Visible)
73 } 113 }
  114 + }
  115 + }
74 } 116 }
  1 +import { CommonConstants } from 'wdConstant';
  2 +import { Logger } from 'wdKit';
  3 +
  4 +const TAG = 'EmptyComponent';
  5 +
  6 +/**
  7 + * WDViewDefaultType 缺省页 无网络
  8 + */
  9 +export const enum WDViewDefaultType {
  10 + /// 0.默认
  11 + WDViewDefaultType_Default,
  12 + /// 1.无网
  13 + WDViewDefaultType_NoNetwork,
  14 +}
  15 +
  16 +/**
  17 + * 空数据/无数据
  18 + */
  19 +@Preview
  20 +@Component
  21 +export struct EmptyComponent {
  22 + @State emptyWidth: string | number = CommonConstants.FULL_PARENT;
  23 + @State emptyHeight: string | number = CommonConstants.FULL_PARENT;
  24 + @State emptyType: number = WDViewDefaultType.WDViewDefaultType_NoNetwork; // 缺省图类型,传枚举
  25 + @State emptyButton: boolean = false
  26 + @State timeNum: number = 10
  27 + /**
  28 + * The empty image width percentage setting.
  29 + */
  30 + readonly EMPTY_IMAGE_WIDTH: string = '15%';
  31 + /**
  32 + * The empty image height percentage setting.
  33 + */
  34 + readonly EMPTY_IMAGE_HEIGHT: string = '15%';
  35 + /**
  36 + * The empty data text component margin top.
  37 + */
  38 + readonly EMPTY_TIP_TEXT_MARGIN_TOP: string = '10';
  39 + /**
  40 + * The empty data text opacity.
  41 + */
  42 + readonly TEXT_OPACITY: number = 0.4;
  43 + private timer: number = -1
  44 + retry: () => void = () => {
  45 + }
  46 +
  47 + build() {
  48 + this.noProgrammeData();
  49 + }
  50 +
  51 + /**
  52 + * 无数据,空白view组件
  53 + */
  54 + @Builder
  55 + noProgrammeData() {
  56 + Column() {
  57 + Image(this.buildNoDataTipImage())
  58 + .width(160)
  59 + .height(112)
  60 + .objectFit(ImageFit.Contain)
  61 +
  62 + Text(this.emptyType !== 8 ? this.buildNoDataTip() : `${this.buildNoDataTip()}(${this.timeNum}s)`)
  63 + .fontSize($r('app.float.font_size_14'))// .fontColor('#FF999999')
  64 + .fontWeight(FontWeight.Normal)
  65 + .opacity(this.TEXT_OPACITY)
  66 + .margin({ top: this.EMPTY_TIP_TEXT_MARGIN_TOP })
  67 + .onClick((event: ClickEvent) => {
  68 + Logger.info(TAG, `noProgrammeData onClick event?.source: ${event.source}`);
  69 + })
  70 +
  71 + if (this.isShowButton()) {
  72 + if (this.emptyType !== 15) {
  73 + Button('点击重试')
  74 + .type(ButtonType.Normal)
  75 + .width(80)
  76 + .height(28)
  77 + .backgroundColor('#fffffff')
  78 + .fontColor('#FF666666')
  79 + .border({ width: 1 })
  80 + .borderColor('#FFEDEDED')
  81 + .borderRadius(4)
  82 + .fontSize($r('app.float.font_size_12'))
  83 + .margin({ top: 16 })
  84 + .padding(0)
  85 + .onClick(() => {
  86 + this.retry()
  87 + })
  88 + } else {
  89 + Button('点击重试')
  90 + .type(ButtonType.Normal)
  91 + .width(80)
  92 + .height(28)
  93 + .backgroundColor(Color.Black)
  94 + .fontColor('#FFCCCCCC')
  95 + .border({ width: 1 })
  96 + .borderColor('#4DFFFFFF')
  97 + .borderRadius(4)
  98 + .fontSize($r('app.float.font_size_12'))
  99 + .margin({ top: 16 })
  100 + .padding(0)
  101 + .onClick(() => {
  102 + this.retry()
  103 + })
  104 + }
  105 + }
  106 + }
  107 + .justifyContent(FlexAlign.Center)
  108 + .width(this.emptyWidth)
  109 + .height(this.emptyHeight)
  110 + }
  111 +
  112 + buildNoDataTip(): string {
  113 + Logger.info(TAG, "buildNoDataTip");
  114 + let contentString: string = '暂无内容'
  115 + if (this.emptyType === WDViewDefaultType.WDViewDefaultType_NoNetwork) {
  116 + contentString = '网络出小差了,请检查网络后重试'
  117 + }
  118 + return contentString
  119 + }
  120 +
  121 + buildNoDataTipImage(): Resource | string {
  122 + Logger.info(TAG, "buildNoDataTip");
  123 + let imageString: Resource | string = ""
  124 + if (this.emptyType === WDViewDefaultType.WDViewDefaultType_NoNetwork) {
  125 + imageString = $r('app.media.icon_no_net1')
  126 + }
  127 + return imageString
  128 + }
  129 +
  130 + isShowButton() {
  131 + if (this.emptyType === 1 || this.emptyType === 9 || this.emptyType === 15) {
  132 + return true
  133 + } else {
  134 + return false
  135 + }
  136 + }
  137 +}
  138 +
1 import router from '@ohos.router'; 1 import router from '@ohos.router';
2 import webview from '@ohos.web.webview'; 2 import webview from '@ohos.web.webview';
3 import { SpConstants } from 'wdConstant/Index'; 3 import { SpConstants } from 'wdConstant/Index';
4 -import { Logger, SPHelper } from 'wdKit'; 4 +import { Logger, NetworkUtil, SPHelper } from 'wdKit';
5 import { Params } from '../../../../../../../commons/wdRouter/oh_modules/wdBean/src/main/ets/bean/content/Params'; 5 import { Params } from '../../../../../../../commons/wdRouter/oh_modules/wdBean/src/main/ets/bean/content/Params';
  6 +import { EmptyComponent } from './EmptyComponent';
6 7
7 8
8 const TAG = 'LoginProtocolWebview'; 9 const TAG = 'LoginProtocolWebview';
@@ -12,7 +13,7 @@ const TAG = 'LoginProtocolWebview'; @@ -12,7 +13,7 @@ const TAG = 'LoginProtocolWebview';
12 struct LoginProtocolWebview { 13 struct LoginProtocolWebview {
13 @State topSafeHeight: number = AppStorage.get<number>('topSafeHeight') || 0 14 @State topSafeHeight: number = AppStorage.get<number>('topSafeHeight') || 0
14 @State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') || 0 15 @State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') || 0
15 - webUrl: string = '' 16 + @State webUrl: string = ''
16 webviewController: webview.WebviewController = new webview.WebviewController() 17 webviewController: webview.WebviewController = new webview.WebviewController()
17 userProtocol = "https://cdnpeoplefrontuat.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1005.html" 18 userProtocol = "https://cdnpeoplefrontuat.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1005.html"
18 privateProtocol = 'https://cdnpeoplefrontuat.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1001.html' 19 privateProtocol = 'https://cdnpeoplefrontuat.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1001.html'
@@ -22,6 +23,7 @@ struct LoginProtocolWebview { @@ -22,6 +23,7 @@ struct LoginProtocolWebview {
22 collectionProtocol = 'https://cdnpeoplefront.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1002.html'//收集个人信息明示清单 23 collectionProtocol = 'https://cdnpeoplefront.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1002.html'//收集个人信息明示清单
23 thirdVendorProtocol = 'https://cdnpeoplefront.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1004.html'//第三方信息共享清单 24 thirdVendorProtocol = 'https://cdnpeoplefront.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1004.html'//第三方信息共享清单
24 @State contentID:string = "0" 25 @State contentID:string = "0"
  26 + @State isConnectNetwork : boolean = NetworkUtil.isNetConnected()
25 27
26 async aboutToAppear() { 28 async aboutToAppear() {
27 if (router.getParams()) { 29 if (router.getParams()) {
@@ -33,24 +35,17 @@ struct LoginProtocolWebview { @@ -33,24 +35,17 @@ struct LoginProtocolWebview {
33 if (params.contentID == "1") { //"人民日报客户端网络服务使用协议" 35 if (params.contentID == "1") { //"人民日报客户端网络服务使用协议"
34 this.webUrl = this.userProtocol 36 this.webUrl = this.userProtocol
35 this.webUrl = await SPHelper.default.get(SpConstants.NET_SERVICE_PROTOCOL, this.userProtocol) as string 37 this.webUrl = await SPHelper.default.get(SpConstants.NET_SERVICE_PROTOCOL, this.userProtocol) as string
36 - this.webviewController.loadUrl(this.webUrl)  
37 -  
38 } else if(params.contentID == "2"){ //"人民日报客户端用户隐私协议" 38 } else if(params.contentID == "2"){ //"人民日报客户端用户隐私协议"
39 this.webUrl = this.privateProtocol 39 this.webUrl = this.privateProtocol
40 this.webUrl = await SPHelper.default.get(SpConstants.PRIVATE_PROTOCOL, this.privateProtocol) as string 40 this.webUrl = await SPHelper.default.get(SpConstants.PRIVATE_PROTOCOL, this.privateProtocol) as string
41 - this.webviewController.loadUrl(this.webUrl)  
42 }else if(params.contentID == "3"){ //注销协议 41 }else if(params.contentID == "3"){ //注销协议
43 this.webUrl = await SPHelper.default.get(SpConstants.LOGOUT_PROTOCOL, this.logoutProtocol) as string 42 this.webUrl = await SPHelper.default.get(SpConstants.LOGOUT_PROTOCOL, this.logoutProtocol) as string
44 - this.webviewController.loadUrl(this.webUrl)  
45 } else if(params.contentID == "4"){ //华为用户认证协议 43 } else if(params.contentID == "4"){ //华为用户认证协议
46 this.webUrl = this.huaweiAuthProtocol 44 this.webUrl = this.huaweiAuthProtocol
47 - this.webviewController.loadUrl(this.webUrl)  
48 } else if(params.contentID == "5"){ //收集个人信息明示清单 45 } else if(params.contentID == "5"){ //收集个人信息明示清单
49 this.webUrl = this.collectionProtocol 46 this.webUrl = this.collectionProtocol
50 - this.webviewController.loadUrl(this.webUrl)  
51 } else if(params.contentID == "6"){ //第三方信息共享清单 47 } else if(params.contentID == "6"){ //第三方信息共享清单
52 this.webUrl = this.thirdVendorProtocol 48 this.webUrl = this.thirdVendorProtocol
53 - this.webviewController.loadUrl(this.webUrl)  
54 } 49 }
55 } 50 }
56 51
@@ -75,7 +70,7 @@ struct LoginProtocolWebview { @@ -75,7 +70,7 @@ struct LoginProtocolWebview {
75 .alignItems(VerticalAlign.Center) 70 .alignItems(VerticalAlign.Center)
76 .width('100%') 71 .width('100%')
77 .height(44) 72 .height(44)
78 - 73 + if(this.isConnectNetwork){
79 Web({ src: this.webUrl, controller: this.webviewController }) 74 Web({ src: this.webUrl, controller: this.webviewController })
80 .domStorageAccess(true) 75 .domStorageAccess(true)
81 .databaseAccess(true) 76 .databaseAccess(true)
@@ -89,6 +84,13 @@ struct LoginProtocolWebview { @@ -89,6 +84,13 @@ struct LoginProtocolWebview {
89 Logger.info(TAG, 'onHttpErrorReceive event.response.getResponseCode:' + event?.response.getResponseCode()); 84 Logger.info(TAG, 'onHttpErrorReceive event.response.getResponseCode:' + event?.response.getResponseCode());
90 }) 85 })
91 .padding({bottom:this.contentID === "2" ? "40lpx" : 0 }) 86 .padding({bottom:this.contentID === "2" ? "40lpx" : 0 })
  87 + }else{
  88 + EmptyComponent({ emptyType: 1,emptyHeight:"100%" ,retry: () => {
  89 + this.isConnectNetwork = NetworkUtil.isNetConnected()
  90 + }})
  91 + .layoutWeight(1)
  92 + .width('100%')
  93 + }
92 } 94 }
93 }.width("100%") 95 }.width("100%")
94 .height("100%") 96 .height("100%")
@@ -13,6 +13,7 @@ const TAG = "OneKeyLoginPage" @@ -13,6 +13,7 @@ const TAG = "OneKeyLoginPage"
13 @Entry 13 @Entry
14 @Component 14 @Component
15 struct OneKeyLoginPage { 15 struct OneKeyLoginPage {
  16 + @State topSafeHeight: number = AppStorage.get<number>('topSafeHeight') || 0
16 anonymousPhone: string = '' 17 anonymousPhone: string = ''
17 @State agreeProtocol: boolean = false 18 @State agreeProtocol: boolean = false
18 viewModel: LoginViewModel = new LoginViewModel() 19 viewModel: LoginViewModel = new LoginViewModel()
@@ -121,6 +122,7 @@ struct OneKeyLoginPage { @@ -121,6 +122,7 @@ struct OneKeyLoginPage {
121 }) 122 })
122 } 123 }
123 .backgroundColor("#FFFFFF") 124 .backgroundColor("#FFFFFF")
  125 + .padding({top: `${this.topSafeHeight}px`})
124 } 126 }
125 127
126 @Builder ProtocolRow() { 128 @Builder ProtocolRow() {
@@ -27,6 +27,7 @@ export class WDPlayerController { @@ -27,6 +27,7 @@ export class WDPlayerController {
27 private prepareTime:number = 0; //加载时间 27 private prepareTime:number = 0; //加载时间
28 private currentPlayTime:number = 0; //当前播放时间 28 private currentPlayTime:number = 0; //当前播放时间
29 public onVideoSizeChange?: (width: number, height: number) => void; 29 public onVideoSizeChange?: (width: number, height: number) => void;
  30 + public onLoaded?: (loaded: number) => void;
30 public onTimeUpdate?: (position: number, duration: number) => void; 31 public onTimeUpdate?: (position: number, duration: number) => void;
31 public onVolumeUpdate?: (volume: number) => void; 32 public onVolumeUpdate?: (volume: number) => void;
32 public continue?: () => void; 33 public continue?: () => void;
@@ -86,6 +87,9 @@ export class WDPlayerController { @@ -86,6 +87,9 @@ export class WDPlayerController {
86 if (this.surfaceId) { 87 if (this.surfaceId) {
87 this.avPlayer.surfaceId = this.surfaceId; 88 this.avPlayer.surfaceId = this.surfaceId;
88 } 89 }
  90 + if(this.onLoaded) {
  91 + this.onLoaded(1)
  92 + }
89 93
90 this.avPlayer?.prepare(); 94 this.avPlayer?.prepare();
91 break; 95 break;
@@ -101,6 +105,9 @@ export class WDPlayerController { @@ -101,6 +105,9 @@ export class WDPlayerController {
101 } 105 }
102 break; 106 break;
103 case AVPlayerStatus.PLAYING: 107 case AVPlayerStatus.PLAYING:
  108 + if(this.onLoaded) {
  109 + this.onLoaded(2)
  110 + }
104 this.setBright(); 111 this.setBright();
105 this.status = PlayerConstants.STATUS_START; 112 this.status = PlayerConstants.STATUS_START;
106 this.avPlayer!.videoScaleType = media.VideoScaleType.VIDEO_SCALE_TYPE_FIT 113 this.avPlayer!.videoScaleType = media.VideoScaleType.VIDEO_SCALE_TYPE_FIT