Showing
4 changed files
with
91 additions
and
45 deletions
| @@ -3,9 +3,10 @@ import { ProcessUtils, WDRouterRule } from 'wdRouter'; | @@ -3,9 +3,10 @@ import { ProcessUtils, WDRouterRule } from 'wdRouter'; | ||
| 3 | import { WDRouterPage } from 'wdRouter'; | 3 | import { WDRouterPage } from 'wdRouter'; |
| 4 | import { Logger, SPHelper } from 'wdKit/Index'; | 4 | import { Logger, SPHelper } from 'wdKit/Index'; |
| 5 | import { SpConstants } from 'wdConstant/Index'; | 5 | import { SpConstants } from 'wdConstant/Index'; |
| 6 | -import LaunchDataModel from '../viewModel/LaunchDataModel' | 6 | +import LaunchDataModel, { defaultLaunchModel } from '../viewModel/LaunchDataModel' |
| 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 | 10 | ||
| 10 | 11 | ||
| 11 | @Entry | 12 | @Entry |
| @@ -13,14 +14,11 @@ import { ParamType, TrackConstants, TrackingButton, TrackingContent } from 'wdTr | @@ -13,14 +14,11 @@ import { ParamType, TrackConstants, TrackingButton, TrackingContent } from 'wdTr | ||
| 13 | struct LaunchAdvertisingPage { | 14 | struct LaunchAdvertisingPage { |
| 14 | @State time: number = 4 | 15 | @State time: number = 4 |
| 15 | timer :number = -1 | 16 | timer :number = -1 |
| 16 | - @State model : LaunchDataModel = {} as LaunchDataModel | ||
| 17 | pageParam: ParamType = {} | 17 | pageParam: ParamType = {} |
| 18 | 18 | ||
| 19 | + @State defaultModel:defaultLaunchModel = new defaultLaunchModel() | ||
| 19 | 20 | ||
| 20 | enter() { | 21 | enter() { |
| 21 | - // router.replaceUrl({ | ||
| 22 | - // url:'pages/MainPage' | ||
| 23 | - // }) | ||
| 24 | WDRouterRule.jumpWithReplacePage(WDRouterPage.mainPage) | 22 | WDRouterRule.jumpWithReplacePage(WDRouterPage.mainPage) |
| 25 | clearInterval(this.timer) | 23 | clearInterval(this.timer) |
| 26 | } | 24 | } |
| @@ -28,12 +26,16 @@ struct LaunchAdvertisingPage { | @@ -28,12 +26,16 @@ struct LaunchAdvertisingPage { | ||
| 28 | aboutToAppear(): void { | 26 | aboutToAppear(): void { |
| 29 | let dataModelStr : string = SPHelper.default.getSync(SpConstants.APP_LAUNCH_PAGE_DATA_MODEL,'') as string | 27 | let dataModelStr : string = SPHelper.default.getSync(SpConstants.APP_LAUNCH_PAGE_DATA_MODEL,'') as string |
| 30 | let dataModel : LaunchDataModel = JSON.parse(dataModelStr) | 28 | let dataModel : LaunchDataModel = JSON.parse(dataModelStr) |
| 31 | - this.model = dataModel | ||
| 32 | console.log(dataModelStr) | 29 | console.log(dataModelStr) |
| 33 | - if(this.model.launchAdInfo.length){ | 30 | + |
| 31 | + this.rebaseDefaultModel(dataModel) | ||
| 32 | + | ||
| 33 | + | ||
| 34 | + if(this.defaultModel){ | ||
| 34 | //设置倒计时时间 | 35 | //设置倒计时时间 |
| 35 | - this.time = this.model.launchAdInfo[0].displayDuration | 36 | + this.time = this.defaultModel.durations |
| 36 | } | 37 | } |
| 38 | + | ||
| 37 | this.contentTrackingDict() | 39 | this.contentTrackingDict() |
| 38 | 40 | ||
| 39 | this.trackingLaunchShow() | 41 | this.trackingLaunchShow() |
| @@ -41,7 +43,6 @@ struct LaunchAdvertisingPage { | @@ -41,7 +43,6 @@ struct LaunchAdvertisingPage { | ||
| 41 | 43 | ||
| 42 | 44 | ||
| 43 | onPageShow(){ | 45 | onPageShow(){ |
| 44 | - | ||
| 45 | this.timer = setInterval(() => { | 46 | this.timer = setInterval(() => { |
| 46 | this.time-- | 47 | this.time-- |
| 47 | if (this.time < 1) { | 48 | if (this.time < 1) { |
| @@ -49,29 +50,22 @@ struct LaunchAdvertisingPage { | @@ -49,29 +50,22 @@ struct LaunchAdvertisingPage { | ||
| 49 | clearInterval(this.timer) | 50 | clearInterval(this.timer) |
| 50 | } | 51 | } |
| 51 | },1000) | 52 | },1000) |
| 52 | - | ||
| 53 | } | 53 | } |
| 54 | 54 | ||
| 55 | build(){ | 55 | build(){ |
| 56 | Column(){ | 56 | Column(){ |
| 57 | Stack({alignContent:Alignment.Bottom}){ | 57 | Stack({alignContent:Alignment.Bottom}){ |
| 58 | - | ||
| 59 | Stack({alignContent:Alignment.Bottom}){ | 58 | Stack({alignContent:Alignment.Bottom}){ |
| 60 | Column(){ | 59 | Column(){ |
| 61 | - if(this.model.launchAdInfo.length && !(this.model.launchAdInfo[0].matInfo.matType == '1')){ | 60 | + if(this.defaultModel.showType === '1'){ |
| 61 | + //显示视频播放 | ||
| 62 | + }else { | ||
| 62 | //显示图片 | 63 | //显示图片 |
| 63 | - Image(this.model.launchAdInfo[0].matInfo.matImageUrl[0]) | 64 | + Image(this.defaultModel.bootScreenUrl) |
| 65 | + .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]) | ||
| 64 | .width('100%') | 66 | .width('100%') |
| 65 | .height('100%') | 67 | .height('100%') |
| 66 | - // .margin({ | ||
| 67 | - // top:'128lpx',left:'48lpx',right:'48lpx',bottom:'128lpx' | ||
| 68 | - // }) | ||
| 69 | - }else { | ||
| 70 | - //显示视频播放 | ||
| 71 | - | ||
| 72 | - | ||
| 73 | } | 68 | } |
| 74 | - | ||
| 75 | } | 69 | } |
| 76 | .justifyContent(FlexAlign.Center) | 70 | .justifyContent(FlexAlign.Center) |
| 77 | .width('100%') | 71 | .width('100%') |
| @@ -83,6 +77,7 @@ struct LaunchAdvertisingPage { | @@ -83,6 +77,7 @@ struct LaunchAdvertisingPage { | ||
| 83 | Stack({alignContent:Alignment.TopEnd}){ | 77 | Stack({alignContent:Alignment.TopEnd}){ |
| 84 | Button(){ | 78 | Button(){ |
| 85 | Text(this.time + 's 跳过') | 79 | Text(this.time + 's 跳过') |
| 80 | + // .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]) | ||
| 86 | .fontSize('27lpx') | 81 | .fontSize('27lpx') |
| 87 | .fontColor(Color.White) | 82 | .fontColor(Color.White) |
| 88 | .margin({left:'28lpx',right:'28lpx'}) | 83 | .margin({left:'28lpx',right:'28lpx'}) |
| @@ -90,7 +85,7 @@ struct LaunchAdvertisingPage { | @@ -90,7 +85,7 @@ struct LaunchAdvertisingPage { | ||
| 90 | } | 85 | } |
| 91 | .width('148lpx') | 86 | .width('148lpx') |
| 92 | .height('56lpx') | 87 | .height('56lpx') |
| 93 | - .margin({top:'54lpx',right:'19lpx'}) | 88 | + .margin({top:'10lpx',right:'19lpx'}) |
| 94 | .backgroundColor('#80000000') | 89 | .backgroundColor('#80000000') |
| 95 | .onClick(() => { | 90 | .onClick(() => { |
| 96 | this.enter() | 91 | this.enter() |
| @@ -99,11 +94,12 @@ struct LaunchAdvertisingPage { | @@ -99,11 +94,12 @@ struct LaunchAdvertisingPage { | ||
| 99 | } | 94 | } |
| 100 | .width('100%') | 95 | .width('100%') |
| 101 | .height('100%') | 96 | .height('100%') |
| 102 | - if(this.model.launchAdInfo.length && !(this.model.launchAdInfo[0].matInfo.startStyle == 1)){ | 97 | + |
| 98 | + if(this.defaultModel.screenType != '2'){ | ||
| 103 | //底部logo样式 按钮加载在背景展示图上 | 99 | //底部logo样式 按钮加载在背景展示图上 |
| 104 | Button(){ | 100 | Button(){ |
| 105 | Row(){ | 101 | Row(){ |
| 106 | - Text('点击跳转至详情或第三方应用') | 102 | + Text('点击跳转至详情') |
| 107 | .fontSize('31lpx') | 103 | .fontSize('31lpx') |
| 108 | .fontColor(Color.White) | 104 | .fontColor(Color.White) |
| 109 | .margin({ | 105 | .margin({ |
| @@ -126,17 +122,16 @@ struct LaunchAdvertisingPage { | @@ -126,17 +122,16 @@ struct LaunchAdvertisingPage { | ||
| 126 | }) | 122 | }) |
| 127 | } | 123 | } |
| 128 | } | 124 | } |
| 129 | - | ||
| 130 | } | 125 | } |
| 131 | .width('100%') | 126 | .width('100%') |
| 132 | .height('84%') | 127 | .height('84%') |
| 133 | .margin({top:'0'}) | 128 | .margin({top:'0'}) |
| 134 | 129 | ||
| 135 | - if(this.model.launchAdInfo.length && this.model.launchAdInfo[0].matInfo.startStyle == 1){ | 130 | + if(this.defaultModel.screenType === '2'){ |
| 136 | //全屏样式,底部无logo 按钮放在原底部logo位置 | 131 | //全屏样式,底部无logo 按钮放在原底部logo位置 |
| 137 | Button(){ | 132 | Button(){ |
| 138 | Row(){ | 133 | Row(){ |
| 139 | - Text('点击跳转至详情或第三方应用') | 134 | + Text('点击跳转至详情') |
| 140 | .fontSize('31lpx') | 135 | .fontSize('31lpx') |
| 141 | .fontColor(Color.White) | 136 | .fontColor(Color.White) |
| 142 | .margin({ | 137 | .margin({ |
| @@ -164,8 +159,8 @@ struct LaunchAdvertisingPage { | @@ -164,8 +159,8 @@ struct LaunchAdvertisingPage { | ||
| 164 | .height('154lpx') | 159 | .height('154lpx') |
| 165 | .margin({top: '28lpx'}) | 160 | .margin({top: '28lpx'}) |
| 166 | } | 161 | } |
| 167 | - | ||
| 168 | } | 162 | } |
| 163 | + .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]) | ||
| 169 | .width('100%') | 164 | .width('100%') |
| 170 | .height('100%') | 165 | .height('100%') |
| 171 | .backgroundColor(Color.White) | 166 | .backgroundColor(Color.White) |
| @@ -179,25 +174,59 @@ struct LaunchAdvertisingPage { | @@ -179,25 +174,59 @@ struct LaunchAdvertisingPage { | ||
| 179 | ///埋点 | 174 | ///埋点 |
| 180 | this.trackingLaunchClick() | 175 | this.trackingLaunchClick() |
| 181 | 176 | ||
| 182 | - if(this.model.launchAdInfo.length){ | ||
| 183 | - if (this.model.launchAdInfo[0].matInfo.openType == '2') { | 177 | + if(this.defaultModel.linkUrl.length > 0){ |
| 178 | + if (this.defaultModel.objectType == '2') { | ||
| 184 | //端外打开 | 179 | //端外打开 |
| 185 | - ProcessUtils.jumpExternalWebPage(this.model.launchAdInfo[0].matInfo.linkUrl) | ||
| 186 | - //clearInterval(this.timer) | 180 | + ProcessUtils.jumpExternalWebPage(this.defaultModel.linkUrl) |
| 187 | }else { | 181 | }else { |
| 188 | //端内打开 | 182 | //端内打开 |
| 189 | - ProcessUtils.gotoDefaultWebPage(this.model.launchAdInfo[0].matInfo.linkUrl) | ||
| 190 | - //clearInterval(this.timer) | ||
| 191 | - | ||
| 192 | - } | 183 | + ProcessUtils.gotoDefaultWebPage(this.defaultModel.linkUrl) |
| 184 | + } | ||
| 185 | + }else if(this.defaultModel.objectId.length > 0){ | ||
| 186 | + let contentDTO :ContentDTO = new ContentDTO(); | ||
| 187 | + contentDTO.objectType = this.defaultModel.objectType | ||
| 188 | + contentDTO.objectId = this.defaultModel.objectId | ||
| 189 | + ProcessUtils.processPage(contentDTO) | ||
| 190 | + } | ||
| 191 | + } | ||
| 192 | + | ||
| 193 | + rebaseDefaultModel(dataModel : LaunchDataModel){ | ||
| 194 | + if (dataModel.launchPageInfo){ | ||
| 195 | + this.defaultModel.ID = dataModel.launchPageInfo.ID | ||
| 196 | + this.defaultModel.screenName = dataModel.launchPageInfo.screenName | ||
| 197 | + this.defaultModel.objectType = dataModel.launchPageInfo.objectType | ||
| 198 | + this.defaultModel.objectId = dataModel.launchPageInfo.objectId | ||
| 199 | + this.defaultModel.objectLevel = dataModel.launchPageInfo.objectLevel | ||
| 200 | + this.defaultModel.pageId = dataModel.launchPageInfo.pageId | ||
| 201 | + this.defaultModel.durations = dataModel.launchPageInfo.durations | ||
| 202 | + this.defaultModel.linkUrl = dataModel.launchPageInfo.linkUrl | ||
| 203 | + this.defaultModel.screenType = dataModel.launchPageInfo.screenType | ||
| 204 | + this.defaultModel.bootScreenUrl = dataModel.launchPageInfo.bootScreenUrl | ||
| 205 | + this.defaultModel.bootVideoUrl = dataModel.launchPageInfo.bootScreenUrl | ||
| 206 | + this.defaultModel.bootVideoScreenUrl = dataModel.launchPageInfo.bootVideoScreenUrl | ||
| 207 | + this.defaultModel.showType = dataModel.launchPageInfo.showType | ||
| 208 | + this.defaultModel.isAd = dataModel.launchPageInfo.isAd | ||
| 209 | + this.defaultModel.bottomNavId = dataModel.launchPageInfo.bottomNavId | ||
| 210 | + this.defaultModel.relId = dataModel.launchPageInfo.relId | ||
| 211 | + this.defaultModel.openType = '1' | ||
| 212 | + }else if (dataModel.launchAdInfo.length > 0){ | ||
| 213 | + this.defaultModel.ID = dataModel.launchAdInfo[0].ID | ||
| 214 | + this.defaultModel.screenName = dataModel.launchAdInfo[0].matInfo.advTitle | ||
| 215 | + this.defaultModel.durations = dataModel.launchAdInfo[0].displayDuration | ||
| 216 | + this.defaultModel.linkUrl = dataModel.launchAdInfo[0].matInfo.linkUrl | ||
| 217 | + this.defaultModel.screenType = dataModel.launchAdInfo[0].matInfo.startStyle | ||
| 218 | + this.defaultModel.bootScreenUrl = dataModel.launchAdInfo[0].matInfo.matImageUrl[0] | ||
| 219 | + this.defaultModel.bootVideoUrl = dataModel.launchAdInfo[0].matInfo.matVideoUrl | ||
| 220 | + this.defaultModel.showType = dataModel.launchAdInfo[0].matInfo.matType | ||
| 221 | + this.defaultModel.isAd = '1' | ||
| 193 | } | 222 | } |
| 194 | } | 223 | } |
| 195 | 224 | ||
| 196 | contentTrackingDict(){ | 225 | contentTrackingDict(){ |
| 197 | this.pageParam = { | 226 | this.pageParam = { |
| 198 | - 'adType':'0', | ||
| 199 | - 'adId':this.model.launchAdInfo[0]?.matInfo.id.toString(), | ||
| 200 | - 'adName':this.model.launchAdInfo[0]?.matInfo.advTitle, | 227 | + 'adType':this.defaultModel.showType, |
| 228 | + 'adId':this.defaultModel.ID, | ||
| 229 | + 'adName':this.defaultModel.screenName, | ||
| 201 | 'regionName':'0' | 230 | 'regionName':'0' |
| 202 | } | 231 | } |
| 203 | } | 232 | } |
| @@ -10,7 +10,6 @@ import { ParamType, TrackConstants, TrackingContent } from 'wdTracking/Index'; | @@ -10,7 +10,6 @@ import { ParamType, TrackConstants, TrackingContent } from 'wdTracking/Index'; | ||
| 10 | @Component | 10 | @Component |
| 11 | struct LaunchInterestsHobbiesPage { | 11 | struct LaunchInterestsHobbiesPage { |
| 12 | @State message: string = 'Hello World' | 12 | @State message: string = 'Hello World' |
| 13 | - @State dataArray: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] | ||
| 14 | @State selectCount: number = 0 | 13 | @State selectCount: number = 0 |
| 15 | @State interestsArray: InterestsList[] = [] | 14 | @State interestsArray: InterestsList[] = [] |
| 16 | 15 | ||
| @@ -20,7 +19,6 @@ struct LaunchInterestsHobbiesPage { | @@ -20,7 +19,6 @@ struct LaunchInterestsHobbiesPage { | ||
| 20 | this.requestInterestsData() | 19 | this.requestInterestsData() |
| 21 | } | 20 | } |
| 22 | 21 | ||
| 23 | - | ||
| 24 | build() { | 22 | build() { |
| 25 | Column() { | 23 | Column() { |
| 26 | Row(){ | 24 | Row(){ |
| @@ -113,7 +113,7 @@ struct LaunchPage { | @@ -113,7 +113,7 @@ struct LaunchPage { | ||
| 113 | let dataModel : LaunchDataModel = JSON.parse(dataModelStr) | 113 | let dataModel : LaunchDataModel = JSON.parse(dataModelStr) |
| 114 | console.log(dataModelStr) | 114 | console.log(dataModelStr) |
| 115 | 115 | ||
| 116 | - if (dataModel.launchAdInfo.length) { | 116 | + if (dataModel.launchPageInfo || dataModel.launchAdInfo.length) { |
| 117 | //跳转广告页 | 117 | //跳转广告页 |
| 118 | this.jumpToAdvertisingPage(); | 118 | this.jumpToAdvertisingPage(); |
| 119 | 119 |
| @@ -8,7 +8,7 @@ export interface NetLayerLaunchOperatModel { | @@ -8,7 +8,7 @@ export interface NetLayerLaunchOperatModel { | ||
| 8 | objectId : string //跳转id | 8 | objectId : string //跳转id |
| 9 | objectLevel : string //频道(1:一级频道,2:二级频道),专题(1:普通专题,2:主题专题,3:作者专题 21:文章专题,22:音频专题,23:直播专题,24:话题专题) | 9 | objectLevel : string //频道(1:一级频道,2:二级频道),专题(1:普通专题,2:主题专题,3:作者专题 21:文章专题,22:音频专题,23:直播专题,24:话题专题) |
| 10 | pageId : string //跳转页面id,objectType=5,14使用页面跳转 | 10 | pageId : string //跳转页面id,objectType=5,14使用页面跳转 |
| 11 | - durations : string //展示时长(单位:秒) | 11 | + durations : number //展示时长(单位:秒) |
| 12 | linkUrl : string //转链接地址【objectType=6,13】 | 12 | linkUrl : string //转链接地址【objectType=6,13】 |
| 13 | screenType : string // 0, 1 : WDDisplayStyle_Logo 2 : WDDisplayStyle_Full | 13 | screenType : string // 0, 1 : WDDisplayStyle_Logo 2 : WDDisplayStyle_Full |
| 14 | bootScreenUrl : string //开机屏封面图/视频地址 | 14 | bootScreenUrl : string //开机屏封面图/视频地址 |
| @@ -17,14 +17,13 @@ export interface NetLayerLaunchOperatModel { | @@ -17,14 +17,13 @@ export interface NetLayerLaunchOperatModel { | ||
| 17 | isAd : string //0-非广告,1-是广告 | 17 | isAd : string //0-非广告,1-是广告 |
| 18 | bottomNavId : string //底部导航ID | 18 | bottomNavId : string //底部导航ID |
| 19 | relId : string //频道/专题内容关系id | 19 | relId : string //频道/专题内容关系id |
| 20 | - | ||
| 21 | } | 20 | } |
| 22 | 21 | ||
| 23 | 22 | ||
| 24 | export interface NetLayerLauncherADMaterialModel{ | 23 | export interface NetLayerLauncherADMaterialModel{ |
| 25 | 24 | ||
| 26 | matType : string //1 video 其他 image | 25 | matType : string //1 video 其他 image |
| 27 | - startStyle : number // 1 WDDisplayStyle_Full 全屏样式 其他 WDDisplayStyle_Logo 底部logo样式 | 26 | + startStyle : string // 1 WDDisplayStyle_Full 全屏样式 其他 WDDisplayStyle_Logo 底部logo样式 |
| 28 | advTitle : string | 27 | advTitle : string |
| 29 | id:number | 28 | id:number |
| 30 | matImageUrl : string[] //取firstObject | 29 | matImageUrl : string[] //取firstObject |
| @@ -65,3 +64,23 @@ export default interface LaunchDataModel{ | @@ -65,3 +64,23 @@ export default interface LaunchDataModel{ | ||
| 65 | h5Template : NetLayerLauncherH5TemplateInfoModel[] | 64 | h5Template : NetLayerLauncherH5TemplateInfoModel[] |
| 66 | 65 | ||
| 67 | } | 66 | } |
| 67 | + | ||
| 68 | +export class defaultLaunchModel{ | ||
| 69 | + ID : string = '' | ||
| 70 | + screenName : string = '' //开机屏名称 | ||
| 71 | + objectType : string = '' // WDPublicProgramType 对象类型 0:不跳转,1:点播,2:直播,3:活动,4:广告,5:专题,6:链接,7:榜单,11:图文,12:组图,13:H5新闻,14:频道 | ||
| 72 | + objectId : string = '' //跳转id | ||
| 73 | + objectLevel : string = '' //频道(1:一级频道,2:二级频道),专题(1:普通专题,2:主题专题,3:作者专题 21:文章专题,22:音频专题,23:直播专题,24:话题专题) | ||
| 74 | + pageId : string = '' //跳转页面id,objectType=5,14使用页面跳转 | ||
| 75 | + durations : number = 0 //展示时长(单位:秒) | ||
| 76 | + linkUrl : string = '' //转链接地址【objectType=6,13】 | ||
| 77 | + screenType : string = '' // 0, 1 : WDDisplayStyle_Logo 2 : WDDisplayStyle_Full | ||
| 78 | + bootScreenUrl : string = '' //开机屏封面图/视频地址 | ||
| 79 | + bootVideoUrl : string = '' //开机屏封面图/视频地址 | ||
| 80 | + bootVideoScreenUrl : string = '' //视频封面地址 | ||
| 81 | + showType : string = '' //文件类型WDPublicFileType 2: 视频 其他: 图片 | ||
| 82 | + isAd : string = '' //0-非广告,1-是广告 | ||
| 83 | + bottomNavId : string = '' //底部导航ID | ||
| 84 | + relId : string = '' //频道/专题内容关系id | ||
| 85 | + openType : string = '' //链接打开方式,0-没链接,不用打开,1-端内打开,2-端外打开 | ||
| 86 | +} |
-
Please register or login to post a comment