Merge branch 'main' of http://192.168.1.42/developOne/harmonyPool into main
* 'main' of http://192.168.1.42/developOne/harmonyPool: (22 commits) fix |> 19569 【8.0新需求】APP拉起换端,去掉广告页显示(从启动页直接跳详情页,返回到首页)功能未实现 fix |> 19569 【8.0新需求】APP拉起换端,去掉广告页显示(从启动页直接跳详情页,返回到首页)功能未实现 ref |>修复缺陷 20481- 进入拉流直播-whh6666直播间-点击全屏按钮,进入全屏,播放控件和标题未实现3s自动隐藏 fix: 进入视频详情,点击评论,缺省图文案偏淡 fix: 关闭网络,访问直播tab,不应展示暂无内容缺省页,应展示无网络缺省页 fix |> 20448 不能评论的稿件详情页面,最下方的推荐阅读,展示不完整 fix |> 19984 图文稿件详情页,播放稿件中的视频,进度滑块与已播放进度条重叠(隐藏过早) fix: 沉浸式视频增加播放中关闭,开启wifi视频流量提示逻辑 fix: 修改Card2Component无网络进入详情页 fix: 18167 UI还原问题-【uat】进入视频直播,打开4g 加载视频,然后关闭4g网络,断网滑动视频,网络缺缺省图没有显示文案 fix |> 20236 【底部导航】进入首页,首次安装包,会有概率新闻图标不展示 ref |> 调整横屏直播底部播放控制层背景渐变 fix |> 20541 搜索环球时报,搜索结果中采集的动态数据详情页不应展示人民日报logo fix |> 点击一键关注,按钮等待状态没显示 ref |> 按华为沟通结论,调整评论输入框键盘消失方法 fix: 20482 号主页>全部tab,直播中缺少lottie动画 fix |> 20448 不能评论的稿件详情页面,最下方的推荐阅读,展示不完整 fix: 20531 【生产环境】进入直播频道,直播中,直播中动图未展示 fix |> 修复【uat】进入竖屏直播-竖屏直播间。点击头像没有跳转到号主页 fix |> 修复直播详情直播间Tab点击图片查看后,返回后触发退出直播间详情问题 ...
Showing
30 changed files
with
216 additions
and
66 deletions
| @@ -64,4 +64,6 @@ export class SpConstants{ | @@ -64,4 +64,6 @@ export class SpConstants{ | ||
| 64 | // 个推推送 | 64 | // 个推推送 |
| 65 | static GETUI_PUSH_CID = "cid" | 65 | static GETUI_PUSH_CID = "cid" |
| 66 | static GETUI_PUSH_DEVICE_TOKEN = "deviceToken" | 66 | static GETUI_PUSH_DEVICE_TOKEN = "deviceToken" |
| 67 | + //link | ||
| 68 | + static HAS_LINK="has_link" | ||
| 67 | } | 69 | } |
| @@ -13,5 +13,7 @@ export const enum ViewType { | @@ -13,5 +13,7 @@ export const enum ViewType { | ||
| 13 | // 已加载结束/非失败/非空/可以是仅一页数据,即楼层数据列表PAGE_GROUP_LIST/ | 13 | // 已加载结束/非失败/非空/可以是仅一页数据,即楼层数据列表PAGE_GROUP_LIST/ |
| 14 | LOADED, | 14 | LOADED, |
| 15 | // 已加载的是tab导航数据(可嵌套page的楼层列表) | 15 | // 已加载的是tab导航数据(可嵌套page的楼层列表) |
| 16 | - NAV_BAR | 16 | + NAV_BAR, |
| 17 | + // 无网络 | ||
| 18 | + NoNetwork | ||
| 17 | } | 19 | } |
| 1 | -import { Logger } from 'wdKit' | 1 | +import { Logger, SPHelper, StringUtils } from 'wdKit' |
| 2 | import { Want } from '@kit.AbilityKit' | 2 | import { Want } from '@kit.AbilityKit' |
| 3 | import { url } from '@kit.ArkTS' | 3 | import { url } from '@kit.ArkTS' |
| 4 | import { AppInnerLinkGenerator } from './AppInnerLinkGenerator' | 4 | import { AppInnerLinkGenerator } from './AppInnerLinkGenerator' |
| @@ -6,6 +6,7 @@ import { ContentType } from '../common/ContentType' | @@ -6,6 +6,7 @@ import { ContentType } from '../common/ContentType' | ||
| 6 | import { AppInnerLink } from './AppInnerLink' | 6 | import { AppInnerLink } from './AppInnerLink' |
| 7 | import { HttpBizUtil, HttpUrlUtils, ResponseDTO } from 'wdNetwork' | 7 | import { HttpBizUtil, HttpUrlUtils, ResponseDTO } from 'wdNetwork' |
| 8 | import { ContentDetailDTO } from 'wdBean' | 8 | import { ContentDetailDTO } from 'wdBean' |
| 9 | +import { SpConstants } from 'wdConstant' | ||
| 9 | 10 | ||
| 10 | const TAG = "AppLinkingManager" | 11 | const TAG = "AppLinkingManager" |
| 11 | 12 | ||
| @@ -16,6 +17,7 @@ export class AppLinkingManager { | @@ -16,6 +17,7 @@ export class AppLinkingManager { | ||
| 16 | 17 | ||
| 17 | private hasEnterMain = false | 18 | private hasEnterMain = false |
| 18 | private lastUrlObj?: url.URL | 19 | private lastUrlObj?: url.URL |
| 20 | + private isJumpInnerLink:boolean = true | ||
| 19 | 21 | ||
| 20 | private static manager: AppLinkingManager | 22 | private static manager: AppLinkingManager |
| 21 | private constructor() { | 23 | private constructor() { |
| @@ -58,13 +60,19 @@ export class AppLinkingManager { | @@ -58,13 +60,19 @@ export class AppLinkingManager { | ||
| 58 | this.comsumeLastUriContent() | 60 | this.comsumeLastUriContent() |
| 59 | } | 61 | } |
| 60 | 62 | ||
| 61 | - comsumeLastUriContent() { | 63 | + comsumeLastUriContent(isJump:boolean = true) { |
| 64 | + this.isJumpInnerLink = isJump | ||
| 62 | Logger.debug(TAG, "尝试消费拉起链接: " + this.lastUrlObj?.toString()) | 65 | Logger.debug(TAG, "尝试消费拉起链接: " + this.lastUrlObj?.toString()) |
| 63 | if (!this.lastUrlObj) { | 66 | if (!this.lastUrlObj) { |
| 64 | return | 67 | return |
| 65 | } | 68 | } |
| 66 | let path = this.lastUrlObj?.pathname ?? "" | 69 | let path = this.lastUrlObj?.pathname ?? "" |
| 67 | 70 | ||
| 71 | + if(!this.isJumpInnerLink && StringUtils.isNotEmpty(path)){ | ||
| 72 | + SPHelper.default.save(SpConstants.HAS_LINK, true) | ||
| 73 | + return | ||
| 74 | + } | ||
| 75 | + | ||
| 68 | if (this.dealWithRMHArticle() | 76 | if (this.dealWithRMHArticle() |
| 69 | || this.dealWithNormalArticle() | 77 | || this.dealWithNormalArticle() |
| 70 | || this.dealWithCreator() | 78 | || this.dealWithCreator() |
| @@ -187,7 +195,9 @@ export class AppLinkingManager { | @@ -187,7 +195,9 @@ export class AppLinkingManager { | ||
| 187 | } | 195 | } |
| 188 | 196 | ||
| 189 | jumpInnerLink(innerLink: string) { | 197 | jumpInnerLink(innerLink: string) { |
| 190 | - Logger.debug(TAG, "即将跳转链接: " + innerLink) | ||
| 191 | - AppInnerLink.jumpWithLink(innerLink) | 198 | + if(this.isJumpInnerLink){ |
| 199 | + Logger.debug(TAG, "即将跳转链接: " + innerLink) | ||
| 200 | + AppInnerLink.jumpWithLink(innerLink) | ||
| 201 | + } | ||
| 192 | } | 202 | } |
| 193 | } | 203 | } |
| @@ -260,7 +260,7 @@ export struct WdWebLocalComponent { | @@ -260,7 +260,7 @@ export struct WdWebLocalComponent { | ||
| 260 | // animateTo({duration: 1000}, () => { | 260 | // animateTo({duration: 1000}, () => { |
| 261 | this.progressOpacity = 0 | 261 | this.progressOpacity = 0 |
| 262 | // }) | 262 | // }) |
| 263 | - }, 3000) | 263 | + }, 4000) |
| 264 | } | 264 | } |
| 265 | cancelProgressTimer() { | 265 | cancelProgressTimer() { |
| 266 | if (this.progressTimerNumber > 0) { | 266 | if (this.progressTimerNumber > 0) { |
| @@ -372,7 +372,7 @@ export struct WdWebLocalComponent { | @@ -372,7 +372,7 @@ export struct WdWebLocalComponent { | ||
| 372 | type: SliderBlockType.IMAGE, | 372 | type: SliderBlockType.IMAGE, |
| 373 | image: $r('app.media.slider_block') | 373 | image: $r('app.media.slider_block') |
| 374 | }) | 374 | }) |
| 375 | - .blockSize({ width: 18, height: 12 }) | 375 | + .blockSize({ width: 14, height: 10 }) |
| 376 | .onChange((value: number, mode: SliderChangeMode) => { | 376 | .onChange((value: number, mode: SliderChangeMode) => { |
| 377 | this.controller.setCurrentTime(value); | 377 | this.controller.setCurrentTime(value); |
| 378 | if (mode == SliderChangeMode.End) { | 378 | if (mode == SliderChangeMode.End) { |
| @@ -37,6 +37,7 @@ export struct CardParser { | @@ -37,6 +37,7 @@ export struct CardParser { | ||
| 37 | pageShowTime: number = 0; | 37 | pageShowTime: number = 0; |
| 38 | pageHideTime: number = 0; | 38 | pageHideTime: number = 0; |
| 39 | isPeopleShipHome: boolean = false; | 39 | isPeopleShipHome: boolean = false; |
| 40 | + isNeedDivider:boolean = true | ||
| 40 | 41 | ||
| 41 | aboutToAppear(): void { | 42 | aboutToAppear(): void { |
| 42 | console.log('CardParser-', JSON.stringify(this.contentDTO)) | 43 | console.log('CardParser-', JSON.stringify(this.contentDTO)) |
| @@ -66,11 +67,13 @@ export struct CardParser { | @@ -66,11 +67,13 @@ export struct CardParser { | ||
| 66 | 67 | ||
| 67 | @Builder | 68 | @Builder |
| 68 | getBehindDivider() { | 69 | getBehindDivider() { |
| 69 | - behindDivider({ | ||
| 70 | - compDTO: this.compDTO, | ||
| 71 | - nextCompDTO: this.nextCompDTO, | ||
| 72 | - compIndex: this.compIndex | ||
| 73 | - }) | 70 | + if(this.isNeedDivider){ |
| 71 | + behindDivider({ | ||
| 72 | + compDTO: this.compDTO, | ||
| 73 | + nextCompDTO: this.nextCompDTO, | ||
| 74 | + compIndex: this.compIndex | ||
| 75 | + }) | ||
| 76 | + } | ||
| 74 | } | 77 | } |
| 75 | 78 | ||
| 76 | @Builder | 79 | @Builder |
| @@ -229,7 +229,7 @@ export struct DynamicDetailComponent { | @@ -229,7 +229,7 @@ export struct DynamicDetailComponent { | ||
| 229 | .margin({ right: $r('app.float.margin_6') }) | 229 | .margin({ right: $r('app.float.margin_6') }) |
| 230 | 230 | ||
| 231 | Blank() | 231 | Blank() |
| 232 | - if (!StringUtils.isEmpty(this.followStatus)) { | 232 | + if ((this.contentDetailData.rmhPlatform == 1 && this.contentDetailData?.rmhInfo?.userType != "5") && !StringUtils.isEmpty(this.followStatus)) { |
| 233 | if (this.followStatus == '0') { | 233 | if (this.followStatus == '0') { |
| 234 | Row() { | 234 | Row() { |
| 235 | Blank().layoutWeight(1) | 235 | Blank().layoutWeight(1) |
| @@ -685,10 +685,24 @@ export struct DynamicDetailComponent { | @@ -685,10 +685,24 @@ export struct DynamicDetailComponent { | ||
| 685 | @Builder topNav() { | 685 | @Builder topNav() { |
| 686 | //logo、日期 | 686 | //logo、日期 |
| 687 | Row() { | 687 | Row() { |
| 688 | - Image($r('app.media.ic_article_rmh')) | ||
| 689 | - .width($r('app.float.margin_80')) | ||
| 690 | - .height($r('app.float.margin_28')) | ||
| 691 | - .margin({ left: $r('app.float.margin_16') }) | 688 | + if (this.contentDetailData.rmhPlatform == 1) { // 人民号 |
| 689 | + if (this.contentDetailData?.rmhInfo?.userType == "5") { // 内容源账号 | ||
| 690 | + Blank().height(1) | ||
| 691 | + } else { | ||
| 692 | + Image($r('app.media.ic_article_rmh')) | ||
| 693 | + .width($r('app.float.margin_80')) | ||
| 694 | + .height($r('app.float.margin_28')) | ||
| 695 | + .margin({ left: $r('app.float.margin_16') }) | ||
| 696 | + } | ||
| 697 | + } else if (this.contentDetailData.rmhPlatform == 2) { // 普通用户 | ||
| 698 | + Blank().height(1) | ||
| 699 | + } else { | ||
| 700 | + Image($r('app.media.logo_rmrb')) | ||
| 701 | + .width($r('app.float.margin_80')) | ||
| 702 | + .height($r('app.float.margin_28')) | ||
| 703 | + .margin({ left: $r('app.float.margin_16') }) | ||
| 704 | + } | ||
| 705 | + | ||
| 692 | Blank() | 706 | Blank() |
| 693 | Text(this.publishTime) | 707 | Text(this.publishTime) |
| 694 | .fontColor($r('app.color.color_B0B0B0')) | 708 | .fontColor($r('app.color.color_B0B0B0')) |
| @@ -189,7 +189,7 @@ export struct ImageAndTextPageComponent { | @@ -189,7 +189,7 @@ export struct ImageAndTextPageComponent { | ||
| 189 | Column(){ | 189 | Column(){ |
| 190 | Divider().strokeWidth(8).color('#f5f5f5') | 190 | Divider().strokeWidth(8).color('#f5f5f5') |
| 191 | RecommendList({ recommendList: this.recommendList }) | 191 | RecommendList({ recommendList: this.recommendList }) |
| 192 | - }.padding({bottom:this.contentDetailData?.openComment ? 0 : 44 }) | 192 | + }.padding({bottom:this.contentDetailData?.openComment ? 0 : 44 + 8 }) |
| 193 | } | 193 | } |
| 194 | // 评论 | 194 | // 评论 |
| 195 | if (this.contentDetailData?.openComment) { | 195 | if (this.contentDetailData?.openComment) { |
| @@ -123,7 +123,7 @@ export struct CardMediaInfo { | @@ -123,7 +123,7 @@ export struct CardMediaInfo { | ||
| 123 | .mediaText() | 123 | .mediaText() |
| 124 | } else if (this.contentDTO?.liveType === 'running') { | 124 | } else if (this.contentDTO?.liveType === 'running') { |
| 125 | LottieView({ | 125 | LottieView({ |
| 126 | - name: 'live_status_wait', | 126 | + name: 'live_status_wait-' + Math.random().toString().slice(2, 12), |
| 127 | path: "lottie/live_detail_living.json", | 127 | path: "lottie/live_detail_living.json", |
| 128 | lottieWidth: 14, | 128 | lottieWidth: 14, |
| 129 | lottieHeight: 14, | 129 | lottieHeight: 14, |
| @@ -162,7 +162,7 @@ export struct CardMediaInfo { | @@ -162,7 +162,7 @@ export struct CardMediaInfo { | ||
| 162 | } else if (this.contentDTO?.liveInfo?.liveState === 'running') { | 162 | } else if (this.contentDTO?.liveInfo?.liveState === 'running') { |
| 163 | Row(){ | 163 | Row(){ |
| 164 | LottieView({ | 164 | LottieView({ |
| 165 | - name: 'live_status_wait', | 165 | + name: 'live_status_wait-' + Math.random().toString().slice(2, 12), |
| 166 | path: "lottie/live_detail_living.json", | 166 | path: "lottie/live_detail_living.json", |
| 167 | lottieWidth: 14, | 167 | lottieWidth: 14, |
| 168 | lottieHeight: 14, | 168 | lottieHeight: 14, |
| @@ -211,7 +211,7 @@ export struct RmhTitle { | @@ -211,7 +211,7 @@ export struct RmhTitle { | ||
| 211 | .width('100%') | 211 | .width('100%') |
| 212 | 212 | ||
| 213 | Blank() | 213 | Blank() |
| 214 | - if (this.rmhInfo?.cnIsAttention) { | 214 | + if (this.rmhInfo?.cnIsAttention && this.rmhInfo?.userType != "5") { |
| 215 | Column() { | 215 | Column() { |
| 216 | Row(){ | 216 | Row(){ |
| 217 | if (Number(this.followStatus) === 0) { | 217 | if (Number(this.followStatus) === 0) { |
| @@ -142,6 +142,7 @@ export struct Card2Component { | @@ -142,6 +142,7 @@ export struct Card2Component { | ||
| 142 | this.clicked = true; | 142 | this.clicked = true; |
| 143 | } | 143 | } |
| 144 | persistentStorage(this.contentDTO.objectId); | 144 | persistentStorage(this.contentDTO.objectId); |
| 145 | + // console.log(TAG,'this.contentDTO.objectType', this.contentDTO.objectType) | ||
| 145 | this.jumpDetail() | 146 | this.jumpDetail() |
| 146 | }) | 147 | }) |
| 147 | } | 148 | } |
| @@ -153,11 +154,13 @@ export struct Card2Component { | @@ -153,11 +154,13 @@ export struct Card2Component { | ||
| 153 | MinePageDatasModel.getAssertDetailData(this.contentDTO.relId,this.contentDTO.objectId,this.contentDTO.relType).then((value) => { | 154 | MinePageDatasModel.getAssertDetailData(this.contentDTO.relId,this.contentDTO.objectId,this.contentDTO.relType).then((value) => { |
| 154 | if(value == "1"){ | 155 | if(value == "1"){ |
| 155 | ProcessUtils.processPage(this.contentDTO) | 156 | ProcessUtils.processPage(this.contentDTO) |
| 156 | - }else{ | 157 | + } else { |
| 157 | ToastUtils.shortToast("内容不存在") | 158 | ToastUtils.shortToast("内容不存在") |
| 158 | } | 159 | } |
| 159 | }).catch((err: Error) => { | 160 | }).catch((err: Error) => { |
| 160 | console.log(TAG, JSON.stringify(err)) | 161 | console.log(TAG, JSON.stringify(err)) |
| 162 | + // 网络出小差了进入详情页 | ||
| 163 | + ProcessUtils.processPage(this.contentDTO) | ||
| 161 | }) | 164 | }) |
| 162 | } | 165 | } |
| 163 | } | 166 | } |
| @@ -26,6 +26,10 @@ export struct LiveBigImage02Component { | @@ -26,6 +26,10 @@ export struct LiveBigImage02Component { | ||
| 26 | this.loadImg = await onlyWifiLoadImg(); | 26 | this.loadImg = await onlyWifiLoadImg(); |
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | + async aboutToReuse() { | ||
| 30 | + this.loadImg = await onlyWifiLoadImg(); | ||
| 31 | + } | ||
| 32 | + | ||
| 29 | 33 | ||
| 30 | build() { | 34 | build() { |
| 31 | Column() { | 35 | Column() { |
| @@ -97,7 +101,7 @@ export struct LiveBigImage02Component { | @@ -97,7 +101,7 @@ export struct LiveBigImage02Component { | ||
| 97 | LiveImage(item: ContentDTO) { | 101 | LiveImage(item: ContentDTO) { |
| 98 | Row() { | 102 | Row() { |
| 99 | LottieView({ | 103 | LottieView({ |
| 100 | - name: 'live_status_wait', | 104 | + name: 'live_status_wait-' + Math.random().toString().slice(2, 12), |
| 101 | path: "lottie/live_detail_living.json", | 105 | path: "lottie/live_detail_living.json", |
| 102 | lottieWidth: 14, | 106 | lottieWidth: 14, |
| 103 | lottieHeight: 14, | 107 | lottieHeight: 14, |
| @@ -118,7 +118,6 @@ export struct MoreComponent { | @@ -118,7 +118,6 @@ export struct MoreComponent { | ||
| 118 | let contentDTO = MinePageDatasModel.dataTransform(rem,value, photos); | 118 | let contentDTO = MinePageDatasModel.dataTransform(rem,value, photos); |
| 119 | if(value.type != "13"){ | 119 | if(value.type != "13"){ |
| 120 | this.contentDTO.sameContentList.push(contentDTO) | 120 | this.contentDTO.sameContentList.push(contentDTO) |
| 121 | - console.log("ycg","123") | ||
| 122 | } | 121 | } |
| 123 | }) | 122 | }) |
| 124 | 123 |
| 1 | -import { inputMethodEngine } from '@kit.IMEKit' | 1 | +import { inputMethod, inputMethodEngine } from '@kit.IMEKit' |
| 2 | import { commentInfo } from 'wdBean/Index' | 2 | import { commentInfo } from 'wdBean/Index' |
| 3 | import { VoiceRecoginizer } from 'wdHwAbility' | 3 | import { VoiceRecoginizer } from 'wdHwAbility' |
| 4 | import { Logger, ToastUtils } from 'wdKit/Index' | 4 | import { Logger, ToastUtils } from 'wdKit/Index' |
| @@ -8,6 +8,7 @@ import { publishCommentModel } from '../model/PublishCommentModel' | @@ -8,6 +8,7 @@ import { publishCommentModel } from '../model/PublishCommentModel' | ||
| 8 | import commentViewModel from '../viewmodel/CommentViewModel' | 8 | import commentViewModel from '../viewmodel/CommentViewModel' |
| 9 | import { VoiceInputView } from './VoiceInputView' | 9 | import { VoiceInputView } from './VoiceInputView' |
| 10 | import { common, UIAbility } from '@kit.AbilityKit' | 10 | import { common, UIAbility } from '@kit.AbilityKit' |
| 11 | +import { BusinessError } from '@kit.BasicServicesKit' | ||
| 11 | 12 | ||
| 12 | const TAG = "CommentInputDialog" | 13 | const TAG = "CommentInputDialog" |
| 13 | 14 | ||
| @@ -154,7 +155,19 @@ export struct CommentCustomDialog { | @@ -154,7 +155,19 @@ export struct CommentCustomDialog { | ||
| 154 | this.voiceSwitch = !this.voiceSwitch | 155 | this.voiceSwitch = !this.voiceSwitch |
| 155 | this.emojiSwitch = false | 156 | this.emojiSwitch = false |
| 156 | if (this.voiceSwitch) { | 157 | if (this.voiceSwitch) { |
| 157 | - this.textInputController.stopEditing() | 158 | + // 按沟通结果,调整隐藏键盘方法 |
| 159 | + // http://192.168.1.3:8080/zentao/bug-view-20473.html | ||
| 160 | + // this.textInputController.stopEditing() | ||
| 161 | + inputMethod.getController().hideTextInput((err: BusinessError) => { | ||
| 162 | + if (err) { | ||
| 163 | + console.error(`Failed to hideTextInput: ${JSON.stringify(err)}`); | ||
| 164 | + return; | ||
| 165 | + } | ||
| 166 | + // console.log('Succeeded in hiding text input.'); | ||
| 167 | + }) | ||
| 168 | + // this.showKeyboardOnFocus = false | ||
| 169 | + // focusControl.requestFocus("textAreaId") // 弹起键盘 | ||
| 170 | + | ||
| 158 | } else { | 171 | } else { |
| 159 | focusControl.requestFocus("textAreaId") // 弹起键盘 | 172 | focusControl.requestFocus("textAreaId") // 弹起键盘 |
| 160 | // this.textInputController.caretPosition(this.textInputController.getTextContentRect().x) | 173 | // this.textInputController.caretPosition(this.textInputController.getTextContentRect().x) |
| @@ -170,7 +183,16 @@ export struct CommentCustomDialog { | @@ -170,7 +183,16 @@ export struct CommentCustomDialog { | ||
| 170 | this.emojiSwitch = !this.emojiSwitch | 183 | this.emojiSwitch = !this.emojiSwitch |
| 171 | this.voiceSwitch = false | 184 | this.voiceSwitch = false |
| 172 | if (this.emojiSwitch) { | 185 | if (this.emojiSwitch) { |
| 173 | - this.textInputController.stopEditing() | 186 | + // 按沟通结果,调整隐藏键盘方法 |
| 187 | + // http://192.168.1.3:8080/zentao/bug-view-20473.html | ||
| 188 | + // this.textInputController.stopEditing() | ||
| 189 | + inputMethod.getController().hideTextInput((err: BusinessError) => { | ||
| 190 | + if (err) { | ||
| 191 | + console.error(`Failed to hideTextInput: ${JSON.stringify(err)}`); | ||
| 192 | + return; | ||
| 193 | + } | ||
| 194 | + // console.log('Succeeded in hiding text input.'); | ||
| 195 | + }) | ||
| 174 | } else { | 196 | } else { |
| 175 | focusControl.requestFocus("textAreaId") // 弹起键盘 | 197 | focusControl.requestFocus("textAreaId") // 弹起键盘 |
| 176 | // this.textInputController.caretPosition(this.textInputController.getTextContentRect().x) | 198 | // this.textInputController.caretPosition(this.textInputController.getTextContentRect().x) |
| @@ -49,10 +49,10 @@ export struct PageComponent { | @@ -49,10 +49,10 @@ export struct PageComponent { | ||
| 49 | this.LoadingLayout() | 49 | this.LoadingLayout() |
| 50 | } else if (this.pageModel.viewType == ViewType.LOADED) { | 50 | } else if (this.pageModel.viewType == ViewType.LOADED) { |
| 51 | this.ListLayout() | 51 | this.ListLayout() |
| 52 | - } else if (this.pageModel.viewType == ViewType.EMPTY) { | 52 | + } else if (this.pageModel.viewType == ViewType.EMPTY || this.pageModel.viewType == ViewType.NoNetwork) { |
| 53 | //缺省页 | 53 | //缺省页 |
| 54 | EmptyComponent({ | 54 | EmptyComponent({ |
| 55 | - emptyType: this.pageModel.emptyType, | 55 | + emptyType: this.pageModel.viewType == ViewType.EMPTY ? this.pageModel.emptyType : this.pageModel.NoNetwork, |
| 56 | emptyButton: true, | 56 | emptyButton: true, |
| 57 | retry: () => { | 57 | retry: () => { |
| 58 | this.pageModel.viewType = ViewType.LOADING; | 58 | this.pageModel.viewType = ViewType.LOADING; |
| @@ -297,7 +297,7 @@ export struct PageComponent { | @@ -297,7 +297,7 @@ export struct PageComponent { | ||
| 297 | this.needload = false; | 297 | this.needload = false; |
| 298 | } | 298 | } |
| 299 | } else { | 299 | } else { |
| 300 | - this.pageModel.viewType = ViewType.EMPTY; | 300 | + this.pageModel.viewType = ViewType.NoNetwork; |
| 301 | } | 301 | } |
| 302 | } | 302 | } |
| 303 | 303 |
| 1 | import { PeopleShipRecommendHeadComponent } from './PeopleShipRecommendHeadComponent' | 1 | import { PeopleShipRecommendHeadComponent } from './PeopleShipRecommendHeadComponent' |
| 2 | import { RmhRecommendDTO } from 'wdBean'; | 2 | import { RmhRecommendDTO } from 'wdBean'; |
| 3 | import { ProcessUtils } from 'wdRouter'; | 3 | import { ProcessUtils } from 'wdRouter'; |
| 4 | +import { LottieView } from '../lottie/LottieView'; | ||
| 5 | +import { HttpUtils } from 'wdNetwork'; | ||
| 6 | +import { FastClickUtil } from 'wdKit'; | ||
| 4 | 7 | ||
| 5 | @Component | 8 | @Component |
| 6 | export struct PeopleShipRecommendComponent { | 9 | export struct PeopleShipRecommendComponent { |
| @@ -10,7 +13,16 @@ export struct PeopleShipRecommendComponent { | @@ -10,7 +13,16 @@ export struct PeopleShipRecommendComponent { | ||
| 10 | @Link oneKeyFollow: boolean | 13 | @Link oneKeyFollow: boolean |
| 11 | // 换一换 | 14 | // 换一换 |
| 12 | @Link changeButton: boolean | 15 | @Link changeButton: boolean |
| 16 | + @State showFollowAnimate:boolean = false | ||
| 17 | + private followAnimationTimer: number = 0 | ||
| 18 | + @State followAnimationLoop: boolean = true | ||
| 13 | 19 | ||
| 20 | + aboutToDisappear(): void { | ||
| 21 | + if (this.followAnimationTimer > 0) { | ||
| 22 | + clearTimeout(this.followAnimationTimer) | ||
| 23 | + this.followAnimationTimer = 0 | ||
| 24 | + } | ||
| 25 | + } | ||
| 14 | 26 | ||
| 15 | build() { | 27 | build() { |
| 16 | Column({ space: 0 }) { | 28 | Column({ space: 0 }) { |
| @@ -85,26 +97,47 @@ export struct PeopleShipRecommendComponent { | @@ -85,26 +97,47 @@ export struct PeopleShipRecommendComponent { | ||
| 85 | left: '20pv' | 97 | left: '20pv' |
| 86 | }) | 98 | }) |
| 87 | 99 | ||
| 88 | - // 为你推荐 | ||
| 89 | - Button(this.rmhSelectedList.length == 0 ? '一键关注' : `一键关注 (${this.rmhSelectedList.length})`, { type: ButtonType.Normal, stateEffect: this.rmhSelectedList.length != 0 }) | ||
| 90 | - .margin({ | ||
| 91 | - top: '10vp', | ||
| 92 | - bottom: '10vp' | ||
| 93 | - }) | ||
| 94 | - .width('120vp') | ||
| 95 | - .height('36vp') | ||
| 96 | - .backgroundColor(this.rmhSelectedList.length != 0 ? $r('app.color.color_ED2800') : $r('app.color.color_B0B0B0')) | ||
| 97 | - .borderRadius('3vp') | ||
| 98 | - .fontColor($r('app.color.color_999999')) | ||
| 99 | - .fontWeight(500) | ||
| 100 | - .fontSize($r('app.float.vp_13')) | ||
| 101 | - .fontColor(Color.White) | ||
| 102 | - .onClick(() => { | ||
| 103 | - // 点击一键关注 | ||
| 104 | - if (!this.oneKeyFollow && this.rmhSelectedList.length > 0 ){ | ||
| 105 | - this.oneKeyFollow = true | ||
| 106 | - } | ||
| 107 | - }) | 100 | + // 一键关注按钮 |
| 101 | + Stack({alignContent: Alignment.Center}) { | ||
| 102 | + Button(this.showFollowAnimate ? "" : (this.rmhSelectedList.length == 0 ? '一键关注' : `一键关注 (${this.rmhSelectedList.length})`) | ||
| 103 | + ,{ type: ButtonType.Normal, stateEffect: this.rmhSelectedList.length != 0 }) | ||
| 104 | + .backgroundColor(this.rmhSelectedList.length != 0 ? $r('app.color.color_ED2800') : $r('app.color.color_B0B0B0')) | ||
| 105 | + .width("100%").height("100%") | ||
| 106 | + .borderRadius('3vp') | ||
| 107 | + .fontColor($r('app.color.color_999999')) | ||
| 108 | + .fontWeight(500) | ||
| 109 | + .fontSize($r('app.float.vp_13')) | ||
| 110 | + .fontColor(Color.White) | ||
| 111 | + .onClick(() => { | ||
| 112 | + // 点击一键关注 | ||
| 113 | + if (!this.oneKeyFollow && this.rmhSelectedList.length > 0 ){ | ||
| 114 | + if (HttpUtils.isLogin()) { | ||
| 115 | + this.showFollowAnimate = true | ||
| 116 | + this.followAnimationTimer = setTimeout(() => { | ||
| 117 | + this.showFollowAnimate = false | ||
| 118 | + }, 11 * 1000) | ||
| 119 | + } | ||
| 120 | + this.oneKeyFollow = true | ||
| 121 | + } | ||
| 122 | + }) | ||
| 123 | + if (this.showFollowAnimate) { | ||
| 124 | + LottieView({ | ||
| 125 | + name: 'one_key_follow_all', | ||
| 126 | + path: "lottie/button_action_running_white.json", | ||
| 127 | + lottieWidth: 12, | ||
| 128 | + lottieHeight: 12, | ||
| 129 | + autoplay: true, | ||
| 130 | + loop: this.followAnimationLoop, | ||
| 131 | + // onComplete:() => { | ||
| 132 | + // this.playAnimationOne = false | ||
| 133 | + // } | ||
| 134 | + }) | ||
| 135 | + } | ||
| 136 | + }.margin({ | ||
| 137 | + top: '10vp', | ||
| 138 | + bottom: '10vp' | ||
| 139 | + }) | ||
| 140 | + .width('120vp').height('36vp') | ||
| 108 | } | 141 | } |
| 109 | .width('100%') | 142 | .width('100%') |
| 110 | .justifyContent(FlexAlign.Start) | 143 | .justifyContent(FlexAlign.Start) |
| @@ -147,7 +147,8 @@ export struct EmptyComponent { | @@ -147,7 +147,8 @@ export struct EmptyComponent { | ||
| 147 | .fontWeight(FontWeight.Normal) | 147 | .fontWeight(FontWeight.Normal) |
| 148 | .opacity(this.TEXT_OPACITY) | 148 | .opacity(this.TEXT_OPACITY) |
| 149 | .margin({ top: this.EMPTY_TIP_TEXT_MARGIN_TOP }) | 149 | .margin({ top: this.EMPTY_TIP_TEXT_MARGIN_TOP }) |
| 150 | - .fontColor(this.emptyType === WDViewDefaultType.WDViewDefaultType_NoComment1 ? '#999999' : '#666666') | 150 | + // .fontColor(this.emptyType === WDViewDefaultType.WDViewDefaultType_NoComment1 ? '#999999' : '#666666') |
| 151 | + .fontColor('#666666') | ||
| 151 | .onClick((event: ClickEvent) => { | 152 | .onClick((event: ClickEvent) => { |
| 152 | Logger.info(TAG, `noProgrammeData onClick event?.source: ${event.source}`); | 153 | Logger.info(TAG, `noProgrammeData onClick event?.source: ${event.source}`); |
| 153 | }) | 154 | }) |
| @@ -29,7 +29,7 @@ export struct RecommendList { | @@ -29,7 +29,7 @@ export struct RecommendList { | ||
| 29 | } | 29 | } |
| 30 | ForEach(this.recommendList, (item: ContentDTO, index: number) => { | 30 | ForEach(this.recommendList, (item: ContentDTO, index: number) => { |
| 31 | Row() { | 31 | Row() { |
| 32 | - CardParser({ compDTO:new CompDTO,contentDTO: item }); | 32 | + CardParser({ compDTO:new CompDTO,contentDTO: item ,isNeedDivider:false}); |
| 33 | }.padding({ left: 6, right: 6 }) | 33 | }.padding({ left: 6, right: 6 }) |
| 34 | if (this.recommendList.length !== index + 1) { | 34 | if (this.recommendList.length !== index + 1) { |
| 35 | Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) | 35 | Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) |
| @@ -55,6 +55,7 @@ export default class PageModel { | @@ -55,6 +55,7 @@ export default class PageModel { | ||
| 55 | offsetY: number = 0; | 55 | offsetY: number = 0; |
| 56 | viewType: number = ViewType.LOADING; | 56 | viewType: number = ViewType.LOADING; |
| 57 | emptyType: WDViewDefaultType = WDViewDefaultType.WDViewDefaultType_Default | 57 | emptyType: WDViewDefaultType = WDViewDefaultType.WDViewDefaultType_Default |
| 58 | + NoNetwork: WDViewDefaultType = WDViewDefaultType.WDViewDefaultType_NoNetwork | ||
| 58 | hasMore: boolean = true; | 59 | hasMore: boolean = true; |
| 59 | startIndex = 0; | 60 | startIndex = 0; |
| 60 | endIndex = 0; | 61 | endIndex = 0; |
| @@ -64,6 +64,8 @@ export struct DetailPlayLiveCommon { | @@ -64,6 +64,8 @@ export struct DetailPlayLiveCommon { | ||
| 64 | 64 | ||
| 65 | private AudioSuspension = new AudioSuspensionModel() | 65 | private AudioSuspension = new AudioSuspensionModel() |
| 66 | @State isShowAudioCom: boolean = false | 66 | @State isShowAudioCom: boolean = false |
| 67 | + ///是否已经执行过pageShow | ||
| 68 | + hasPageShow: boolean = false | ||
| 67 | 69 | ||
| 68 | build() { | 70 | build() { |
| 69 | Column() { | 71 | Column() { |
| @@ -89,6 +91,10 @@ export struct DetailPlayLiveCommon { | @@ -89,6 +91,10 @@ export struct DetailPlayLiveCommon { | ||
| 89 | */ | 91 | */ |
| 90 | getContentDetail(): Promise<void> { | 92 | getContentDetail(): Promise<void> { |
| 91 | return new Promise<void>((resolve, reject) => { | 93 | return new Promise<void>((resolve, reject) => { |
| 94 | + if (this.hasPageShow) { | ||
| 95 | + return | ||
| 96 | + } | ||
| 97 | + this.hasPageShow = true | ||
| 92 | this.liveViewModel.getContentDetail(this.contentId, this.relId, this.relType) | 98 | this.liveViewModel.getContentDetail(this.contentId, this.relId, this.relType) |
| 93 | .then(async (data: Array<ContentDetailDTO>) => { | 99 | .then(async (data: Array<ContentDetailDTO>) => { |
| 94 | // console.log(TAG, '查询视频详情用于评论展示 getContentDetail:', JSON.stringify(data)); | 100 | // console.log(TAG, '查询视频详情用于评论展示 getContentDetail:', JSON.stringify(data)); |
| @@ -132,7 +132,7 @@ export struct PlayUIComponent { | @@ -132,7 +132,7 @@ export struct PlayUIComponent { | ||
| 132 | //标题 | 132 | //标题 |
| 133 | Marquee({ | 133 | Marquee({ |
| 134 | start:true, | 134 | start:true, |
| 135 | - loop: 1, | 135 | + loop: -1, |
| 136 | src:this.contentDetailData.newsTitle | 136 | src:this.contentDetailData.newsTitle |
| 137 | }) | 137 | }) |
| 138 | .fontSize(this.displayDirection == DisplayDirection.VIDEO_HORIZONTAL ? '18vp' : '16vp') | 138 | .fontSize(this.displayDirection == DisplayDirection.VIDEO_HORIZONTAL ? '18vp' : '16vp') |
| @@ -363,7 +363,7 @@ export struct PlayUIComponent { | @@ -363,7 +363,7 @@ export struct PlayUIComponent { | ||
| 363 | 363 | ||
| 364 | } | 364 | } |
| 365 | .alignItems(VerticalAlign.Center) | 365 | .alignItems(VerticalAlign.Center) |
| 366 | - .linearGradient({ angle: 0, colors: [['#99000000', 0], ['#00000000', 1]] }) | 366 | + .linearGradient({ angle: 0, colors: [['#80000000', 0],['#50000000', 0.5] ,['#00000000', 1]] }) |
| 367 | .width('100%') | 367 | .width('100%') |
| 368 | .padding({ | 368 | .padding({ |
| 369 | left: this.displayDirection == DisplayDirection.VIDEO_HORIZONTAL ? '40vp' : '16vp', | 369 | left: this.displayDirection == DisplayDirection.VIDEO_HORIZONTAL ? '40vp' : '16vp', |
| 1 | -import { ContentDetailDTO, LiveDetailsBean, LiveRoomDataBean, postBatchAttentionStatusParams, } from 'wdBean/Index' | 1 | +import { ContentDetailDTO, LiveDetailsBean, LiveRoomDataBean, |
| 2 | + Params, | ||
| 3 | + postBatchAttentionStatusParams, } from 'wdBean/Index' | ||
| 2 | import { MultiPictureDetailViewModel } from 'wdComponent/src/main/ets/viewmodel/MultiPictureDetailViewModel' | 4 | import { MultiPictureDetailViewModel } from 'wdComponent/src/main/ets/viewmodel/MultiPictureDetailViewModel' |
| 3 | import { SpConstants } from 'wdConstant/Index' | 5 | import { SpConstants } from 'wdConstant/Index' |
| 4 | import { ContentDetailRequest, postInteractAccentionOperateParams } from 'wdDetailPlayApi/Index' | 6 | import { ContentDetailRequest, postInteractAccentionOperateParams } from 'wdDetailPlayApi/Index' |
| @@ -173,6 +175,16 @@ export struct PlayerEndView { | @@ -173,6 +175,16 @@ export struct PlayerEndView { | ||
| 173 | // .borderStyle(BorderStyle.Solid) | 175 | // .borderStyle(BorderStyle.Solid) |
| 174 | .position({ x: '50%', y: 0 }) | 176 | .position({ x: '50%', y: 0 }) |
| 175 | .markAnchor({ x: '50%', y: '50%' }) | 177 | .markAnchor({ x: '50%', y: '50%' }) |
| 178 | + .onClick(()=>{ | ||
| 179 | + // 跳转到号主页 | ||
| 180 | + if (this.contentDetailData.rmhInfo?.cnMainControl === 1) { | ||
| 181 | + const params: Params = { | ||
| 182 | + creatorId: this.contentDetailData.rmhInfo.rmhId, | ||
| 183 | + pageID: '' | ||
| 184 | + } | ||
| 185 | + WDRouterRule.jumpWithPage(WDRouterPage.peopleShipHomePage, params) | ||
| 186 | + } | ||
| 187 | + }) | ||
| 176 | } | 188 | } |
| 177 | } | 189 | } |
| 178 | .width(307) | 190 | .width(307) |
| @@ -13,9 +13,26 @@ import { DisplayDirection } from 'wdConstant'; | @@ -13,9 +13,26 @@ import { DisplayDirection } from 'wdConstant'; | ||
| 13 | export struct PlayerUIComponent { | 13 | export struct PlayerUIComponent { |
| 14 | private playerController?: WDAliPlayerController | 14 | private playerController?: WDAliPlayerController |
| 15 | @Provide isSmall:boolean = false | 15 | @Provide isSmall:boolean = false |
| 16 | - @Consume isShowControl: boolean | 16 | + @Consume @Watch('onChangeMenuVisible') isShowControl: boolean |
| 17 | @Consume isFullScreen: boolean | 17 | @Consume isFullScreen: boolean |
| 18 | @Consume displayDirection: DisplayDirection | 18 | @Consume displayDirection: DisplayDirection |
| 19 | + @State isPlayStatus: boolean = true; | ||
| 20 | + onChangeMenuVisible() { | ||
| 21 | + if (this.displayDirection == DisplayDirection.VERTICAL | ||
| 22 | + || !this.isShowControl | ||
| 23 | + || !this.isPlayStatus) { | ||
| 24 | + return | ||
| 25 | + } | ||
| 26 | + let time: number = 0 | ||
| 27 | + if (this.isShowControl) { | ||
| 28 | + setTimeout(() => { | ||
| 29 | + this.isShowControl = false | ||
| 30 | + }, 5 * 1000) | ||
| 31 | + } else { | ||
| 32 | + clearTimeout(time) | ||
| 33 | + } | ||
| 34 | + } | ||
| 35 | + | ||
| 19 | aboutToAppear() { | 36 | aboutToAppear() { |
| 20 | if (!this.playerController) { | 37 | if (!this.playerController) { |
| 21 | return | 38 | return |
| @@ -76,7 +93,7 @@ export struct PlayerUIComponent { | @@ -76,7 +93,7 @@ export struct PlayerUIComponent { | ||
| 76 | .position({ y: '100%' }) | 93 | .position({ y: '100%' }) |
| 77 | .markAnchor({ y: '100%' }) | 94 | .markAnchor({ y: '100%' }) |
| 78 | 95 | ||
| 79 | - PlayerVideoControlComponent({ playerController: this.playerController }) | 96 | + PlayerVideoControlComponent({ playerController: this.playerController,isPlayStatus: $isPlayStatus}) |
| 80 | .visibility(this.isShowControl ? Visibility.Visible : Visibility.Hidden) | 97 | .visibility(this.isShowControl ? Visibility.Visible : Visibility.Hidden) |
| 81 | .animation({ duration: 500 }) | 98 | .animation({ duration: 500 }) |
| 82 | .position({ y: '100%' }) | 99 | .position({ y: '100%' }) |
| @@ -13,7 +13,7 @@ export struct PlayerVideoControlComponent { | @@ -13,7 +13,7 @@ export struct PlayerVideoControlComponent { | ||
| 13 | @State totalTime: string = '' | 13 | @State totalTime: string = '' |
| 14 | @State progressVal: number = 0; | 14 | @State progressVal: number = 0; |
| 15 | //是否处于播放状态中 | 15 | //是否处于播放状态中 |
| 16 | - @State isPlayStatus: boolean = true | 16 | + @Link isPlayStatus?: boolean |
| 17 | @Consume displayDirection: DisplayDirection | 17 | @Consume displayDirection: DisplayDirection |
| 18 | @Consume contentDetailData: ContentDetailDTO | 18 | @Consume contentDetailData: ContentDetailDTO |
| 19 | @Consume isSmall:boolean | 19 | @Consume isSmall:boolean |
| @@ -245,6 +245,13 @@ export struct DetailPlayShortVideoPage { | @@ -245,6 +245,13 @@ export struct DetailPlayShortVideoPage { | ||
| 245 | // 注册监听网络连接 | 245 | // 注册监听网络连接 |
| 246 | if (this.currentIndex === this.index && type != NetworkType.TYPE_UNKNOWN) { | 246 | if (this.currentIndex === this.index && type != NetworkType.TYPE_UNKNOWN) { |
| 247 | console.log(TAG, '网络连接状态变化', type, 'this.currentIndex', this.currentIndex, 'this.index', this.index) | 247 | console.log(TAG, '网络连接状态变化', type, 'this.currentIndex', this.currentIndex, 'this.index', this.index) |
| 248 | + if(type == NetworkType.TYPE_CELLULAR) { | ||
| 249 | + this.toastTextVisible = true | ||
| 250 | + this.onlyWifiLoadVideo = false | ||
| 251 | + } else if(type == NetworkType.TYPE_WIFI) { | ||
| 252 | + this.toastTextVisible = false | ||
| 253 | + this.onlyWifiLoadVideo = true | ||
| 254 | + } | ||
| 248 | this.currentIndexChange() | 255 | this.currentIndexChange() |
| 249 | } | 256 | } |
| 250 | }, 1000) | 257 | }, 1000) |
| @@ -426,10 +433,7 @@ export struct DetailPlayShortVideoPage { | @@ -426,10 +433,7 @@ export struct DetailPlayShortVideoPage { | ||
| 426 | .onClick(() => { | 433 | .onClick(() => { |
| 427 | this.onlyWifiLoadVideo = true | 434 | this.onlyWifiLoadVideo = true |
| 428 | this.toastTextVisible = false | 435 | this.toastTextVisible = false |
| 429 | - this.playerController?.play() | ||
| 430 | - this.playerController.startRenderFrame(() => { | ||
| 431 | - this.imageVisible = false | ||
| 432 | - }) | 436 | + this.currentIndexChange() |
| 433 | }) | 437 | }) |
| 434 | } | 438 | } |
| 435 | .width('100%') | 439 | .width('100%') |
| @@ -289,12 +289,13 @@ export struct VideoChannelDetail { | @@ -289,12 +289,13 @@ export struct VideoChannelDetail { | ||
| 289 | Stack({ alignContent: Alignment.Center }) { | 289 | Stack({ alignContent: Alignment.Center }) { |
| 290 | if (this.netStatus !== undefined) { | 290 | if (this.netStatus !== undefined) { |
| 291 | EmptyComponent({ | 291 | EmptyComponent({ |
| 292 | - emptyType: 1, emptyButton: true, isBlack: true, retry: () => { | 292 | + emptyType: 1, emptyButton: true, isBlack: true, showBackButton: false, retry: () => { |
| 293 | this.getDetail() | 293 | this.getDetail() |
| 294 | } | 294 | } |
| 295 | }) | 295 | }) |
| 296 | } else if (this.isOffLine) { | 296 | } else if (this.isOffLine) { |
| 297 | EmptyComponent({ | 297 | EmptyComponent({ |
| 298 | + showBackButton: false, | ||
| 298 | emptyType: WDViewDefaultType.WDViewDefaultType_NoVideo, | 299 | emptyType: WDViewDefaultType.WDViewDefaultType_NoVideo, |
| 299 | retry: () => { | 300 | retry: () => { |
| 300 | this.getDetail() | 301 | this.getDetail() |
| @@ -7,6 +7,7 @@ import { BusinessError } from '@ohos.base'; | @@ -7,6 +7,7 @@ import { BusinessError } from '@ohos.base'; | ||
| 7 | import { DeviceUtil, EmitterEventId, EmitterUtils, Logger, SPHelper, WindowModel } from 'wdKit'; | 7 | import { DeviceUtil, EmitterEventId, EmitterUtils, Logger, SPHelper, WindowModel } from 'wdKit'; |
| 8 | import { ConfigurationConstant } from '@kit.AbilityKit'; | 8 | import { ConfigurationConstant } from '@kit.AbilityKit'; |
| 9 | import { StartupManager } from '../startupmanager/StartupManager'; | 9 | import { StartupManager } from '../startupmanager/StartupManager'; |
| 10 | +import { AppLinkingManager } from 'wdRouter'; | ||
| 10 | 11 | ||
| 11 | let floatWindowClass: window.Window | null = null; | 12 | let floatWindowClass: window.Window | null = null; |
| 12 | const TAG = 'EntryAbility' | 13 | const TAG = 'EntryAbility' |
| @@ -19,7 +20,8 @@ export default class EntryAbility extends UIAbility { | @@ -19,7 +20,8 @@ export default class EntryAbility extends UIAbility { | ||
| 19 | StartupManager.sharedInstance().appAgreedProtocol() | 20 | StartupManager.sharedInstance().appAgreedProtocol() |
| 20 | } | 21 | } |
| 21 | Logger.info(TAG, 'Ability onCreate'); | 22 | Logger.info(TAG, 'Ability onCreate'); |
| 22 | - | 23 | + //只判断不跳转 |
| 24 | + AppLinkingManager.sharedInstance().comsumeLastUriContent(false) | ||
| 23 | // 还没深色模式需求,暂直接不跟随系统。 | 25 | // 还没深色模式需求,暂直接不跟随系统。 |
| 24 | this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT); | 26 | this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT); |
| 25 | 27 |
| 1 | +{"v":"5.6.10","fr":60,"ip":0,"op":60,"w":128,"h":129,"nm":"上拉loding-旋转黑色","ddd":0,"assets":[{"id":"image_0","w":384,"h":384,"u":"","p":"data:image/png;base64,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","e":1},{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":2,"nm":"loding2.png","cl":"png","refId":"image_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":60,"s":[360]}],"ix":10},"p":{"a":0,"k":[192,192,0],"ix":2},"a":{"a":0,"k":[192,192,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":60,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"loding2.png 合成 1","cl":"png","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":60,"s":[360]}],"ix":10},"p":{"a":0,"k":[64,64.5,0],"ix":2},"a":{"a":0,"k":[192,192,0],"ix":1},"s":{"a":0,"k":[33.3,33.3,100],"ix":6}},"ao":0,"w":384,"h":384,"ip":0,"op":60,"st":0,"bm":0}],"markers":[]} |
| @@ -59,7 +59,14 @@ struct LaunchPage { | @@ -59,7 +59,14 @@ struct LaunchPage { | ||
| 59 | this.timerId = setTimeout(() => { | 59 | this.timerId = setTimeout(() => { |
| 60 | this.isJumpToAdvertising = true; | 60 | this.isJumpToAdvertising = true; |
| 61 | 61 | ||
| 62 | - WDRouterRule.jumpWithPage(WDRouterPage.launchAdvertisingPage) | 62 | + let hasLink = SPHelper.default.getSync(SpConstants.HAS_LINK,false) |
| 63 | + if(hasLink){ | ||
| 64 | + SPHelper.default.deleteSync(SpConstants.HAS_LINK) | ||
| 65 | + WDRouterRule.jumpWithPage(WDRouterPage.mainPage) | ||
| 66 | + }else{ | ||
| 67 | + WDRouterRule.jumpWithPage(WDRouterPage.launchAdvertisingPage) | ||
| 68 | + } | ||
| 69 | + | ||
| 63 | 70 | ||
| 64 | // router.pushUrl({ | 71 | // router.pushUrl({ |
| 65 | // url: 'pages/LaunchAdvertisingPage' | 72 | // url: 'pages/LaunchAdvertisingPage' |
| @@ -204,13 +204,18 @@ export struct BottomNavigationComponent { | @@ -204,13 +204,18 @@ export struct BottomNavigationComponent { | ||
| 204 | // 占位图使用本地资源 | 204 | // 占位图使用本地资源 |
| 205 | placeholderSrc: defaultIcon, | 205 | placeholderSrc: defaultIcon, |
| 206 | // 失败占位图使用本地资源 | 206 | // 失败占位图使用本地资源 |
| 207 | - // errorholderSrc: defaultIcon, | 207 | + errorholderSrc: defaultIcon, |
| 208 | // 是否开启一级内存缓存 | 208 | // 是否开启一级内存缓存 |
| 209 | isCacheable: true, | 209 | isCacheable: true, |
| 210 | // 磁盘缓存 | 210 | // 磁盘缓存 |
| 211 | strategy: new ALL(), | 211 | strategy: new ALL(), |
| 212 | gif: { | 212 | gif: { |
| 213 | playTimes: 1 | 213 | playTimes: 1 |
| 214 | + }, | ||
| 215 | + onLoadListener:{ | ||
| 216 | + onLoadFailed:(err)=>{ | ||
| 217 | + console.error("Load Failed Reason: " + err + " cost " + (new Date().getTime() ) + " milliseconds"); | ||
| 218 | + } | ||
| 214 | } | 219 | } |
| 215 | }; | 220 | }; |
| 216 | return imageKnifeOption | 221 | return imageKnifeOption |
| @@ -108,6 +108,7 @@ export class StartupManager { | @@ -108,6 +108,7 @@ export class StartupManager { | ||
| 108 | appOnDestory() { | 108 | appOnDestory() { |
| 109 | Logger.debug(TAG, "App onDestory") | 109 | Logger.debug(TAG, "App onDestory") |
| 110 | NetworkManager.getInstance().release() | 110 | NetworkManager.getInstance().release() |
| 111 | + SPHelper.default.deleteSync(SpConstants.HAS_LINK) | ||
| 111 | } | 112 | } |
| 112 | 113 | ||
| 113 | // 同意隐私协议之后,立即执行必要初始化 | 114 | // 同意隐私协议之后,立即执行必要初始化 |
-
Please register or login to post a comment