Toggle navigation
Toggle navigation
This project
Loading...
Sign in
developOne
/
harmonyPool
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
wangliang_wd
2024-05-29 14:54:50 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
a1dbd8f2b68841cc1f6e1b9229d4a02bb3603e3b
a1dbd8f2
1 parent
1a3ff7cd
feat:优化启动广告
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
90 additions
and
44 deletions
sight_harmony/products/phone/src/main/ets/pages/launchPage/LaunchAdvertisingPage.ets
sight_harmony/products/phone/src/main/ets/pages/launchPage/LaunchInterestsHobbiesPage.ets
sight_harmony/products/phone/src/main/ets/pages/launchPage/LaunchPage.ets
sight_harmony/products/phone/src/main/ets/pages/viewModel/LaunchDataModel.ets
sight_harmony/products/phone/src/main/ets/pages/launchPage/LaunchAdvertisingPage.ets
View file @
a1dbd8f
...
...
@@ -3,9 +3,10 @@ import { ProcessUtils, WDRouterRule } from 'wdRouter';
import { WDRouterPage } from 'wdRouter';
import { Logger, SPHelper } from 'wdKit/Index';
import { SpConstants } from 'wdConstant/Index';
import LaunchDataModel from '../viewModel/LaunchDataModel'
import LaunchDataModel
, { defaultLaunchModel }
from '../viewModel/LaunchDataModel'
import { ParamType, TrackConstants, TrackingButton, TrackingContent } from 'wdTracking/Index';
import { ContentDTO } from 'wdBean/Index';
@Entry
...
...
@@ -13,14 +14,11 @@ import { ParamType, TrackConstants, TrackingButton, TrackingContent } from 'wdTr
struct LaunchAdvertisingPage {
@State time: number = 4
timer :number = -1
@State model : LaunchDataModel = {} as LaunchDataModel
pageParam: ParamType = {}
@State defaultModel:defaultLaunchModel = new defaultLaunchModel()
enter() {
// router.replaceUrl({
// url:'pages/MainPage'
// })
WDRouterRule.jumpWithReplacePage(WDRouterPage.mainPage)
clearInterval(this.timer)
}
...
...
@@ -28,12 +26,16 @@ struct LaunchAdvertisingPage {
aboutToAppear(): void {
let dataModelStr : string = SPHelper.default.getSync(SpConstants.APP_LAUNCH_PAGE_DATA_MODEL,'') as string
let dataModel : LaunchDataModel = JSON.parse(dataModelStr)
this.model = dataModel
console.log(dataModelStr)
if(this.model.launchAdInfo.length){
this.rebaseDefaultModel(dataModel)
if(this.defaultModel){
//设置倒计时时间
this.time = this.
model.launchAdInfo[0].displayDuration
this.time = this.
defaultModel.durations
}
this.contentTrackingDict()
this.trackingLaunchShow()
...
...
@@ -41,7 +43,6 @@ struct LaunchAdvertisingPage {
onPageShow(){
this.timer = setInterval(() => {
this.time--
if (this.time < 1) {
...
...
@@ -49,29 +50,22 @@ struct LaunchAdvertisingPage {
clearInterval(this.timer)
}
},1000)
}
build(){
Column(){
Stack({alignContent:Alignment.Bottom}){
Stack({alignContent:Alignment.Bottom}){
Column(){
if(this.model.launchAdInfo.length && !(this.model.launchAdInfo[0].matInfo.matType == '1')){
if(this.defaultModel.showType === '1'){
//显示视频播放
}else {
//显示图片
Image(this.model.launchAdInfo[0].matInfo.matImageUrl[0])
Image(this.defaultModel.bootScreenUrl)
.expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])
.width('100%')
.height('100%')
// .margin({
// top:'128lpx',left:'48lpx',right:'48lpx',bottom:'128lpx'
// })
}else {
//显示视频播放
}
}
.justifyContent(FlexAlign.Center)
.width('100%')
...
...
@@ -83,6 +77,7 @@ struct LaunchAdvertisingPage {
Stack({alignContent:Alignment.TopEnd}){
Button(){
Text(this.time + 's 跳过')
// .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])
.fontSize('27lpx')
.fontColor(Color.White)
.margin({left:'28lpx',right:'28lpx'})
...
...
@@ -90,7 +85,7 @@ struct LaunchAdvertisingPage {
}
.width('148lpx')
.height('56lpx')
.margin({top:'
54
lpx',right:'19lpx'})
.margin({top:'
10
lpx',right:'19lpx'})
.backgroundColor('#80000000')
.onClick(() => {
this.enter()
...
...
@@ -99,11 +94,12 @@ struct LaunchAdvertisingPage {
}
.width('100%')
.height('100%')
if(this.model.launchAdInfo.length && !(this.model.launchAdInfo[0].matInfo.startStyle == 1)){
if(this.defaultModel.screenType != '2'){
//底部logo样式 按钮加载在背景展示图上
Button(){
Row(){
Text('点击跳转至详情
或第三方应用
')
Text('点击跳转至详情')
.fontSize('31lpx')
.fontColor(Color.White)
.margin({
...
...
@@ -126,17 +122,16 @@ struct LaunchAdvertisingPage {
})
}
}
}
.width('100%')
.height('84%')
.margin({top:'0'})
if(this.
model.launchAdInfo.length && this.model.launchAdInfo[0].matInfo.startStyle == 1
){
if(this.
defaultModel.screenType === '2'
){
//全屏样式,底部无logo 按钮放在原底部logo位置
Button(){
Row(){
Text('点击跳转至详情
或第三方应用
')
Text('点击跳转至详情')
.fontSize('31lpx')
.fontColor(Color.White)
.margin({
...
...
@@ -164,8 +159,8 @@ struct LaunchAdvertisingPage {
.height('154lpx')
.margin({top: '28lpx'})
}
}
.expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])
.width('100%')
.height('100%')
.backgroundColor(Color.White)
...
...
@@ -179,25 +174,59 @@ struct LaunchAdvertisingPage {
///埋点
this.trackingLaunchClick()
if(this.model.launchAdInfo.length){
if (this.model.launchAdInfo[0].matInfo.openType == '2') {
if(this.defaultModel.linkUrl.length > 0){
if (this.defaultModel.objectType == '2') {
//端外打开
ProcessUtils.jumpExternalWebPage(this.model.launchAdInfo[0].matInfo.linkUrl)
//clearInterval(this.timer)
ProcessUtils.jumpExternalWebPage(this.defaultModel.linkUrl)
}else {
//端内打开
ProcessUtils.gotoDefaultWebPage(this.model.launchAdInfo[0].matInfo.linkUrl)
//clearInterval(this.timer)
ProcessUtils.gotoDefaultWebPage(this.defaultModel.linkUrl)
}
}else if(this.defaultModel.objectId.length > 0){
let contentDTO :ContentDTO = new ContentDTO();
contentDTO.objectType = this.defaultModel.objectType
contentDTO.objectId = this.defaultModel.objectId
ProcessUtils.processPage(contentDTO)
}
}
rebaseDefaultModel(dataModel : LaunchDataModel){
if (dataModel.launchPageInfo){
this.defaultModel.ID = dataModel.launchPageInfo.ID
this.defaultModel.screenName = dataModel.launchPageInfo.screenName
this.defaultModel.objectType = dataModel.launchPageInfo.objectType
this.defaultModel.objectId = dataModel.launchPageInfo.objectId
this.defaultModel.objectLevel = dataModel.launchPageInfo.objectLevel
this.defaultModel.pageId = dataModel.launchPageInfo.pageId
this.defaultModel.durations = dataModel.launchPageInfo.durations
this.defaultModel.linkUrl = dataModel.launchPageInfo.linkUrl
this.defaultModel.screenType = dataModel.launchPageInfo.screenType
this.defaultModel.bootScreenUrl = dataModel.launchPageInfo.bootScreenUrl
this.defaultModel.bootVideoUrl = dataModel.launchPageInfo.bootScreenUrl
this.defaultModel.bootVideoScreenUrl = dataModel.launchPageInfo.bootVideoScreenUrl
this.defaultModel.showType = dataModel.launchPageInfo.showType
this.defaultModel.isAd = dataModel.launchPageInfo.isAd
this.defaultModel.bottomNavId = dataModel.launchPageInfo.bottomNavId
this.defaultModel.relId = dataModel.launchPageInfo.relId
this.defaultModel.openType = '1'
}else if (dataModel.launchAdInfo.length > 0){
this.defaultModel.ID = dataModel.launchAdInfo[0].ID
this.defaultModel.screenName = dataModel.launchAdInfo[0].matInfo.advTitle
this.defaultModel.durations = dataModel.launchAdInfo[0].displayDuration
this.defaultModel.linkUrl = dataModel.launchAdInfo[0].matInfo.linkUrl
this.defaultModel.screenType = dataModel.launchAdInfo[0].matInfo.startStyle
this.defaultModel.bootScreenUrl = dataModel.launchAdInfo[0].matInfo.matImageUrl[0]
this.defaultModel.bootVideoUrl = dataModel.launchAdInfo[0].matInfo.matVideoUrl
this.defaultModel.showType = dataModel.launchAdInfo[0].matInfo.matType
this.defaultModel.isAd = '1'
}
}
contentTrackingDict(){
this.pageParam = {
'adType':'0',
'adId':this.model.launchAdInfo[0]?.matInfo.id.toString(),
'adName':this.model.launchAdInfo[0]?.matInfo.advTitle,
'adType':this.defaultModel.showType,
'adId':this.defaultModel.ID,
'adName':this.defaultModel.screenName,
'regionName':'0'
}
}
...
...
sight_harmony/products/phone/src/main/ets/pages/launchPage/LaunchInterestsHobbiesPage.ets
View file @
a1dbd8f
...
...
@@ -10,7 +10,6 @@ import { ParamType, TrackConstants, TrackingContent } from 'wdTracking/Index';
@Component
struct LaunchInterestsHobbiesPage {
@State message: string = 'Hello World'
@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]
@State selectCount: number = 0
@State interestsArray: InterestsList[] = []
...
...
@@ -20,7 +19,6 @@ struct LaunchInterestsHobbiesPage {
this.requestInterestsData()
}
build() {
Column() {
Row(){
...
...
sight_harmony/products/phone/src/main/ets/pages/launchPage/LaunchPage.ets
View file @
a1dbd8f
...
...
@@ -113,7 +113,7 @@ struct LaunchPage {
let dataModel : LaunchDataModel = JSON.parse(dataModelStr)
console.log(dataModelStr)
if (dataModel.launchAdInfo.length) {
if (dataModel.launch
PageInfo || dataModel.launch
AdInfo.length) {
//跳转广告页
this.jumpToAdvertisingPage();
...
...
sight_harmony/products/phone/src/main/ets/pages/viewModel/LaunchDataModel.ets
View file @
a1dbd8f
...
...
@@ -8,7 +8,7 @@ export interface NetLayerLaunchOperatModel {
objectId : string //跳转id
objectLevel : string //频道(1:一级频道,2:二级频道),专题(1:普通专题,2:主题专题,3:作者专题 21:文章专题,22:音频专题,23:直播专题,24:话题专题)
pageId : string //跳转页面id,objectType=5,14使用页面跳转
durations :
string
//展示时长(单位:秒)
durations :
number
//展示时长(单位:秒)
linkUrl : string //转链接地址【objectType=6,13】
screenType : string // 0, 1 : WDDisplayStyle_Logo 2 : WDDisplayStyle_Full
bootScreenUrl : string //开机屏封面图/视频地址
...
...
@@ -17,14 +17,13 @@ export interface NetLayerLaunchOperatModel {
isAd : string //0-非广告,1-是广告
bottomNavId : string //底部导航ID
relId : string //频道/专题内容关系id
}
export interface NetLayerLauncherADMaterialModel{
matType : string //1 video 其他 image
startStyle :
number
// 1 WDDisplayStyle_Full 全屏样式 其他 WDDisplayStyle_Logo 底部logo样式
startStyle :
string
// 1 WDDisplayStyle_Full 全屏样式 其他 WDDisplayStyle_Logo 底部logo样式
advTitle : string
id:number
matImageUrl : string[] //取firstObject
...
...
@@ -64,4 +63,24 @@ export default interface LaunchDataModel{
launchAdInfo : NetLayerLauncherADInfoModel[]
h5Template : NetLayerLauncherH5TemplateInfoModel[]
}
export class defaultLaunchModel{
ID : string = ''
screenName : string = '' //开机屏名称
objectType : string = '' // WDPublicProgramType 对象类型 0:不跳转,1:点播,2:直播,3:活动,4:广告,5:专题,6:链接,7:榜单,11:图文,12:组图,13:H5新闻,14:频道
objectId : string = '' //跳转id
objectLevel : string = '' //频道(1:一级频道,2:二级频道),专题(1:普通专题,2:主题专题,3:作者专题 21:文章专题,22:音频专题,23:直播专题,24:话题专题)
pageId : string = '' //跳转页面id,objectType=5,14使用页面跳转
durations : number = 0 //展示时长(单位:秒)
linkUrl : string = '' //转链接地址【objectType=6,13】
screenType : string = '' // 0, 1 : WDDisplayStyle_Logo 2 : WDDisplayStyle_Full
bootScreenUrl : string = '' //开机屏封面图/视频地址
bootVideoUrl : string = '' //开机屏封面图/视频地址
bootVideoScreenUrl : string = '' //视频封面地址
showType : string = '' //文件类型WDPublicFileType 2: 视频 其他: 图片
isAd : string = '' //0-非广告,1-是广告
bottomNavId : string = '' //底部导航ID
relId : string = '' //频道/专题内容关系id
openType : string = '' //链接打开方式,0-没链接,不用打开,1-端内打开,2-端外打开
}
\ No newline at end of file
...
...
Please
register
or
login
to post a comment