Showing
19 changed files
with
182 additions
and
133 deletions
| @@ -98,4 +98,8 @@ export class DeviceUtil { | @@ -98,4 +98,8 @@ export class DeviceUtil { | ||
| 98 | static isTablet(): boolean { | 98 | static isTablet(): boolean { |
| 99 | return deviceInfo.deviceType == 'tablet'; | 99 | return deviceInfo.deviceType == 'tablet'; |
| 100 | } | 100 | } |
| 101 | + | ||
| 102 | + static is2in1(): boolean { | ||
| 103 | + return deviceInfo.deviceType == '2in1'; | ||
| 104 | + } | ||
| 101 | } | 105 | } |
| @@ -43,6 +43,9 @@ export class WindowModel { | @@ -43,6 +43,9 @@ export class WindowModel { | ||
| 43 | return this.windowClass as window.Window | 43 | return this.windowClass as window.Window |
| 44 | } | 44 | } |
| 45 | 45 | ||
| 46 | + /** | ||
| 47 | + * @deprecated 应用整体全屏,不需要再设置全屏与否了。 | ||
| 48 | + */ | ||
| 46 | setMainWindowFullScreen(fullScreen: boolean) { | 49 | setMainWindowFullScreen(fullScreen: boolean) { |
| 47 | if (deviceInfo.deviceType != "phone") { | 50 | if (deviceInfo.deviceType != "phone") { |
| 48 | return | 51 | return |
| @@ -140,6 +143,9 @@ export class WindowModel { | @@ -140,6 +143,9 @@ export class WindowModel { | ||
| 140 | return this.windowClass?.getWindowProperties() | 143 | return this.windowClass?.getWindowProperties() |
| 141 | } | 144 | } |
| 142 | 145 | ||
| 146 | + /** | ||
| 147 | + * @deprecated 应用整体全屏,不需要再设置全屏与否了。 | ||
| 148 | + */ | ||
| 143 | setWindowLayoutFullScreen(isFullScreen: boolean) { | 149 | setWindowLayoutFullScreen(isFullScreen: boolean) { |
| 144 | this.isFullScreen = isFullScreen | 150 | this.isFullScreen = isFullScreen |
| 145 | this.windowClass?.setWindowLayoutFullScreen(isFullScreen) | 151 | this.windowClass?.setWindowLayoutFullScreen(isFullScreen) |
| @@ -82,7 +82,6 @@ export struct CompParser { | @@ -82,7 +82,6 @@ export struct CompParser { | ||
| 82 | 82 | ||
| 83 | if (this.compDTO.operDataList[0]?.objectType !== '3' && | 83 | if (this.compDTO.operDataList[0]?.objectType !== '3' && |
| 84 | this.compDTO.operDataList[0]?.objectType !== '13') { //暂时屏蔽活动和音频详情入口 | 84 | this.compDTO.operDataList[0]?.objectType !== '13') { //暂时屏蔽活动和音频详情入口 |
| 85 | - | ||
| 86 | if (this.compDTO.compStyle === CompStyle.Label_03) { | 85 | if (this.compDTO.compStyle === CompStyle.Label_03) { |
| 87 | LabelComponent({ compDTO: this.compDTO }) | 86 | LabelComponent({ compDTO: this.compDTO }) |
| 88 | Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 }) | 87 | Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 }) |
| @@ -108,7 +107,7 @@ export struct CompParser { | @@ -108,7 +107,7 @@ export struct CompParser { | ||
| 108 | Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) | 107 | Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) |
| 109 | } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_03) { | 108 | } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_03) { |
| 110 | ZhSingleRow03({ compDTO: this.compDTO, pageId: this.pageId, pageName: this.pageName }) | 109 | ZhSingleRow03({ compDTO: this.compDTO, pageId: this.pageId, pageName: this.pageName }) |
| 111 | - Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 }) | 110 | + Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) |
| 112 | } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_02) { //双列流小视频,一行两图卡 ->标题 | 111 | } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_02) { //双列流小视频,一行两图卡 ->标题 |
| 113 | //ZhGridLayout02({ compDTO: this.compDTO }) | 112 | //ZhGridLayout02({ compDTO: this.compDTO }) |
| 114 | CompNormalTitle({ compDTO: this.compDTO }) | 113 | CompNormalTitle({ compDTO: this.compDTO }) |
| @@ -136,7 +135,7 @@ export struct CompParser { | @@ -136,7 +135,7 @@ export struct CompParser { | ||
| 136 | } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_03) { | 135 | } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_03) { |
| 137 | // 大图卡 | 136 | // 大图卡 |
| 138 | Card2Component({ compDTO: this.compDTO, contentDTO: this.compDTO.operDataList[0], pageId: this.pageId, pageName: this.pageName }) | 137 | Card2Component({ compDTO: this.compDTO, contentDTO: this.compDTO.operDataList[0], pageId: this.pageId, pageName: this.pageName }) |
| 139 | - Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 }) | 138 | + Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) |
| 140 | } else if (this.compDTO.compStyle === CompStyle.Card_09) { | 139 | } else if (this.compDTO.compStyle === CompStyle.Card_09) { |
| 141 | //时间链卡 | 140 | //时间链卡 |
| 142 | Card9Component({ compDTO: this.compDTO, contentDTO:this.compDTO.operDataList[0], pageId: this.pageId, pageName: this.pageName }) | 141 | Card9Component({ compDTO: this.compDTO, contentDTO:this.compDTO.operDataList[0], pageId: this.pageId, pageName: this.pageName }) |
| @@ -35,7 +35,7 @@ export struct topicInfoView { | @@ -35,7 +35,7 @@ export struct topicInfoView { | ||
| 35 | if (this.frontLinkObject.linkUrl.length > 0 || this.frontLinkObject?.newsId.length > 0) { | 35 | if (this.frontLinkObject.linkUrl.length > 0 || this.frontLinkObject?.newsId.length > 0) { |
| 36 | Row() { | 36 | Row() { |
| 37 | Text("查看详情") | 37 | Text("查看详情") |
| 38 | - .fontSize(14) | 38 | + .fontSize(12) |
| 39 | .fontColor($r('app.color.white')) | 39 | .fontColor($r('app.color.white')) |
| 40 | .maxLines(1) | 40 | .maxLines(1) |
| 41 | .borderRadius(2) | 41 | .borderRadius(2) |
| @@ -59,7 +59,7 @@ export struct topicInfoView { | @@ -59,7 +59,7 @@ export struct topicInfoView { | ||
| 59 | ProcessUtils.processPage(contentDTO) | 59 | ProcessUtils.processPage(contentDTO) |
| 60 | 60 | ||
| 61 | }) | 61 | }) |
| 62 | - .width(80) | 62 | + .width(70) |
| 63 | .alignRules({ | 63 | .alignRules({ |
| 64 | left: { anchor: "__container__", align: HorizontalAlign.Start }, | 64 | left: { anchor: "__container__", align: HorizontalAlign.Start }, |
| 65 | bottom: { anchor: "__container__", align: VerticalAlign.Bottom } | 65 | bottom: { anchor: "__container__", align: VerticalAlign.Bottom } |
| @@ -85,7 +85,7 @@ export struct topicInfoView { | @@ -85,7 +85,7 @@ export struct topicInfoView { | ||
| 85 | left: { anchor: "__container__", align: HorizontalAlign.Start }, | 85 | left: { anchor: "__container__", align: HorizontalAlign.Start }, |
| 86 | bottom: this.frontLinkObject.linkUrl.length > 0 || this.frontLinkObject?.newsId.length > 0 ?{ anchor: "row_detail", align: VerticalAlign.Top }:{ anchor: "__container__", align: VerticalAlign.Bottom } | 86 | bottom: this.frontLinkObject.linkUrl.length > 0 || this.frontLinkObject?.newsId.length > 0 ?{ anchor: "row_detail", align: VerticalAlign.Top }:{ anchor: "__container__", align: VerticalAlign.Bottom } |
| 87 | }) | 87 | }) |
| 88 | - .margin({top: 10 , left: 16, right: 16, bottom: this.frontLinkObject.linkUrl.length > 0 || this.frontLinkObject?.newsId.length > 0 ?0:16}) | 88 | + .margin({top: 10 , left: 16, right: 16, bottom: this.frontLinkObject.linkUrl.length > 0 || this.frontLinkObject?.newsId.length > 0 ?10:16}) |
| 89 | .id('txt_summary') | 89 | .id('txt_summary') |
| 90 | 90 | ||
| 91 | Text(this.frontLinkObject?.title ?? "") | 91 | Text(this.frontLinkObject?.title ?? "") |
| @@ -44,10 +44,14 @@ export struct ZhSingleRow04 { | @@ -44,10 +44,14 @@ export struct ZhSingleRow04 { | ||
| 44 | .onClick(() => { | 44 | .onClick(() => { |
| 45 | if (this.compDTO?.objectType === '11') { | 45 | if (this.compDTO?.objectType === '11') { |
| 46 | ProcessUtils.jumpChannelTab(this.compDTO.objectId, this.compDTO.pageId as string, this.compDTO.objectTitle) | 46 | ProcessUtils.jumpChannelTab(this.compDTO.objectId, this.compDTO.pageId as string, this.compDTO.objectTitle) |
| 47 | - } else if (this.compDTO?.objectType === '5') { | ||
| 48 | - ProcessUtils._gotoSpecialTopic(this.compDTO.linkUrl) | ||
| 49 | - } else if (this.compDTO?.objectType === '6') { | ||
| 50 | - ProcessUtils._gotoDefaultWeb(this.compDTO.linkUrl) | 47 | + } else { |
| 48 | + const contentDTO: ContentDTO = { | ||
| 49 | + objectId: this.compDTO.objectId, | ||
| 50 | + objectType: this.compDTO.objectType, | ||
| 51 | + linkUrl: this.compDTO.linkUrl, | ||
| 52 | + pageId: this.compDTO.pageId | ||
| 53 | + } as ContentDTO | ||
| 54 | + ProcessUtils.processPage(contentDTO) | ||
| 51 | } | 55 | } |
| 52 | }) | 56 | }) |
| 53 | } | 57 | } |
| @@ -84,6 +88,7 @@ export struct ZhSingleRow04 { | @@ -84,6 +88,7 @@ export struct ZhSingleRow04 { | ||
| 84 | .scrollBar(BarState.Off) | 88 | .scrollBar(BarState.Off) |
| 85 | .width(CommonConstants.FULL_PARENT) | 89 | .width(CommonConstants.FULL_PARENT) |
| 86 | .height(166) | 90 | .height(166) |
| 91 | + .edgeEffect(EdgeEffect.None) | ||
| 87 | } | 92 | } |
| 88 | .width(CommonConstants.FULL_WIDTH) | 93 | .width(CommonConstants.FULL_WIDTH) |
| 89 | .backgroundColor($r("app.color.white")) | 94 | .backgroundColor($r("app.color.white")) |
| @@ -19,6 +19,7 @@ const TAG = 'MinePageComponent'; | @@ -19,6 +19,7 @@ const TAG = 'MinePageComponent'; | ||
| 19 | */ | 19 | */ |
| 20 | @Component | 20 | @Component |
| 21 | export struct MinePageComponent { | 21 | export struct MinePageComponent { |
| 22 | + private topRectHeight: string = AppStorage.get<number>('topSafeHeight') + 'px'; | ||
| 22 | //是否是创作者 | 23 | //是否是创作者 |
| 23 | @State isCreator:boolean = false | 24 | @State isCreator:boolean = false |
| 24 | @State isLogin:boolean = false //默认 false 测试放开 | 25 | @State isLogin:boolean = false //默认 false 测试放开 |
| @@ -167,6 +168,8 @@ export struct MinePageComponent { | @@ -167,6 +168,8 @@ export struct MinePageComponent { | ||
| 167 | .backgroundColor($r('app.color.color_F9F9F9')) | 168 | .backgroundColor($r('app.color.color_F9F9F9')) |
| 168 | .scrollable(ScrollDirection.Vertical) | 169 | .scrollable(ScrollDirection.Vertical) |
| 169 | .scrollBar(BarState.Off) | 170 | .scrollBar(BarState.Off) |
| 171 | + // 预留状态栏、导航栏高度 | ||
| 172 | + .margin({ top: this.topRectHeight}) | ||
| 170 | } | 173 | } |
| 171 | 174 | ||
| 172 | 175 |
| @@ -22,6 +22,7 @@ const storage = LocalStorage.getShared(); | @@ -22,6 +22,7 @@ const storage = LocalStorage.getShared(); | ||
| 22 | @Entry(storage) | 22 | @Entry(storage) |
| 23 | @Component | 23 | @Component |
| 24 | export struct TopNavigationComponentNew { | 24 | export struct TopNavigationComponentNew { |
| 25 | + private topRectHeight: string = AppStorage.get<number>('topSafeHeight') + 'px'; | ||
| 25 | /** | 26 | /** |
| 26 | * @deprecated | 27 | * @deprecated |
| 27 | */ | 28 | */ |
| @@ -85,6 +86,7 @@ export struct TopNavigationComponentNew { | @@ -85,6 +86,7 @@ export struct TopNavigationComponentNew { | ||
| 85 | navIndex: index, | 86 | navIndex: index, |
| 86 | pageId: navItem?.pageId + '', | 87 | pageId: navItem?.pageId + '', |
| 87 | channelId: navItem?.channelId + '', | 88 | channelId: navItem?.channelId + '', |
| 89 | + autoRefresh: this.autoRefresh2Page | ||
| 88 | }) | 90 | }) |
| 89 | } else | 91 | } else |
| 90 | if (!this.isBroadcast(navItem) && !this.isLayout(navItem)) { | 92 | if (!this.isBroadcast(navItem) && !this.isLayout(navItem)) { |
| @@ -137,6 +139,8 @@ export struct TopNavigationComponentNew { | @@ -137,6 +139,8 @@ export struct TopNavigationComponentNew { | ||
| 137 | .width('100%') | 139 | .width('100%') |
| 138 | .height('100%') | 140 | .height('100%') |
| 139 | } | 141 | } |
| 142 | + // 预留状态栏 | ||
| 143 | + .margin({ top: this.topRectHeight }) | ||
| 140 | } | 144 | } |
| 141 | 145 | ||
| 142 | @Builder | 146 | @Builder |
| @@ -14,7 +14,6 @@ import { | @@ -14,7 +14,6 @@ import { | ||
| 14 | import { ViewType } from 'wdConstant/src/main/ets/enum/ViewType'; | 14 | import { ViewType } from 'wdConstant/src/main/ets/enum/ViewType'; |
| 15 | import { channelSkeleton } from '../skeleton/channelSkeleton' | 15 | import { channelSkeleton } from '../skeleton/channelSkeleton' |
| 16 | import { EmptyComponent } from '../view/EmptyComponent'; | 16 | import { EmptyComponent } from '../view/EmptyComponent'; |
| 17 | -import { ErrorComponent } from '../view/ErrorComponent'; | ||
| 18 | import { WDRouterPage, WDRouterRule } from 'wdRouter/Index' | 17 | import { WDRouterPage, WDRouterRule } from 'wdRouter/Index' |
| 19 | import MinePageDatasModel from '../../model/MinePageDatasModel'; | 18 | import MinePageDatasModel from '../../model/MinePageDatasModel'; |
| 20 | import { FollowListDetailRequestItem } from '../../viewmodel/FollowListDetailRequestItem'; | 19 | import { FollowListDetailRequestItem } from '../../viewmodel/FollowListDetailRequestItem'; |
| @@ -26,13 +25,14 @@ import PageHelper from '../../viewmodel/PageHelper'; | @@ -26,13 +25,14 @@ import PageHelper from '../../viewmodel/PageHelper'; | ||
| 26 | import { PeopleShipAttentionContentListTopComponent } from './PeopleShipAttentionContentListTopComponent' | 25 | import { PeopleShipAttentionContentListTopComponent } from './PeopleShipAttentionContentListTopComponent' |
| 27 | import { CardParser } from '../CardParser' | 26 | import { CardParser } from '../CardParser' |
| 28 | import { PeopleShipNoMoreData } from '../reusable/PeopleShipNoMoreData'; | 27 | import { PeopleShipNoMoreData } from '../reusable/PeopleShipNoMoreData'; |
| 29 | - | 28 | +const TAG = 'PeopleShipMainComponent'; |
| 30 | @Preview | 29 | @Preview |
| 31 | @Component | 30 | @Component |
| 32 | export struct PeopleShipMainComponent { | 31 | export struct PeopleShipMainComponent { |
| 33 | @State private pageModel: PageModel = new PageModel(); | 32 | @State private pageModel: PageModel = new PageModel(); |
| 34 | @State private pageAdvModel: PageAdModel = new PageAdModel(); | 33 | @State private pageAdvModel: PageAdModel = new PageAdModel(); |
| 35 | - | 34 | + // 自动刷新通知 |
| 35 | + @Prop @Watch('onAutoRefresh') autoRefresh: number = 0 | ||
| 36 | navIndex: number = 0; | 36 | navIndex: number = 0; |
| 37 | pageId: string = ""; | 37 | pageId: string = ""; |
| 38 | channelId: string = ""; | 38 | channelId: string = ""; |
| @@ -416,4 +416,13 @@ export struct PeopleShipMainComponent { | @@ -416,4 +416,13 @@ export struct PeopleShipMainComponent { | ||
| 416 | } | 416 | } |
| 417 | } | 417 | } |
| 418 | 418 | ||
| 419 | + onAutoRefresh(changedPropertyName: string) { | ||
| 420 | + if (this.navIndex != this.currentTopNavSelectedIndex) { | ||
| 421 | + return | ||
| 422 | + } | ||
| 423 | + // 当前页面,自动刷新数据 | ||
| 424 | + Logger.debug(TAG, 'page onAutoRefresh ' + this.autoRefresh) | ||
| 425 | + this.currentPage = 1 | ||
| 426 | + this.getData() | ||
| 427 | + } | ||
| 419 | } | 428 | } |
| @@ -138,15 +138,16 @@ struct ChangeBindPhonePage { | @@ -138,15 +138,16 @@ struct ChangeBindPhonePage { | ||
| 138 | Row() { | 138 | Row() { |
| 139 | Text("确认") | 139 | Text("确认") |
| 140 | .layoutWeight(1) | 140 | .layoutWeight(1) |
| 141 | - .fontColor(this.isSubmit ?"#FFFFFFFF":"#66FFFFFF") | 141 | + .fontColor("#FFFFFF") |
| 142 | .borderRadius(4) | 142 | .borderRadius(4) |
| 143 | .fontSize(18) | 143 | .fontSize(18) |
| 144 | .textAlign(TextAlign.Center) | 144 | .textAlign(TextAlign.Center) |
| 145 | .fontWeight(FontWeight.Medium) | 145 | .fontWeight(FontWeight.Medium) |
| 146 | .margin({ top: 26 }) | 146 | .margin({ top: 26 }) |
| 147 | .height(44) | 147 | .height(44) |
| 148 | - .backgroundColor(this.isSubmit ?"#ED2800":"#99ED2800") | 148 | + .backgroundColor("#ED2800") |
| 149 | .enabled(this.isSubmit ? true : false) | 149 | .enabled(this.isSubmit ? true : false) |
| 150 | + .opacity(this.isSubmit ? 1: 0.6) | ||
| 150 | .onClick(() => { | 151 | .onClick(() => { |
| 151 | TrackingButton.click("changePhoneNumberPageConfirm",TrackConstants.PageName.Change_PhoneNum,TrackConstants.PageName.Change_PhoneNum) | 152 | TrackingButton.click("changePhoneNumberPageConfirm",TrackConstants.PageName.Change_PhoneNum,TrackConstants.PageName.Change_PhoneNum) |
| 152 | this.changeBindPhone() | 153 | this.changeBindPhone() |
| @@ -60,15 +60,16 @@ struct ForgetPasswordPage { | @@ -60,15 +60,16 @@ struct ForgetPasswordPage { | ||
| 60 | Row() { | 60 | Row() { |
| 61 | Text("确认") | 61 | Text("确认") |
| 62 | .layoutWeight(1) | 62 | .layoutWeight(1) |
| 63 | - .fontColor(this.isSubmit ?"#FFFFFFFF":"#66FFFFFF") | 63 | + .fontColor("#FFFFFF") |
| 64 | .borderRadius(4) | 64 | .borderRadius(4) |
| 65 | .fontSize(18) | 65 | .fontSize(18) |
| 66 | .textAlign(TextAlign.Center) | 66 | .textAlign(TextAlign.Center) |
| 67 | .fontWeight(FontWeight.Medium) | 67 | .fontWeight(FontWeight.Medium) |
| 68 | .margin({ top: 26 }) | 68 | .margin({ top: 26 }) |
| 69 | .height(44) | 69 | .height(44) |
| 70 | - .backgroundColor(this.isSubmit ?"#ED2800":"#99ED2800") | 70 | + .backgroundColor("#ED2800") |
| 71 | .enabled(this.isSubmit ? true : false) | 71 | .enabled(this.isSubmit ? true : false) |
| 72 | + .opacity(this.isSubmit ? 1: 0.6) | ||
| 72 | .onClick(() => { | 73 | .onClick(() => { |
| 73 | this.checkVerifyCode() | 74 | this.checkVerifyCode() |
| 74 | }) | 75 | }) |
| @@ -161,7 +161,7 @@ struct LoginPage { | @@ -161,7 +161,7 @@ struct LoginPage { | ||
| 161 | Row() { | 161 | Row() { |
| 162 | Text("登录") | 162 | Text("登录") |
| 163 | .borderRadius(4) | 163 | .borderRadius(4) |
| 164 | - .fontColor(this.isSubmit ? "#FFFFFFFF" : "#66FFFFFF") | 164 | + .fontColor("#FFFFFF") |
| 165 | .fontSize(`${this.calcHeight(31)}lpx`) | 165 | .fontSize(`${this.calcHeight(31)}lpx`) |
| 166 | .fontWeight(400) | 166 | .fontWeight(400) |
| 167 | .margin({ top: `${this.calcHeight(20)}` }) | 167 | .margin({ top: `${this.calcHeight(20)}` }) |
| @@ -169,7 +169,8 @@ struct LoginPage { | @@ -169,7 +169,8 @@ struct LoginPage { | ||
| 169 | .height(44) | 169 | .height(44) |
| 170 | .textAlign(TextAlign.Center) | 170 | .textAlign(TextAlign.Center) |
| 171 | .width("100%") | 171 | .width("100%") |
| 172 | - .backgroundColor(this.isSubmit ? "#FFED2800" : "#99ED2800") | 172 | + .backgroundColor("#ED2800") |
| 173 | + .opacity(this.isSubmit ? 1: 0.6) | ||
| 173 | .onClick(() => { | 174 | .onClick(() => { |
| 174 | if (!this.isSubmit) { | 175 | if (!this.isSubmit) { |
| 175 | return | 176 | return |
| @@ -189,30 +189,30 @@ struct ModifyPasswordPage { | @@ -189,30 +189,30 @@ struct ModifyPasswordPage { | ||
| 189 | .height(`${this.calcHeight(85)}lpx`) | 189 | .height(`${this.calcHeight(85)}lpx`) |
| 190 | .alignItems(HorizontalAlign.Start) | 190 | .alignItems(HorizontalAlign.Start) |
| 191 | 191 | ||
| 192 | + | ||
| 192 | Row() { | 193 | Row() { |
| 193 | - Button( { type: ButtonType.Normal, stateEffect: true }){ | ||
| 194 | Text("确认") | 194 | Text("确认") |
| 195 | - .fontColor("#fff") | ||
| 196 | - .fontSize(`${this.calcHeight(35)}lpx`) | ||
| 197 | - .lineHeight(`${this.calcHeight(50)}lpx`) | ||
| 198 | - .opacity(this.btnStatus ?1:0.5) | ||
| 199 | - } | ||
| 200 | - .width('100%') | ||
| 201 | - .height(`${this.calcHeight(80)}lpx`) | ||
| 202 | - .backgroundColor(this.btnStatus ? '#ED2800' : '#99ED2800') | ||
| 203 | - .enabled(this.btnStatus ?true:false) | ||
| 204 | - .borderRadius('4vp') | 195 | + .layoutWeight(1) |
| 196 | + .fontColor("#FFFFFF") | ||
| 197 | + .borderRadius(4) | ||
| 198 | + .fontSize(18) | ||
| 199 | + .textAlign(TextAlign.Center) | ||
| 200 | + .fontWeight(FontWeight.Medium) | ||
| 201 | + .margin({ top: 26 }) | ||
| 202 | + .height(44) | ||
| 203 | + .backgroundColor("#ED2800") | ||
| 204 | + .enabled(this.btnStatus ? true : false) | ||
| 205 | + .opacity(this.btnStatus ? 1: 0.6) | ||
| 205 | .onClick(() => { | 206 | .onClick(() => { |
| 206 | if(this.btnStatus){ | 207 | if(this.btnStatus){ |
| 207 | TrackingButton.click("changePasswordPageConfirm",TrackConstants.PageName.Change_Passwd,TrackConstants.PageName.Change_Passwd) | 208 | TrackingButton.click("changePasswordPageConfirm",TrackConstants.PageName.Change_Passwd,TrackConstants.PageName.Change_Passwd) |
| 208 | this.submit() | 209 | this.submit() |
| 209 | } | 210 | } |
| 210 | }) | 211 | }) |
| 211 | - } | 212 | + }.width('100%') |
| 212 | .padding({top:`${this.calcHeight(25)}lpx`}) | 213 | .padding({top:`${this.calcHeight(25)}lpx`}) |
| 213 | .alignItems(VerticalAlign.Center) | 214 | .alignItems(VerticalAlign.Center) |
| 214 | .width('100%') | 215 | .width('100%') |
| 215 | - .height(`${this.calcHeight(120)}lpx`) | ||
| 216 | 216 | ||
| 217 | Column() { | 217 | Column() { |
| 218 | Text("忘记密码").fontSize(12).maxLines(3).fontColor(0x999999).padding({top:`${this.calcHeight(10)}lpx`}) | 218 | Text("忘记密码").fontSize(12).maxLines(3).fontColor(0x999999).padding({top:`${this.calcHeight(10)}lpx`}) |
| @@ -290,21 +290,23 @@ export struct SettingPasswordPage { | @@ -290,21 +290,23 @@ export struct SettingPasswordPage { | ||
| 290 | // 按钮 | 290 | // 按钮 |
| 291 | @Builder getButtonCell(item: AccoutPageDataModel) { | 291 | @Builder getButtonCell(item: AccoutPageDataModel) { |
| 292 | Row() { | 292 | Row() { |
| 293 | - Button(item.compButtonTitle, { type: ButtonType.Normal, stateEffect: true }) | ||
| 294 | - .width('100%') | ||
| 295 | - .height('80lpx') | ||
| 296 | - .backgroundColor(this.btnStatus ? '#da3e22' : '#e5856d') | ||
| 297 | - .enabled(this.btnStatus ?true:false) | ||
| 298 | - .fontColor('#fff') | ||
| 299 | - .borderRadius('4vp') | 293 | + Text(item.compButtonTitle) |
| 294 | + .layoutWeight(1) | ||
| 295 | + .fontColor("#FFFFFF") | ||
| 296 | + .borderRadius(4) | ||
| 297 | + .fontSize(18) | ||
| 298 | + .textAlign(TextAlign.Center) | ||
| 299 | + .fontWeight(FontWeight.Medium) | ||
| 300 | + .margin({ top: 26 }) | ||
| 301 | + .height(44) | ||
| 302 | + .backgroundColor("#ED2800") | ||
| 303 | + .enabled(this.btnStatus ? true : false) | ||
| 304 | + .opacity(this.btnStatus ? 1: 0.6) | ||
| 300 | .onClick(() => { | 305 | .onClick(() => { |
| 301 | this.buttonClick() | 306 | this.buttonClick() |
| 302 | }) | 307 | }) |
| 303 | - } | ||
| 304 | - .padding({top:'25lpx'}) | ||
| 305 | - .alignItems(VerticalAlign.Center) | 308 | + }.padding({top:'25lpx'}) |
| 306 | .width('100%') | 309 | .width('100%') |
| 307 | - .height('120lpx') | ||
| 308 | } | 310 | } |
| 309 | 311 | ||
| 310 | // 标题 | 312 | // 标题 |
| 1 | import AbilityConstant from '@ohos.app.ability.AbilityConstant'; | 1 | import AbilityConstant from '@ohos.app.ability.AbilityConstant'; |
| 2 | import app from '@system.app'; | 2 | import app from '@system.app'; |
| 3 | -import hilog from '@ohos.hilog'; | ||
| 4 | import UIAbility from '@ohos.app.ability.UIAbility'; | 3 | import UIAbility from '@ohos.app.ability.UIAbility'; |
| 5 | import Want from '@ohos.app.ability.Want'; | 4 | import Want from '@ohos.app.ability.Want'; |
| 6 | import window from '@ohos.window'; | 5 | import window from '@ohos.window'; |
| 7 | import { BusinessError } from '@ohos.base'; | 6 | import { BusinessError } from '@ohos.base'; |
| 8 | -import { DeviceUtil, EmitterEventId, EmitterUtils, WindowModel } from 'wdKit'; | 7 | +import { DeviceUtil, EmitterEventId, EmitterUtils, Logger, WindowModel } from 'wdKit'; |
| 9 | import { ConfigurationConstant } from '@kit.AbilityKit'; | 8 | import { ConfigurationConstant } from '@kit.AbilityKit'; |
| 10 | import { StartupManager } from '../startupmanager/StartupManager'; | 9 | import { StartupManager } from '../startupmanager/StartupManager'; |
| 11 | -import { UIContext } from '@ohos.arkui.UIContext'; | ||
| 12 | 10 | ||
| 13 | let floatWindowClass: window.Window | null = null; | 11 | let floatWindowClass: window.Window | null = null; |
| 12 | +const TAG = 'EntryAbility' | ||
| 14 | 13 | ||
| 15 | export default class EntryAbility extends UIAbility { | 14 | export default class EntryAbility extends UIAbility { |
| 16 | onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { | 15 | onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { |
| 17 | StartupManager.sharedInstance().appOnCreate(want, launchParam, this.context) | 16 | StartupManager.sharedInstance().appOnCreate(want, launchParam, this.context) |
| 18 | - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); | 17 | + Logger.info(TAG, 'Ability onCreate'); |
| 19 | 18 | ||
| 20 | // 还没深色模式需求,暂直接不跟随系统。 | 19 | // 还没深色模式需求,暂直接不跟随系统。 |
| 21 | this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT); | 20 | this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT); |
| @@ -32,13 +31,13 @@ export default class EntryAbility extends UIAbility { | @@ -32,13 +31,13 @@ export default class EntryAbility extends UIAbility { | ||
| 32 | } | 31 | } |
| 33 | 32 | ||
| 34 | onDestroy(): void { | 33 | onDestroy(): void { |
| 35 | - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); | 34 | + Logger.info(TAG, 'Ability onDestroy'); |
| 36 | StartupManager.sharedInstance().appOnDestory() | 35 | StartupManager.sharedInstance().appOnDestory() |
| 37 | } | 36 | } |
| 38 | 37 | ||
| 39 | onWindowStageCreate(windowStage: window.WindowStage): void { | 38 | onWindowStageCreate(windowStage: window.WindowStage): void { |
| 40 | // Main window is created, set main page for this ability | 39 | // Main window is created, set main page for this ability |
| 41 | - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); | 40 | + Logger.info(TAG, 'Ability onWindowStageCreate'); |
| 42 | WindowModel.shared.setWindowStage(windowStage); | 41 | WindowModel.shared.setWindowStage(windowStage); |
| 43 | // 2. 获取布局避让遮挡的区域 | 42 | // 2. 获取布局避让遮挡的区域 |
| 44 | const windowClass: window.Window = windowStage.getMainWindowSync(); // 获取应用主窗口 | 43 | const windowClass: window.Window = windowStage.getMainWindowSync(); // 获取应用主窗口 |
| @@ -57,72 +56,50 @@ export default class EntryAbility extends UIAbility { | @@ -57,72 +56,50 @@ export default class EntryAbility extends UIAbility { | ||
| 57 | // 音频悬浮窗初始移动位置604为ui高度 | 56 | // 音频悬浮窗初始移动位置604为ui高度 |
| 58 | let initMoveY = vp2px(604) | 57 | let initMoveY = vp2px(604) |
| 59 | 58 | ||
| 60 | - | ||
| 61 | - // 在普通phone/折叠屏/tablet设备上以沉浸式(全屏)启动 | ||
| 62 | - if (DeviceUtil.isPhone() || DeviceUtil.isTablet()) { | ||
| 63 | - // 设置窗口的布局是否为沉浸式布局 | ||
| 64 | - // 沉浸式布局是指布局不避让状态栏与导航栏,组件可能产生与其重叠的情况。 | ||
| 65 | - // 非沉浸式布局是指布局避让状态栏与导航栏,组件不会与其重叠。 | ||
| 66 | - // windowClass.setWindowLayoutFullScreen(true) | ||
| 67 | - // 设置窗口全屏模式时窗口内导航栏、状态栏的属性 | ||
| 68 | - // windowClass.setWindowSystemBarProperties({ | ||
| 69 | - // statusBarContentColor: "#FFFFFF" | ||
| 70 | - // }) | ||
| 71 | - | ||
| 72 | - // 设置启动时窗口的显示方向属性, | ||
| 73 | - // 普通phone以PORTRAIT/竖屏显示模式启动 | ||
| 74 | - // 折叠屏和tablet是以AUTO_ROTATION_RESTRICTED/受开关控制的自动旋转模式启动 | ||
| 75 | - WindowModel.shared.setPreferredOrientation(window.Orientation.PORTRAIT) | ||
| 76 | - .then(() => { | ||
| 77 | - hilog.info(0x0000, 'testTag', 'setPreferredOrientation Succeeded'); | ||
| 78 | - }) | ||
| 79 | - .catch((err: Error) => { | ||
| 80 | - hilog.error(0x0000, 'testTag', | ||
| 81 | - `setPreferredOrientation catch, error error.name : ${err.name}, error.message:${err.message}`); | ||
| 82 | - }) | ||
| 83 | - } | 59 | + this.onWindowSetup(windowClass) |
| 84 | 60 | ||
| 85 | //../../../../../../features/wdLogin/src/main/ets/pages/launchPage/LaunchPage | 61 | //../../../../../../features/wdLogin/src/main/ets/pages/launchPage/LaunchPage |
| 86 | windowStage.loadContent('pages/launchPage/LaunchPage', (err, data) => { | 62 | windowStage.loadContent('pages/launchPage/LaunchPage', (err, data) => { |
| 87 | if (err.code) { | 63 | if (err.code) { |
| 88 | - hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); | 64 | + Logger.error(TAG, 'Failed to load the content. Cause: ' + JSON.stringify(err) ?? ''); |
| 89 | return; | 65 | return; |
| 90 | } | 66 | } |
| 91 | - hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); | 67 | + Logger.info(TAG, 'Succeeded in loading the content. Data: ' + JSON.stringify(data) ?? ''); |
| 92 | }); | 68 | }); |
| 93 | // 1.创建悬浮窗 | 69 | // 1.创建悬浮窗 |
| 94 | windowStage.createSubWindow('subWindow', (err: BusinessError, data) => { | 70 | windowStage.createSubWindow('subWindow', (err: BusinessError, data) => { |
| 95 | let errCode: number = err.code; | 71 | let errCode: number = err.code; |
| 96 | if (errCode) { | 72 | if (errCode) { |
| 97 | - console.error('floatWindowClass Failed to create the subwindow. Cause: ' + JSON.stringify(err)); | 73 | + Logger.error('floatWindowClass Failed to create the subwindow. Cause: ' + JSON.stringify(err)); |
| 98 | return; | 74 | return; |
| 99 | } | 75 | } |
| 100 | - console.info('floatWindowClass Succeeded in creating the subwindow. Data: ' + JSON.stringify(data)); | 76 | + Logger.info('floatWindowClass Succeeded in creating the subwindow. Data: ' + JSON.stringify(data)); |
| 101 | floatWindowClass = data; | 77 | floatWindowClass = data; |
| 102 | AppStorage.setOrCreate('floatWindowClass', floatWindowClass); | 78 | AppStorage.setOrCreate('floatWindowClass', floatWindowClass); |
| 103 | // 2.悬浮窗窗口创建成功后,设置悬浮窗的位置、大小及相关属性等。 | 79 | // 2.悬浮窗窗口创建成功后,设置悬浮窗的位置、大小及相关属性等。 |
| 104 | floatWindowClass.moveWindowTo(0, initMoveY, (err: BusinessError) => { | 80 | floatWindowClass.moveWindowTo(0, initMoveY, (err: BusinessError) => { |
| 105 | let errCode: number = err.code; | 81 | let errCode: number = err.code; |
| 106 | if (errCode) { | 82 | if (errCode) { |
| 107 | - console.error('floatWindowClass Failed to move the window. Cause:' + JSON.stringify(err)); | 83 | + Logger.error('floatWindowClass Failed to move the window. Cause:' + JSON.stringify(err)); |
| 108 | return; | 84 | return; |
| 109 | } | 85 | } |
| 110 | - console.info('floatWindowClass Succeeded in moving the window.'); | 86 | + Logger.info('floatWindowClass Succeeded in moving the window.'); |
| 111 | }); | 87 | }); |
| 112 | // 3.为悬浮窗加载对应的目标页面。 | 88 | // 3.为悬浮窗加载对应的目标页面。 |
| 113 | floatWindowClass.setUIContent("pages/view/AudioComponent", (err: BusinessError) => { | 89 | floatWindowClass.setUIContent("pages/view/AudioComponent", (err: BusinessError) => { |
| 114 | let errCode: number = err.code; | 90 | let errCode: number = err.code; |
| 115 | if (errCode) { | 91 | if (errCode) { |
| 116 | - console.error('floatWindowClass Failed to load the content. Cause:' + JSON.stringify(err)); | 92 | + Logger.error('floatWindowClass Failed to load the content. Cause:' + JSON.stringify(err)); |
| 117 | return; | 93 | return; |
| 118 | } | 94 | } |
| 119 | - console.info('floatWindowClass Succeeded in loading the content.'); | 95 | + Logger.info('floatWindowClass Succeeded in loading the content.'); |
| 120 | let color: string = 'rgba(0,0,0,0)'; | 96 | let color: string = 'rgba(0,0,0,0)'; |
| 121 | try { | 97 | try { |
| 122 | (floatWindowClass as window.Window).setWindowBackgroundColor(color); | 98 | (floatWindowClass as window.Window).setWindowBackgroundColor(color); |
| 123 | } catch (exception) { | 99 | } catch (exception) { |
| 124 | - console.error('Failed to set the background color. Cause: ' + JSON.stringify(exception)); | ||
| 125 | - }; | 100 | + Logger.error('Failed to set the background color. Cause: ' + JSON.stringify(exception)); |
| 101 | + } | ||
| 102 | + ; | ||
| 126 | }); | 103 | }); |
| 127 | 104 | ||
| 128 | floatWindowClass.on('windowEvent', (data) => { | 105 | floatWindowClass.on('windowEvent', (data) => { |
| @@ -132,33 +109,68 @@ export default class EntryAbility extends UIAbility { | @@ -132,33 +109,68 @@ export default class EntryAbility extends UIAbility { | ||
| 132 | }); | 109 | }); |
| 133 | } | 110 | } |
| 134 | 111 | ||
| 112 | + public async onWindowSetup(mainWindow: window.Window) { | ||
| 113 | + // 在普通phone/折叠屏/tablet设备上以沉浸式(全屏)启动 | ||
| 114 | + if (DeviceUtil.isPhone() || DeviceUtil.isTablet()) { | ||
| 115 | + // 设置窗口的布局是否为沉浸式布局 | ||
| 116 | + // 沉浸式布局是指布局不避让状态栏与导航栏,组件可能产生与其重叠的情况。 | ||
| 117 | + // 非沉浸式布局是指布局避让状态栏与导航栏,,组件不会与其重叠 | ||
| 118 | + mainWindow.setWindowLayoutFullScreen(true) | ||
| 119 | + //设置窗口全屏模式时窗口内导航栏、状态栏的属性 | ||
| 120 | + mainWindow.setWindowSystemBarProperties({ | ||
| 121 | + //statusBarColor:'#000000' | ||
| 122 | + statusBarContentColor: '#FFFFFF' | ||
| 123 | + }) | ||
| 124 | + mainWindow.setSpecificSystemBarEnabled('status', true) | ||
| 125 | + | ||
| 126 | + // 设置启动时窗口的显示方向属性, | ||
| 127 | + // 普通phone以PORTRAIT/竖屏显示模式启动 | ||
| 128 | + // 折叠屏和tablet是以AUTO_ROTATION_RESTRICTED/受开关控制的自动旋转模式启动 | ||
| 129 | + WindowModel.shared.setPreferredOrientation(window.Orientation.PORTRAIT) | ||
| 130 | + .then(() => { | ||
| 131 | + Logger.info(TAG, 'setPreferredOrientation Succeeded'); | ||
| 132 | + }) | ||
| 133 | + .catch((err: Error) => { | ||
| 134 | + Logger.info(TAG, | ||
| 135 | + `setPreferredOrientation catch, error error.name : ${err.name}, error.message:${err.message}`); | ||
| 136 | + }) | ||
| 137 | + } else if (DeviceUtil.is2in1()) { | ||
| 138 | + // 2in1(PC)设备不支持旋转(无横竖屏模式),会以默认窗口(非全屏)显示模式启动Logger.info(TAG,`start at 2in1 window device ) | ||
| 139 | + Logger.info(TAG, 'start at 2in1 window device') | ||
| 140 | + } else { | ||
| 141 | + // 轻量级智能穿戴/lite wearable device | ||
| 142 | + Logger.info(TAG, 'start at other type device') | ||
| 143 | + } | ||
| 144 | + | ||
| 145 | + } | ||
| 146 | + | ||
| 135 | destroyFloatWindow() { | 147 | destroyFloatWindow() { |
| 136 | (floatWindowClass as window.Window).destroyWindow((err: BusinessError) => { | 148 | (floatWindowClass as window.Window).destroyWindow((err: BusinessError) => { |
| 137 | let errCode: number = err.code; | 149 | let errCode: number = err.code; |
| 138 | if (errCode) { | 150 | if (errCode) { |
| 139 | - console.error('floatWindowClass Failed to destroy the window. Cause: ' + JSON.stringify(err)); | 151 | + Logger.error('floatWindowClass Failed to destroy the window. Cause: ' + JSON.stringify(err)); |
| 140 | return; | 152 | return; |
| 141 | } | 153 | } |
| 142 | - console.info('floatWindowClass Succeeded in destroying the window.'); | 154 | + Logger.info('floatWindowClass Succeeded in destroying the window.'); |
| 143 | }); | 155 | }); |
| 144 | } | 156 | } |
| 145 | 157 | ||
| 146 | onWindowStageDestroy(): void { | 158 | onWindowStageDestroy(): void { |
| 147 | // Main window is destroyed, release UI related resources | 159 | // Main window is destroyed, release UI related resources |
| 148 | this.destroyFloatWindow() | 160 | this.destroyFloatWindow() |
| 149 | - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); | 161 | + Logger.info(TAG, 'Ability onWindowStageDestroy'); |
| 150 | } | 162 | } |
| 151 | 163 | ||
| 152 | onForeground(): void { | 164 | onForeground(): void { |
| 153 | // Ability has brought to foreground | 165 | // Ability has brought to foreground |
| 154 | - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); | 166 | + Logger.info(TAG, 'Ability onForeground'); |
| 155 | 167 | ||
| 156 | EmitterUtils.sendEmptyEvent(EmitterEventId.APP_ENTER_FOREGROUD) | 168 | EmitterUtils.sendEmptyEvent(EmitterEventId.APP_ENTER_FOREGROUD) |
| 157 | } | 169 | } |
| 158 | 170 | ||
| 159 | onBackground(): void { | 171 | onBackground(): void { |
| 160 | // Ability has back to background | 172 | // Ability has back to background |
| 161 | - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); | 173 | + Logger.info(TAG, 'Ability onBackground'); |
| 162 | 174 | ||
| 163 | EmitterUtils.sendEmptyEvent(EmitterEventId.APP_ENTER_BACKGROUD) | 175 | EmitterUtils.sendEmptyEvent(EmitterEventId.APP_ENTER_BACKGROUD) |
| 164 | } | 176 | } |
| @@ -23,7 +23,7 @@ struct MorningEveningPaperPage { | @@ -23,7 +23,7 @@ struct MorningEveningPaperPage { | ||
| 23 | PageTransitionEnter({ type: RouteType.Push, duration: 300 }) | 23 | PageTransitionEnter({ type: RouteType.Push, duration: 300 }) |
| 24 | .slide(SlideEffect.Bottom).onEnter((type: RouteType, progress: number) => { | 24 | .slide(SlideEffect.Bottom).onEnter((type: RouteType, progress: number) => { |
| 25 | if (progress >= 0.99) { | 25 | if (progress >= 0.99) { |
| 26 | - WindowModel.shared.setWindowLayoutFullScreen(true) | 26 | + // WindowModel.shared.setWindowLayoutFullScreen(true) |
| 27 | WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#ffffff', }) | 27 | WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#ffffff', }) |
| 28 | } | 28 | } |
| 29 | }) | 29 | }) |
| @@ -43,14 +43,14 @@ struct MorningEveningPaperPage { | @@ -43,14 +43,14 @@ struct MorningEveningPaperPage { | ||
| 43 | onPageShow() { | 43 | onPageShow() { |
| 44 | Logger.info(TAG, 'onPageShow'); | 44 | Logger.info(TAG, 'onPageShow'); |
| 45 | if (this.isPageShow) { | 45 | if (this.isPageShow) { |
| 46 | - WindowModel.shared.setWindowLayoutFullScreen(true) | 46 | + // WindowModel.shared.setWindowLayoutFullScreen(true) |
| 47 | WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#ffffff', }) | 47 | WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#ffffff', }) |
| 48 | } | 48 | } |
| 49 | this.pageShowTime = DateTimeUtils.getTimeStamp() | 49 | this.pageShowTime = DateTimeUtils.getTimeStamp() |
| 50 | } | 50 | } |
| 51 | 51 | ||
| 52 | onPageHide() { | 52 | onPageHide() { |
| 53 | - WindowModel.shared.setWindowLayoutFullScreen(false) | 53 | + // WindowModel.shared.setWindowLayoutFullScreen(false) |
| 54 | WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#000000', }) | 54 | WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#000000', }) |
| 55 | this.isPageShow = true | 55 | this.isPageShow = true |
| 56 | Logger.info(TAG, 'onPageHide'); | 56 | Logger.info(TAG, 'onPageHide'); |
| @@ -48,7 +48,6 @@ struct MultiPictureDetailPage { | @@ -48,7 +48,6 @@ struct MultiPictureDetailPage { | ||
| 48 | } | 48 | } |
| 49 | 49 | ||
| 50 | aboutToAppear() { | 50 | aboutToAppear() { |
| 51 | - this.openFullScreen() | ||
| 52 | 51 | ||
| 53 | Logger.info(TAG, 'aboutToDisappear'); | 52 | Logger.info(TAG, 'aboutToDisappear'); |
| 54 | 53 | ||
| @@ -68,13 +67,11 @@ struct MultiPictureDetailPage { | @@ -68,13 +67,11 @@ struct MultiPictureDetailPage { | ||
| 68 | 67 | ||
| 69 | aboutToDisappear(): void { | 68 | aboutToDisappear(): void { |
| 70 | console.log(TAG, 'aboutToDisappear') | 69 | console.log(TAG, 'aboutToDisappear') |
| 71 | - this.closeFullScreen() | ||
| 72 | } | 70 | } |
| 73 | 71 | ||
| 74 | onPageShow(): void { | 72 | onPageShow(): void { |
| 75 | console.log(TAG, 'onPageShow') | 73 | console.log(TAG, 'onPageShow') |
| 76 | this.pageShowTime = DateTimeUtils.getTimeStamp() | 74 | this.pageShowTime = DateTimeUtils.getTimeStamp() |
| 77 | - this.openFullScreen() | ||
| 78 | 75 | ||
| 79 | } | 76 | } |
| 80 | 77 | ||
| @@ -84,25 +81,7 @@ struct MultiPictureDetailPage { | @@ -84,25 +81,7 @@ struct MultiPictureDetailPage { | ||
| 84 | let duration = 0 | 81 | let duration = 0 |
| 85 | duration = Math.floor((this.pageHideTime - this.pageShowTime)/1000) | 82 | duration = Math.floor((this.pageHideTime - this.pageShowTime)/1000) |
| 86 | TrackingPageBrowse.trackCommonPageExposureEnd(TrackConstants.PageName.Atlas_Detail,TrackConstants.PageName.Atlas_Detail,duration) | 83 | TrackingPageBrowse.trackCommonPageExposureEnd(TrackConstants.PageName.Atlas_Detail,TrackConstants.PageName.Atlas_Detail,duration) |
| 87 | - this.closeFullScreen() | ||
| 88 | } | 84 | } |
| 89 | 85 | ||
| 90 | - /** | ||
| 91 | - * 开启沉浸式 | ||
| 92 | - * TODO:颜色待根据业务接口修改 | ||
| 93 | - */ | ||
| 94 | - openFullScreen() { | ||
| 95 | - WindowModel.shared.setWindowLayoutFullScreen(true) | ||
| 96 | - WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#ffffff', }) | ||
| 97 | - } | ||
| 98 | - | ||
| 99 | - /** | ||
| 100 | - * 关闭沉浸式 | ||
| 101 | - * TODO:颜色待根据业务接口修改 | ||
| 102 | - */ | ||
| 103 | - closeFullScreen() { | ||
| 104 | - WindowModel.shared.setWindowLayoutFullScreen(false) | ||
| 105 | - WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#000000', }) | ||
| 106 | - } | ||
| 107 | 86 | ||
| 108 | } | 87 | } |
| @@ -7,6 +7,7 @@ import LaunchDataModel, { defaultLaunchModel } from '../viewModel/LaunchDataMode | @@ -7,6 +7,7 @@ import LaunchDataModel, { defaultLaunchModel } from '../viewModel/LaunchDataMode | ||
| 7 | 7 | ||
| 8 | import { ParamType, TrackConstants, TrackingButton, TrackingContent } from 'wdTracking/Index'; | 8 | import { ParamType, TrackConstants, TrackingButton, TrackingContent } from 'wdTracking/Index'; |
| 9 | import { ContentDTO } from 'wdBean/Index'; | 9 | import { ContentDTO } from 'wdBean/Index'; |
| 10 | +import { Core } from '@ohos/hypium'; | ||
| 10 | 11 | ||
| 11 | 12 | ||
| 12 | @Entry | 13 | @Entry |
| @@ -62,7 +63,7 @@ struct LaunchAdvertisingPage { | @@ -62,7 +63,7 @@ struct LaunchAdvertisingPage { | ||
| 62 | }else { | 63 | }else { |
| 63 | //显示图片 | 64 | //显示图片 |
| 64 | Image(this.defaultModel.bootScreenUrl) | 65 | Image(this.defaultModel.bootScreenUrl) |
| 65 | - .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]) | 66 | + // .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]) |
| 66 | .width('100%') | 67 | .width('100%') |
| 67 | .height('100%') | 68 | .height('100%') |
| 68 | } | 69 | } |
| @@ -74,11 +75,10 @@ struct LaunchAdvertisingPage { | @@ -74,11 +75,10 @@ struct LaunchAdvertisingPage { | ||
| 74 | bottom: 0 | 75 | bottom: 0 |
| 75 | }) | 76 | }) |
| 76 | 77 | ||
| 77 | - | ||
| 78 | Stack(){ | 78 | Stack(){ |
| 79 | Column(){ | 79 | Column(){ |
| 80 | Row(){ | 80 | Row(){ |
| 81 | - if (this.defaultModel.isAd === '1') { | 81 | + if (this.defaultModel.isAd == '1') { |
| 82 | Text('广告') | 82 | Text('广告') |
| 83 | .fontColor(Color.White) | 83 | .fontColor(Color.White) |
| 84 | .textAlign(TextAlign.Center) | 84 | .textAlign(TextAlign.Center) |
| @@ -108,7 +108,7 @@ struct LaunchAdvertisingPage { | @@ -108,7 +108,7 @@ struct LaunchAdvertisingPage { | ||
| 108 | this.trackingLaunchJumpOver() | 108 | this.trackingLaunchJumpOver() |
| 109 | }).margin({right:16}) | 109 | }).margin({right:16}) |
| 110 | 110 | ||
| 111 | - }.margin({top:10}).width('100%').height('56lpx') | 111 | + }.margin({top:50}).width('100%').height('56lpx') |
| 112 | 112 | ||
| 113 | Blank() | 113 | Blank() |
| 114 | 114 | ||
| @@ -132,18 +132,21 @@ struct LaunchAdvertisingPage { | @@ -132,18 +132,21 @@ struct LaunchAdvertisingPage { | ||
| 132 | .margin({ | 132 | .margin({ |
| 133 | bottom: '51lpx' | 133 | bottom: '51lpx' |
| 134 | }) | 134 | }) |
| 135 | + .borderWidth(1) | ||
| 136 | + .borderColor(Color.White) | ||
| 135 | .backgroundColor('#80000000') | 137 | .backgroundColor('#80000000') |
| 136 | .onClick(()=>{ | 138 | .onClick(()=>{ |
| 137 | this.action() | 139 | this.action() |
| 138 | }) | 140 | }) |
| 139 | } | 141 | } |
| 140 | - if(this.defaultModel.screenType === '1') { | 142 | + if(this.defaultModel.screenType == '1') { |
| 141 | Column(){ | 143 | Column(){ |
| 142 | Image($r('app.media.LaunchPage_logo')) | 144 | Image($r('app.media.LaunchPage_logo')) |
| 143 | .width('278lpx') | 145 | .width('278lpx') |
| 144 | .height('154lpx') | 146 | .height('154lpx') |
| 145 | .margin({top:20}) | 147 | .margin({top:20}) |
| 146 | - }.width('100%').height('16%').backgroundColor(Color.White).expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]) | 148 | + }.width('100%').height('16%').backgroundColor(Color.White) |
| 149 | + // .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]) | ||
| 147 | } | 150 | } |
| 148 | } | 151 | } |
| 149 | .width('100%') | 152 | .width('100%') |
| @@ -157,7 +160,7 @@ struct LaunchAdvertisingPage { | @@ -157,7 +160,7 @@ struct LaunchAdvertisingPage { | ||
| 157 | .height('100%') | 160 | .height('100%') |
| 158 | .margin({top:'0'}) | 161 | .margin({top:'0'}) |
| 159 | } | 162 | } |
| 160 | - .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]) | 163 | + // .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]) |
| 161 | .width('100%') | 164 | .width('100%') |
| 162 | .height('100%') | 165 | .height('100%') |
| 163 | .backgroundColor(Color.White) | 166 | .backgroundColor(Color.White) |
| @@ -176,7 +179,7 @@ struct LaunchAdvertisingPage { | @@ -176,7 +179,7 @@ struct LaunchAdvertisingPage { | ||
| 176 | if (this.defaultModel.openType == '2') { | 179 | if (this.defaultModel.openType == '2') { |
| 177 | //端外打开 | 180 | //端外打开 |
| 178 | ProcessUtils.jumpExternalWebPage(this.defaultModel.linkUrl) | 181 | ProcessUtils.jumpExternalWebPage(this.defaultModel.linkUrl) |
| 179 | - }else { | 182 | + }else if(this.defaultModel.openType == '1'){ |
| 180 | //端内打开 | 183 | //端内打开 |
| 181 | ProcessUtils.gotoDefaultWebPage(this.defaultModel.linkUrl) | 184 | ProcessUtils.gotoDefaultWebPage(this.defaultModel.linkUrl) |
| 182 | } | 185 | } |
| @@ -212,7 +215,7 @@ struct LaunchAdvertisingPage { | @@ -212,7 +215,7 @@ struct LaunchAdvertisingPage { | ||
| 212 | this.defaultModel.screenName = dataModel.launchAdInfo[0].matInfo.advTitle | 215 | this.defaultModel.screenName = dataModel.launchAdInfo[0].matInfo.advTitle |
| 213 | this.defaultModel.durations = dataModel.launchAdInfo[0].displayDuration | 216 | this.defaultModel.durations = dataModel.launchAdInfo[0].displayDuration |
| 214 | this.defaultModel.linkUrl = dataModel.launchAdInfo[0].matInfo.linkUrl | 217 | this.defaultModel.linkUrl = dataModel.launchAdInfo[0].matInfo.linkUrl |
| 215 | - if (dataModel.launchAdInfo[0].matInfo.startStyle === '1') { | 218 | + if (dataModel.launchAdInfo[0].matInfo.startStyle == '1') { |
| 216 | this.defaultModel.screenType = '2' | 219 | this.defaultModel.screenType = '2' |
| 217 | }else { | 220 | }else { |
| 218 | this.defaultModel.screenType = '1' | 221 | this.defaultModel.screenType = '1' |
| @@ -222,6 +225,7 @@ struct LaunchAdvertisingPage { | @@ -222,6 +225,7 @@ struct LaunchAdvertisingPage { | ||
| 222 | this.defaultModel.bootVideoUrl = dataModel.launchAdInfo[0].matInfo.matVideoUrl | 225 | this.defaultModel.bootVideoUrl = dataModel.launchAdInfo[0].matInfo.matVideoUrl |
| 223 | this.defaultModel.showType = dataModel.launchAdInfo[0].matInfo.matType | 226 | this.defaultModel.showType = dataModel.launchAdInfo[0].matInfo.matType |
| 224 | this.defaultModel.isAd = '1' | 227 | this.defaultModel.isAd = '1' |
| 228 | + this.defaultModel.openType = dataModel.launchAdInfo[0].matInfo.openType | ||
| 225 | } | 229 | } |
| 226 | } | 230 | } |
| 227 | 231 |
| @@ -23,6 +23,7 @@ let storage = LocalStorage.getShared(); | @@ -23,6 +23,7 @@ let storage = LocalStorage.getShared(); | ||
| 23 | @Component | 23 | @Component |
| 24 | export struct BottomNavigationComponent { | 24 | export struct BottomNavigationComponent { |
| 25 | @Provide bottomRectHeight: number = 0 | 25 | @Provide bottomRectHeight: number = 0 |
| 26 | + private bottomRectHeight1: string = AppStorage.get<number>('bottomSafeHeight') + 'px'; | ||
| 26 | @Provide topRectHeight: number = 0 | 27 | @Provide topRectHeight: number = 0 |
| 27 | @Provide isLayoutFullScreen: boolean = false | 28 | @Provide isLayoutFullScreen: boolean = false |
| 28 | @Provide displayDirection: DisplayDirection = DisplayDirection.VERTICAL | 29 | @Provide displayDirection: DisplayDirection = DisplayDirection.VERTICAL |
| @@ -73,6 +74,7 @@ export struct BottomNavigationComponent { | @@ -73,6 +74,7 @@ export struct BottomNavigationComponent { | ||
| 73 | } | 74 | } |
| 74 | 75 | ||
| 75 | build() { | 76 | build() { |
| 77 | + Column() { | ||
| 76 | Tabs({ barPosition: BarPosition.End, index: this.currentNavIndex, controller: this.navController }) { | 78 | Tabs({ barPosition: BarPosition.End, index: this.currentNavIndex, controller: this.navController }) { |
| 77 | ForEach(this.bottomNavList, (navItem: BottomNavDTO, index: number) => { | 79 | ForEach(this.bottomNavList, (navItem: BottomNavDTO, index: number) => { |
| 78 | TabContent() { | 80 | TabContent() { |
| @@ -100,7 +102,7 @@ export struct BottomNavigationComponent { | @@ -100,7 +102,7 @@ export struct BottomNavigationComponent { | ||
| 100 | } | 102 | } |
| 101 | .tabBar(this.tabBarBuilder(navItem, index)) | 103 | .tabBar(this.tabBarBuilder(navItem, index)) |
| 102 | 104 | ||
| 103 | - .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP]) | 105 | + // .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP]) |
| 104 | }); | 106 | }); |
| 105 | 107 | ||
| 106 | } | 108 | } |
| @@ -113,10 +115,10 @@ export struct BottomNavigationComponent { | @@ -113,10 +115,10 @@ export struct BottomNavigationComponent { | ||
| 113 | .barBackgroundColor(this.barBackgroundColor) | 115 | .barBackgroundColor(this.barBackgroundColor) |
| 114 | // 备注:鸿蒙目前只有修改三线导航背景方法,对于全面屏导航条手机需要设置背景色并使其扩散到导航区域 | 116 | // 备注:鸿蒙目前只有修改三线导航背景方法,对于全面屏导航条手机需要设置背景色并使其扩散到导航区域 |
| 115 | .backgroundColor(this.barBackgroundColor) | 117 | .backgroundColor(this.barBackgroundColor) |
| 116 | - .expandSafeArea([SafeAreaType.SYSTEM]) | ||
| 117 | - | ||
| 118 | - // .padding({ bottom: this.bottomRectHeight + 'px', top: this.topRectHeight + 'px' }) // 此处margin具体数值在实际中应与导航条区域高度保持一致 | 118 | + .layoutWeight(1) |
| 119 | 119 | ||
| 120 | + Blank().width('100%').height(this.bottomRectHeight1).backgroundColor(this.barBackgroundColor) | ||
| 121 | + }.height('100%').width('100%') | ||
| 120 | } | 122 | } |
| 121 | 123 | ||
| 122 | @Builder | 124 | @Builder |
| 1 | import { insightIntent, InsightIntentExecutor } from '@kit.AbilityKit'; | 1 | import { insightIntent, InsightIntentExecutor } from '@kit.AbilityKit'; |
| 2 | import { window } from '@kit.ArkUI'; | 2 | import { window } from '@kit.ArkUI'; |
| 3 | import { BusinessError } from '@kit.BasicServicesKit'; | 3 | import { BusinessError } from '@kit.BasicServicesKit'; |
| 4 | +import { NetworkUtil, SPHelper, ToastUtils } from 'wdKit'; | ||
| 4 | import { ProcessUtils } from 'wdRouter'; | 5 | import { ProcessUtils } from 'wdRouter'; |
| 6 | +import DailyPaperTopicModel from 'wdComponent/src/main/ets/model/DailyPaperTopicModel' | ||
| 7 | + | ||
| 5 | /** | 8 | /** |
| 6 | * 意图调用 | 9 | * 意图调用 |
| 7 | */ | 10 | */ |
| @@ -19,7 +22,7 @@ export default class InsightIntentExecutorImpl extends InsightIntentExecutor { | @@ -19,7 +22,7 @@ export default class InsightIntentExecutorImpl extends InsightIntentExecutor { | ||
| 19 | */ | 22 | */ |
| 20 | onExecuteInUIAbilityForegroundMode(name: string, param: Record<string, Object>, pageLoader: window.WindowStage): | 23 | onExecuteInUIAbilityForegroundMode(name: string, param: Record<string, Object>, pageLoader: window.WindowStage): |
| 21 | Promise<insightIntent.ExecuteResult> { | 24 | Promise<insightIntent.ExecuteResult> { |
| 22 | - console.log('yzl onExecuteInUIAbilityForegroundMode',name,JSON.stringify(param)) | 25 | + console.log('yzl onExecuteInUIAbilityForegroundMode', name, JSON.stringify(param)) |
| 23 | // 根据意图名称分发处理逻辑 | 26 | // 根据意图名称分发处理逻辑 |
| 24 | switch (name) { | 27 | switch (name) { |
| 25 | case InsightIntentExecutorImpl.ViewBlog: | 28 | case InsightIntentExecutorImpl.ViewBlog: |
| @@ -36,19 +39,19 @@ export default class InsightIntentExecutorImpl extends InsightIntentExecutor { | @@ -36,19 +39,19 @@ export default class InsightIntentExecutorImpl extends InsightIntentExecutor { | ||
| 36 | } | 39 | } |
| 37 | } as insightIntent.ExecuteResult) | 40 | } as insightIntent.ExecuteResult) |
| 38 | } | 41 | } |
| 42 | + | ||
| 39 | /** | 43 | /** |
| 40 | * 实现习惯推荐功能 | 44 | * 实现习惯推荐功能 |
| 41 | * @param param 意图参数 | 45 | * @param param 意图参数 |
| 42 | * @param pageLoader 窗口 | 46 | * @param pageLoader 窗口 |
| 43 | */ | 47 | */ |
| 44 | - private jumpToViewBlog(param: Record<string, Object>, pageLoader: window.WindowStage): Promise<insightIntent.ExecuteResult> { | ||
| 45 | - console.log('yzl jumpToView',JSON.stringify(param)) | 48 | + private jumpToViewBlog(param: Record<string, Object>, |
| 49 | + pageLoader: window.WindowStage): Promise<insightIntent.ExecuteResult> { | ||
| 50 | + console.log('yzl jumpToView', JSON.stringify(param)) | ||
| 46 | return new Promise((resolve, reject) => { | 51 | return new Promise((resolve, reject) => { |
| 47 | - // TODO 实现意图调用,loadContent的入参为歌曲落地页路径,例如:pages/SongPage | ||
| 48 | // TODO 热启动是否切到主页 | 52 | // TODO 热启动是否切到主页 |
| 49 | pageLoader.loadContent('pages/MainPage') | 53 | pageLoader.loadContent('pages/MainPage') |
| 50 | .then(() => { | 54 | .then(() => { |
| 51 | - | ||
| 52 | resolve({ | 55 | resolve({ |
| 53 | code: 0, | 56 | code: 0, |
| 54 | result: { | 57 | result: { |
| @@ -72,12 +75,26 @@ export default class InsightIntentExecutorImpl extends InsightIntentExecutor { | @@ -72,12 +75,26 @@ export default class InsightIntentExecutorImpl extends InsightIntentExecutor { | ||
| 72 | * @param param 意图参数 | 75 | * @param param 意图参数 |
| 73 | * @param pageLoader 窗口 | 76 | * @param pageLoader 窗口 |
| 74 | */ | 77 | */ |
| 75 | - private jumpToViewColumnUpdate(param: Record<string, Object>, pageLoader: window.WindowStage): Promise<insightIntent.ExecuteResult> { | ||
| 76 | - console.log('yzl jumpToViewColum',JSON.stringify(param)) | 78 | + private jumpToViewColumnUpdate(param: Record<string, Object>, |
| 79 | + pageLoader: window.WindowStage): Promise<insightIntent.ExecuteResult> { | ||
| 77 | return new Promise((resolve, reject) => { | 80 | return new Promise((resolve, reject) => { |
| 78 | pageLoader.loadContent('pages/MainPage') | 81 | pageLoader.loadContent('pages/MainPage') |
| 79 | .then(() => { | 82 | .then(() => { |
| 80 | - ProcessUtils.gotoMorningEveningPaper() | 83 | + if (NetworkUtil.isNetConnected()) { |
| 84 | + DailyPaperTopicModel.getDailyPaperTopic().then(dailyPaperTopicBean => { | ||
| 85 | + if (dailyPaperTopicBean && dailyPaperTopicBean.id > 0) { | ||
| 86 | + SPHelper.default.saveSync('dailyPaperTopicPageId', dailyPaperTopicBean.id); | ||
| 87 | + ProcessUtils.gotoMorningEveningPaper() //跳转至早晚报页面 | ||
| 88 | + } else { | ||
| 89 | + ToastUtils.showToast('暂无早晚报信息', 1000) | ||
| 90 | + } | ||
| 91 | + }).catch((err: string) => { | ||
| 92 | + console.log('yzlerr',JSON.stringify(err)) | ||
| 93 | + ToastUtils.showToast('暂无早晚报信息', 1000) | ||
| 94 | + }) | ||
| 95 | + } else { | ||
| 96 | + ToastUtils.showToast('网络出小差了,请检查网络后重试', 1000) | ||
| 97 | + } | ||
| 81 | resolve({ | 98 | resolve({ |
| 82 | code: 0, | 99 | code: 0, |
| 83 | result: { | 100 | result: { |
-
Please register or login to post a comment