Showing
5 changed files
with
113 additions
and
82 deletions
| @@ -15,12 +15,14 @@ import { CompDTO } from 'wdBean'; | @@ -15,12 +15,14 @@ import { CompDTO } from 'wdBean'; | ||
| 15 | import PageHelper from '../../viewmodel/PageHelper'; | 15 | import PageHelper from '../../viewmodel/PageHelper'; |
| 16 | import { channelSkeleton } from '../skeleton/channelSkeleton' | 16 | import { channelSkeleton } from '../skeleton/channelSkeleton' |
| 17 | import { ProcessUtils } from 'wdRouter/Index'; | 17 | import { ProcessUtils } from 'wdRouter/Index'; |
| 18 | +import PageAdModel from '../../viewmodel/PageAdvModel'; | ||
| 18 | 19 | ||
| 19 | const TAG = 'PageComponent'; | 20 | const TAG = 'PageComponent'; |
| 20 | 21 | ||
| 21 | @Component | 22 | @Component |
| 22 | export struct PageComponent { | 23 | export struct PageComponent { |
| 23 | @State private pageModel: PageModel = new PageModel(); | 24 | @State private pageModel: PageModel = new PageModel(); |
| 25 | + @State private pageAdvModel: PageAdModel = new PageAdModel(); | ||
| 24 | navIndex: number = 0; | 26 | navIndex: number = 0; |
| 25 | pageId: string = ""; | 27 | pageId: string = ""; |
| 26 | channelId: string = ""; | 28 | channelId: string = ""; |
| @@ -44,7 +46,7 @@ export struct PageComponent { | @@ -44,7 +46,7 @@ export struct PageComponent { | ||
| 44 | .onTouch((event: TouchEvent | undefined) => { | 46 | .onTouch((event: TouchEvent | undefined) => { |
| 45 | if (event) { | 47 | if (event) { |
| 46 | if (this.pageModel.viewType === ViewType.LOADED) { | 48 | if (this.pageModel.viewType === ViewType.LOADED) { |
| 47 | - listTouchEvent(this.pageModel, event); | 49 | + listTouchEvent(this.pageModel, this.pageAdvModel, event); |
| 48 | } | 50 | } |
| 49 | } | 51 | } |
| 50 | }) | 52 | }) |
| @@ -120,12 +122,12 @@ export struct PageComponent { | @@ -120,12 +122,12 @@ export struct PageComponent { | ||
| 120 | @Builder | 122 | @Builder |
| 121 | pageHornAd() { | 123 | pageHornAd() { |
| 122 | 124 | ||
| 123 | - if (this.pageModel.isShowAds) { | ||
| 124 | - if (this.pageModel.pageCornerAdv.matInfo != null) { | 125 | + if (this.pageAdvModel.isShowAds) { |
| 126 | + if (this.pageAdvModel.pageCornerAdv.matInfo != null) { | ||
| 125 | // 页面右边挂角 | 127 | // 页面右边挂角 |
| 126 | - this.drawPageCornerAdvView(1, 1 == this.pageModel.isRightAdv) | ||
| 127 | - } else if (this.pageModel.pageCornerContentInfo.advert != null) { | ||
| 128 | - this.drawPageCornerAdvView(2, 1 == this.pageModel.isRightAdv) | 128 | + this.drawPageCornerAdvView(1, 1 == this.pageAdvModel.isRightAdv) |
| 129 | + } else if (this.pageAdvModel.pageCornerContentInfo.advert != null) { | ||
| 130 | + this.drawPageCornerAdvView(2, 1 == this.pageAdvModel.isRightAdv) | ||
| 129 | } | 131 | } |
| 130 | } | 132 | } |
| 131 | 133 | ||
| @@ -140,8 +142,8 @@ export struct PageComponent { | @@ -140,8 +142,8 @@ export struct PageComponent { | ||
| 140 | @Builder | 142 | @Builder |
| 141 | drawPageCornerAdvView(type: number, isRightCorne: boolean) { | 143 | drawPageCornerAdvView(type: number, isRightCorne: boolean) { |
| 142 | // 页面左挂角 | 144 | // 页面左挂角 |
| 143 | - Image(type === 1 ? this.pageModel.pageCornerAdv.matInfo.matImageUrl[0] | ||
| 144 | - : this.pageModel.pageCornerContentInfo.advert.displayUrl) | 145 | + Image(type === 1 ? this.pageAdvModel.pageCornerAdv.matInfo.matImageUrl[0] |
| 146 | + : this.pageAdvModel.pageCornerContentInfo.advert.displayUrl) | ||
| 145 | .width($r('app.float.vp_80')) | 147 | .width($r('app.float.vp_80')) |
| 146 | .height($r('app.float.vp_80')) | 148 | .height($r('app.float.vp_80')) |
| 147 | .id("left_iv") | 149 | .id("left_iv") |
| @@ -159,10 +161,10 @@ export struct PageComponent { | @@ -159,10 +161,10 @@ export struct PageComponent { | ||
| 159 | .onClick(() => { | 161 | .onClick(() => { |
| 160 | if (type === 1) { | 162 | if (type === 1) { |
| 161 | // 广告业务跳转 | 163 | // 广告业务跳转 |
| 162 | - ProcessUtils.openAdvDetail(this.pageModel.pageCornerAdv.matInfo); | 164 | + ProcessUtils.openAdvDetail(this.pageAdvModel.pageCornerAdv.matInfo); |
| 163 | } else { | 165 | } else { |
| 164 | // 展现中心的业务跳转 | 166 | // 展现中心的业务跳转 |
| 165 | - ProcessUtils.advJumpMainPage(this.pageModel.pageCornerContentInfo.advert) | 167 | + ProcessUtils.advJumpMainPage(this.pageAdvModel.pageCornerContentInfo.advert) |
| 166 | } | 168 | } |
| 167 | }) | 169 | }) |
| 168 | // 关闭按钮 | 170 | // 关闭按钮 |
| @@ -180,7 +182,7 @@ export struct PageComponent { | @@ -180,7 +182,7 @@ export struct PageComponent { | ||
| 180 | }) | 182 | }) |
| 181 | .onClick(() => { | 183 | .onClick(() => { |
| 182 | // 关闭挂角广告 | 184 | // 关闭挂角广告 |
| 183 | - this.pageModel.isShowAds = false; | 185 | + this.pageAdvModel.isShowAds = false; |
| 184 | 186 | ||
| 185 | }) | 187 | }) |
| 186 | 188 | ||
| @@ -228,7 +230,7 @@ export struct PageComponent { | @@ -228,7 +230,7 @@ export struct PageComponent { | ||
| 228 | this.pageModel.groupId = this.pageId; | 230 | this.pageModel.groupId = this.pageId; |
| 229 | this.pageModel.channelId = this.channelId; | 231 | this.pageModel.channelId = this.channelId; |
| 230 | this.pageModel.currentPage = 1; | 232 | this.pageModel.currentPage = 1; |
| 231 | - PageHelper.getInitData(this.pageModel) | 233 | + PageHelper.getInitData(this.pageModel, this.pageAdvModel) |
| 232 | // let pageInfo = await PageViewModel.getPageInfo(this.pageModel.pageId); | 234 | // let pageInfo = await PageViewModel.getPageInfo(this.pageModel.pageId); |
| 233 | // if (pageInfo == null) { | 235 | // if (pageInfo == null) { |
| 234 | // this.pageModel.viewType = ViewType.EMPTY; | 236 | // this.pageModel.viewType = ViewType.EMPTY; |
| @@ -6,8 +6,9 @@ import PageModel from '../viewmodel/PageModel'; | @@ -6,8 +6,9 @@ import PageModel from '../viewmodel/PageModel'; | ||
| 6 | import PageViewModel from '../viewmodel/PageViewModel'; | 6 | import PageViewModel from '../viewmodel/PageViewModel'; |
| 7 | import { DateTimeUtils } from 'wdKit'; | 7 | import { DateTimeUtils } from 'wdKit'; |
| 8 | import PageHelper from '../viewmodel/PageHelper'; | 8 | import PageHelper from '../viewmodel/PageHelper'; |
| 9 | +import PageAdModel from '../viewmodel/PageAdvModel'; | ||
| 9 | 10 | ||
| 10 | -export function listTouchEvent(pageModel: PageModel, event: TouchEvent) { | 11 | +export function listTouchEvent(pageModel: PageModel,pageAdvModel:PageAdModel, event: TouchEvent) { |
| 11 | switch (event.type) { | 12 | switch (event.type) { |
| 12 | case TouchType.Down: | 13 | case TouchType.Down: |
| 13 | pageModel.downY = event.touches[0].y; | 14 | pageModel.downY = event.touches[0].y; |
| @@ -35,7 +36,7 @@ export function listTouchEvent(pageModel: PageModel, event: TouchEvent) { | @@ -35,7 +36,7 @@ export function listTouchEvent(pageModel: PageModel, event: TouchEvent) { | ||
| 35 | } | 36 | } |
| 36 | if ((pageModel.isPullRefreshOperation === true)) { | 37 | if ((pageModel.isPullRefreshOperation === true)) { |
| 37 | // Lift your finger and pull down to refresh. | 38 | // Lift your finger and pull down to refresh. |
| 38 | - touchUpPullRefresh(pageModel); | 39 | + touchUpPullRefresh(pageModel,pageAdvModel); |
| 39 | } else { | 40 | } else { |
| 40 | // Fingers up, handle loading more. | 41 | // Fingers up, handle loading more. |
| 41 | touchUpLoadMore(pageModel); | 42 | touchUpLoadMore(pageModel); |
| @@ -65,14 +66,15 @@ export function touchMovePullRefresh(pageModel: PageModel, event: TouchEvent) { | @@ -65,14 +66,15 @@ export function touchMovePullRefresh(pageModel: PageModel, event: TouchEvent) { | ||
| 65 | } | 66 | } |
| 66 | } | 67 | } |
| 67 | 68 | ||
| 68 | -export function touchUpPullRefresh(pageModel: PageModel) { | 69 | +export function touchUpPullRefresh(pageModel: PageModel,pageAdvModel:PageAdModel) { |
| 69 | if (pageModel.isCanRefresh === true) { | 70 | if (pageModel.isCanRefresh === true) { |
| 70 | pageModel.offsetY = vp2px(pageModel.pullDownRefreshHeight); | 71 | pageModel.offsetY = vp2px(pageModel.pullDownRefreshHeight); |
| 71 | pullRefreshState(pageModel, RefreshState.Refreshing); | 72 | pullRefreshState(pageModel, RefreshState.Refreshing); |
| 72 | pageModel.currentPage = 1; | 73 | pageModel.currentPage = 1; |
| 73 | setTimeout(() => { | 74 | setTimeout(() => { |
| 74 | let self: PageModel = pageModel; | 75 | let self: PageModel = pageModel; |
| 75 | - PageHelper.refreshUI(self) | 76 | + let advSelf: PageAdModel = pageAdvModel; |
| 77 | + PageHelper.refreshUI(self,advSelf) | ||
| 76 | // PageViewModel.getPageData(self.bizCopy(2)) | 78 | // PageViewModel.getPageData(self.bizCopy(2)) |
| 77 | // .then((data: PageDTO) => { | 79 | // .then((data: PageDTO) => { |
| 78 | // self.timestamp = DateTimeUtils.getTimeStamp().toString() | 80 | // self.timestamp = DateTimeUtils.getTimeStamp().toString() |
| 1 | +import { PageInfoDTO } from 'wdBean/Index'; | ||
| 2 | +import { AdvRuleBean, CompAdvBean } from 'wdBean/src/main/ets/bean/adv/AdvsRuleBean'; | ||
| 3 | + | ||
| 4 | +/** | ||
| 5 | + * @Description: 处理页面的广告业务 | ||
| 6 | + * @Author: lyb | ||
| 7 | + * @Email: liyubing@wondertek.com.cn | ||
| 8 | + * @CreateDate: | ||
| 9 | + * @UpdateRemark: 更新说明 | ||
| 10 | + * @Version: 1.0 | ||
| 11 | + */ | ||
| 12 | +export default class PageAdModel { | ||
| 13 | + //左右挂角广告对象 | ||
| 14 | + pageCornerAdv: CompAdvBean = {} as CompAdvBean | ||
| 15 | + // 挂角广告 | ||
| 16 | + isShowAds: boolean = false; | ||
| 17 | + isRightAdv: number = 1; | ||
| 18 | + // 1:右边;2:左边 -> 默认右边 | ||
| 19 | + pageCornerContentInfo: AdvRuleBean = {} as AdvRuleBean | ||
| 20 | + | ||
| 21 | + // 展现中心业务信息 | ||
| 22 | + | ||
| 23 | + | ||
| 24 | + | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * 解析广告资源 | ||
| 28 | + * @param pageInfo | ||
| 29 | + */ | ||
| 30 | + analysisAdvSource(pageInfo: PageInfoDTO): void { | ||
| 31 | + | ||
| 32 | + if (pageInfo.hasAdInfo === 1 && pageInfo.cornersAdv != null) { | ||
| 33 | + // 优先展示展现中心广告 | ||
| 34 | + let cornersAdv = pageInfo.cornersAdv | ||
| 35 | + | ||
| 36 | + if (cornersAdv == null) { | ||
| 37 | + return | ||
| 38 | + } | ||
| 39 | + if (cornersAdv.advert == null) { | ||
| 40 | + return | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + if ("left_down" == cornersAdv.pos) { | ||
| 44 | + // 左边挂角广告 | ||
| 45 | + this.isRightAdv = 2 | ||
| 46 | + } else { | ||
| 47 | + // 右边挂角广告 | ||
| 48 | + this.isRightAdv = 1 | ||
| 49 | + | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + this.pageCornerContentInfo = cornersAdv; | ||
| 53 | + this.isShowAds = true | ||
| 54 | + | ||
| 55 | + } else if (pageInfo.cornersAdv2 != null && pageInfo.cornersAdv2.length > 0) { | ||
| 56 | + // 广告中心-挂角广告信息 | ||
| 57 | + let cornersAdv2 = pageInfo.cornersAdv2 | ||
| 58 | + // 获取 | ||
| 59 | + let showCompAdvBean = cornersAdv2[0] | ||
| 60 | + | ||
| 61 | + if (showCompAdvBean.matInfo == null) { | ||
| 62 | + return | ||
| 63 | + } | ||
| 64 | + // | ||
| 65 | + let slotInfo = showCompAdvBean.slotInfo; | ||
| 66 | + let postion = slotInfo.position | ||
| 67 | + if (postion == 0) { | ||
| 68 | + //左边挂角 | ||
| 69 | + this.isRightAdv = 2 | ||
| 70 | + } else { | ||
| 71 | + // 右边挂角 | ||
| 72 | + this.isRightAdv = 1 | ||
| 73 | + } | ||
| 74 | + this.pageCornerAdv = showCompAdvBean | ||
| 75 | + this.isShowAds = true | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + } | ||
| 79 | +} |
| @@ -6,6 +6,7 @@ import PageModel from './PageModel'; | @@ -6,6 +6,7 @@ import PageModel from './PageModel'; | ||
| 6 | import PageViewModel from './PageViewModel'; | 6 | import PageViewModel from './PageViewModel'; |
| 7 | import { promptAction } from '@kit.ArkUI'; | 7 | import { promptAction } from '@kit.ArkUI'; |
| 8 | import { AdvRuleBean } from 'wdBean/src/main/ets/bean/adv/AdvsRuleBean'; | 8 | import { AdvRuleBean } from 'wdBean/src/main/ets/bean/adv/AdvsRuleBean'; |
| 9 | +import PageAdModel from './PageAdvModel'; | ||
| 9 | 10 | ||
| 10 | const TAG = 'PageHelper'; | 11 | const TAG = 'PageHelper'; |
| 11 | 12 | ||
| @@ -13,12 +14,14 @@ const TAG = 'PageHelper'; | @@ -13,12 +14,14 @@ const TAG = 'PageHelper'; | ||
| 13 | * 处理返回后的数据 | 14 | * 处理返回后的数据 |
| 14 | */ | 15 | */ |
| 15 | export class PageHelper { | 16 | export class PageHelper { |
| 17 | + | ||
| 18 | + | ||
| 16 | /** | 19 | /** |
| 17 | * 刷新数据 | 20 | * 刷新数据 |
| 18 | */ | 21 | */ |
| 19 | - async refreshUI(pageModel: PageModel) { | 22 | + async refreshUI(pageModel: PageModel,pageAdvModel:PageAdModel) { |
| 20 | pageModel.loadStrategy = 2 | 23 | pageModel.loadStrategy = 2 |
| 21 | - this.getPageInfo(pageModel) | 24 | + this.getPageInfo(pageModel,pageAdvModel) |
| 22 | } | 25 | } |
| 23 | 26 | ||
| 24 | /** | 27 | /** |
| @@ -33,12 +36,12 @@ export class PageHelper { | @@ -33,12 +36,12 @@ export class PageHelper { | ||
| 33 | /** | 36 | /** |
| 34 | * 进页面请求数据 | 37 | * 进页面请求数据 |
| 35 | */ | 38 | */ |
| 36 | - async getInitData(pageModel: PageModel) { | 39 | + async getInitData(pageModel: PageModel,pageAdvModel:PageAdModel) { |
| 37 | pageModel.loadStrategy = 1 | 40 | pageModel.loadStrategy = 1 |
| 38 | - this.getPageInfo(pageModel) | 41 | + this.getPageInfo(pageModel,pageAdvModel) |
| 39 | } | 42 | } |
| 40 | 43 | ||
| 41 | - async getPageInfo(pageModel: PageModel) { | 44 | + async getPageInfo(pageModel: PageModel,pageAdvModel:PageAdModel) { |
| 42 | pageModel.currentPage = 1; | 45 | pageModel.currentPage = 1; |
| 43 | let pageInfo = await PageViewModel.getPageInfo(pageModel.pageId); | 46 | let pageInfo = await PageViewModel.getPageInfo(pageModel.pageId); |
| 44 | if (pageInfo == null) { | 47 | if (pageInfo == null) { |
| @@ -47,67 +50,12 @@ export class PageHelper { | @@ -47,67 +50,12 @@ export class PageHelper { | ||
| 47 | } | 50 | } |
| 48 | pageModel.pageInfo = pageInfo; | 51 | pageModel.pageInfo = pageInfo; |
| 49 | //解析广告资源 | 52 | //解析广告资源 |
| 50 | - this.analysisAdvSource(pageModel); | 53 | + pageAdvModel.analysisAdvSource(pageInfo) |
| 51 | 54 | ||
| 52 | this.parseGroup(pageModel) | 55 | this.parseGroup(pageModel) |
| 53 | 56 | ||
| 54 | } | 57 | } |
| 55 | 58 | ||
| 56 | - /** | ||
| 57 | - * 解析广告资源 | ||
| 58 | - * @param pageInfo | ||
| 59 | - */ | ||
| 60 | - analysisAdvSource(pageModel: PageModel) { | ||
| 61 | - | ||
| 62 | - let pageInfo = pageModel.pageInfo | ||
| 63 | - if (pageInfo.hasAdInfo === 1 && pageInfo.cornersAdv != null) { | ||
| 64 | - // 优先展示展现中心广告 | ||
| 65 | - let cornersAdv = pageInfo.cornersAdv | ||
| 66 | - | ||
| 67 | - if (cornersAdv == null) { | ||
| 68 | - return | ||
| 69 | - } | ||
| 70 | - if (cornersAdv.advert == null) { | ||
| 71 | - return | ||
| 72 | - } | ||
| 73 | - | ||
| 74 | - if ("left_down" == cornersAdv.pos) { | ||
| 75 | - // 左边挂角广告 | ||
| 76 | - pageModel.isRightAdv = 2 | ||
| 77 | - } else { | ||
| 78 | - // 右边挂角广告 | ||
| 79 | - pageModel.isRightAdv = 1 | ||
| 80 | - | ||
| 81 | - } | ||
| 82 | - | ||
| 83 | - pageModel.pageCornerContentInfo = cornersAdv; | ||
| 84 | - pageModel.isShowAds = true | ||
| 85 | - | ||
| 86 | - } else if (pageInfo.cornersAdv2 != null && pageInfo.cornersAdv2.length > 0) { | ||
| 87 | - // 广告中心-挂角广告信息 | ||
| 88 | - let cornersAdv2 = pageInfo.cornersAdv2 | ||
| 89 | - // 获取 | ||
| 90 | - let showCompAdvBean = cornersAdv2[0] | ||
| 91 | - | ||
| 92 | - if (showCompAdvBean.matInfo == null) { | ||
| 93 | - return | ||
| 94 | - } | ||
| 95 | - // | ||
| 96 | - let slotInfo = showCompAdvBean.slotInfo; | ||
| 97 | - let postion = slotInfo.position | ||
| 98 | - if (postion == 0) { | ||
| 99 | - //左边挂角 | ||
| 100 | - pageModel.isRightAdv = 2 | ||
| 101 | - } else { | ||
| 102 | - // 右边挂角 | ||
| 103 | - pageModel.isRightAdv = 1 | ||
| 104 | - } | ||
| 105 | - pageModel.pageCornerAdv = showCompAdvBean | ||
| 106 | - pageModel.isShowAds = true | ||
| 107 | - } | ||
| 108 | - | ||
| 109 | - | ||
| 110 | - } | ||
| 111 | 59 | ||
| 112 | 60 | ||
| 113 | async parseGroup(pageModel: PageModel) { | 61 | async parseGroup(pageModel: PageModel) { |
| @@ -51,11 +51,11 @@ export default class PageModel { | @@ -51,11 +51,11 @@ export default class PageModel { | ||
| 51 | // keyGenerator相关字符串,用于刷新list布局 | 51 | // keyGenerator相关字符串,用于刷新list布局 |
| 52 | timestamp: String = '1'; | 52 | timestamp: String = '1'; |
| 53 | 53 | ||
| 54 | - //左右挂角广告对象 | ||
| 55 | - pageCornerAdv:CompAdvBean = {} as CompAdvBean // 挂角广告 | ||
| 56 | - isShowAds : boolean = false; | ||
| 57 | - isRightAdv : number = 1;// 1:右边;2:左边 -> 默认右边 | ||
| 58 | - pageCornerContentInfo:AdvRuleBean = {} as AdvRuleBean // 展现中心业务信息 | 54 | + // //左右挂角广告对象 |
| 55 | + // pageCornerAdv:CompAdvBean = {} as CompAdvBean // 挂角广告 | ||
| 56 | + // isShowAds : boolean = false; | ||
| 57 | + // isRightAdv : number = 1;// 1:右边;2:左边 -> 默认右边 | ||
| 58 | + // pageCornerContentInfo:AdvRuleBean = {} as AdvRuleBean // 展现中心业务信息 | ||
| 59 | 59 | ||
| 60 | 60 | ||
| 61 | /** | 61 | /** |
-
Please register or login to post a comment