chenquansheng

fix |> 返回稿件详情页刷新逻辑优化

... ... @@ -49,10 +49,5 @@ export enum EmitterEventId {
// 全屏
FULL_SCREEN = 14,
// app页面显示
APP_PAGE_SHOW = 102,
// app页面隐藏
APP_PAGE_HIDDEN = 103,
}
... ...
... ... @@ -33,7 +33,6 @@ export struct WdWebLocalComponent {
@State progressOpacity: number = 1
@State durationStringTime: string = '';
private progressTimerNumber: number = 0
private webIsLoaded:boolean = false
@State isPause: boolean = true;
controller: VideoController = new VideoController()
@StorageProp('currentBreakpoint') @Watch("currentChanged")currentBreakpoint: string = 'sm';
... ... @@ -41,6 +40,10 @@ export struct WdWebLocalComponent {
@State isFullScreen: boolean = false;
@State isEndPlay: boolean = false;
@State mode: CacheMode = CacheMode.None;
@Consume @Watch('pageShowForUpdateData') pageShow :number
@Consume @Watch('pageHideForUpdateData') pageHide :number
currentChanged(){
///折叠屏转换 暂停播放器
this.controller.pause()
... ... @@ -51,6 +54,22 @@ export struct WdWebLocalComponent {
this.webviewControl.refresh()
}
pageShowForUpdateData(){
Logger.debug(TAG, 'APP_PAGE_SHOW'+this.isPageEnd);
let params = {'event':NativeCallH5Event.NativeCallH5EventPageWillAppear} as eventParams;
let jsonString = JSON.stringify(params);
if (this.isPageEnd) {
this.webviewControl.callHandle(NativeCallH5Type.jsCall_appNotifyEvent, jsonString, (data: string) => {
Logger.debug(TAG, "from js data = " + data);
})
}
}
pageHideForUpdateData(){
}
build() {
Column() {
Row() {
... ... @@ -198,8 +217,8 @@ export struct WdWebLocalComponent {
Logger.debug(TAG, 'onPageEnd');
this.onWebPrepared()
this.isPageEnd = true
this.webIsLoaded = true
}
onLoadIntercept: (url?: string) => boolean = () => {
Logger.debug(TAG, 'onLoadIntercept return false');
return false
... ... @@ -232,20 +251,6 @@ export struct WdWebLocalComponent {
}
}
aboutToAppear(): void {
this.webIsLoaded = false
EmitterUtils.receiveEvent(EmitterEventId.APP_PAGE_SHOW, () => {
let params = {'event':NativeCallH5Event.NativeCallH5EventPageWillAppear} as eventParams;
let jsonString = JSON.stringify(params);
Logger.debug(TAG, 'APP_PAGE_SHOW'+this.webIsLoaded);
// if (this.webIsLoaded) {
// this.webviewControl.callHandle(NativeCallH5Type.jsCall_appNotifyEvent, jsonString, (data: string) => {
// Logger.debug(TAG, "from js data = " + data);
// })
// }
})
}
@Builder
videoComp(){
Video({
... ...
... ... @@ -47,7 +47,6 @@ struct ImageAndTextDetailPage {
onPageShow() {
this.pageShow = Math.random()
EmitterUtils.sendEmptyEvent(EmitterEventId.APP_PAGE_SHOW)
Logger.info(TAG, 'onPageShow');
}
... ...