Showing
9 changed files
with
102 additions
and
75 deletions
| @@ -133,10 +133,15 @@ export class NetworkManager { | @@ -133,10 +133,15 @@ export class NetworkManager { | ||
| 133 | * 同步获取网络类型,耗时 | 133 | * 同步获取网络类型,耗时 |
| 134 | */ | 134 | */ |
| 135 | public getNetTypeSync(): NetworkType { | 135 | public getNetTypeSync(): NetworkType { |
| 136 | - let netHandle = connection.getDefaultNetSync(); | ||
| 137 | - let netCapabilities = connection.getNetCapabilitiesSync(netHandle) | ||
| 138 | - this.reset(netCapabilities.bearerTypes) | ||
| 139 | - return this.networkType; | 136 | + try { |
| 137 | + let netHandle = connection.getDefaultNetSync(); | ||
| 138 | + let netCapabilities = connection.getNetCapabilitiesSync(netHandle) | ||
| 139 | + this.reset(netCapabilities.bearerTypes) | ||
| 140 | + return this.networkType; | ||
| 141 | + } catch (e) { | ||
| 142 | + Logger.error(TAG, 'getNetTypeSync e: ' + JSON.stringify(e)) | ||
| 143 | + } | ||
| 144 | + return NetworkType.TYPE_UNKNOWN | ||
| 140 | } | 145 | } |
| 141 | 146 | ||
| 142 | private parseData(data: connection.NetCapabilityInfo) { | 147 | private parseData(data: connection.NetCapabilityInfo) { |
| @@ -43,7 +43,7 @@ export class NetworkUtil { | @@ -43,7 +43,7 @@ export class NetworkUtil { | ||
| 43 | */ | 43 | */ |
| 44 | static isNetConnected(): boolean { | 44 | static isNetConnected(): boolean { |
| 45 | let type = NetworkManager.getInstance().getNetType() | 45 | let type = NetworkManager.getInstance().getNetType() |
| 46 | - if (type == NetworkType.TYPE_NONE) { | 46 | + if (type == NetworkType.TYPE_UNKNOWN || type == NetworkType.TYPE_NONE) { |
| 47 | return false | 47 | return false |
| 48 | } | 48 | } |
| 49 | return true | 49 | return true |
| @@ -255,7 +255,7 @@ export struct PageComponent { | @@ -255,7 +255,7 @@ export struct PageComponent { | ||
| 255 | this.pageModel.channelId = this.channelId; | 255 | this.pageModel.channelId = this.channelId; |
| 256 | this.pageModel.currentPage = 1; | 256 | this.pageModel.currentPage = 1; |
| 257 | this.pageModel.pageTotalCompSize = 0; | 257 | this.pageModel.pageTotalCompSize = 0; |
| 258 | - // TODO PageHelper.getInitCacheData(this.pageModel, this.pageAdvModel) | 258 | + PageHelper.getInitCacheData(this.pageModel, this.pageAdvModel) |
| 259 | PageHelper.getInitData(this.pageModel, this.pageAdvModel) | 259 | PageHelper.getInitData(this.pageModel, this.pageAdvModel) |
| 260 | }, 100) | 260 | }, 100) |
| 261 | } | 261 | } |
| @@ -95,15 +95,17 @@ struct MineHomePage { | @@ -95,15 +95,17 @@ struct MineHomePage { | ||
| 95 | } | 95 | } |
| 96 | WDRouterRule.jumpWithPage(WDRouterPage.editUserNikeNamePage,params) | 96 | WDRouterRule.jumpWithPage(WDRouterPage.editUserNikeNamePage,params) |
| 97 | }) | 97 | }) |
| 98 | + | ||
| 98 | if(this.levelId>0){ | 99 | if(this.levelId>0){ |
| 99 | - Text(`等级${this.levelId}`) | ||
| 100 | - .textAlign(TextAlign.Center) | ||
| 101 | - .fontColor($r('app.color.color_ED2800')) | ||
| 102 | - .backgroundColor($r('app.color.white')) | ||
| 103 | - .fontSize('19lpx') | ||
| 104 | - .width('96lpx') | ||
| 105 | - .height('35lpx') | ||
| 106 | - .margin({ left: '10lpx' }) | 100 | + Text(`等级${this.levelId}`) |
| 101 | + .fontColor($r('app.color.color_ED2800')) | ||
| 102 | + .fontSize('23lpx') | ||
| 103 | + .fontWeight(500) | ||
| 104 | + .margin({ left: '10lpx' }) | ||
| 105 | + .backgroundImage($r("app.media.my_grade_bg")) | ||
| 106 | + .backgroundImageSize(ImageSize.Cover) | ||
| 107 | + .padding({left:"17lpx",right:"8lpx"}) | ||
| 108 | + .height('35lpx') | ||
| 107 | } | 109 | } |
| 108 | 110 | ||
| 109 | Blank() | 111 | Blank() |
| @@ -86,14 +86,17 @@ struct OtherNormalUserHomePage { | @@ -86,14 +86,17 @@ struct OtherNormalUserHomePage { | ||
| 86 | .lineHeight('50lpx') | 86 | .lineHeight('50lpx') |
| 87 | .fontWeight('500lpx') | 87 | .fontWeight('500lpx') |
| 88 | 88 | ||
| 89 | - Text(`等级${this.levelId}`) | ||
| 90 | - .textAlign(TextAlign.Center) | ||
| 91 | - .fontColor($r('app.color.color_ED2800')) | ||
| 92 | - .backgroundColor($r('app.color.white')) | ||
| 93 | - .fontSize('19lpx') | ||
| 94 | - .width('96lpx') | ||
| 95 | - .height('35lpx') | ||
| 96 | - .margin({ left: '10lpx' }) | 89 | + if(this.levelId>0){ |
| 90 | + Text(`等级${this.levelId}`) | ||
| 91 | + .fontColor($r('app.color.color_ED2800')) | ||
| 92 | + .fontSize('23lpx') | ||
| 93 | + .fontWeight(500) | ||
| 94 | + .margin({ left: '10lpx' }) | ||
| 95 | + .backgroundImage($r("app.media.my_grade_bg")) | ||
| 96 | + .backgroundImageSize(ImageSize.Cover) | ||
| 97 | + .padding({left:"17lpx",right:"8lpx"}) | ||
| 98 | + .height('35lpx') | ||
| 99 | + } | ||
| 97 | Blank() | 100 | Blank() |
| 98 | }.width('507lpx') | 101 | }.width('507lpx') |
| 99 | 102 |
| 1 | import { CompDTO, ContentDTO, InteractDataDTO, LiveReviewDTO, LiveRoomDataBean, PageDTO, PageInfoDTO } from 'wdBean'; | 1 | import { CompDTO, ContentDTO, InteractDataDTO, LiveReviewDTO, LiveRoomDataBean, PageDTO, PageInfoDTO } from 'wdBean'; |
| 2 | import { CompStyle, ViewType } from 'wdConstant/Index'; | 2 | import { CompStyle, ViewType } from 'wdConstant/Index'; |
| 3 | -import { CollectionUtils, DateTimeUtils, LazyDataSource, Logger, NetworkUtil, StringUtils } from 'wdKit'; | 3 | +import { CollectionUtils, DateTimeUtils, LazyDataSource, Logger, NetworkUtil, StringUtils, ToastUtils } from 'wdKit'; |
| 4 | import { closeRefresh } from '../utils/PullDownRefresh'; | 4 | import { closeRefresh } from '../utils/PullDownRefresh'; |
| 5 | import PageModel from './PageModel'; | 5 | import PageModel from './PageModel'; |
| 6 | import PageViewModel from './PageViewModel'; | 6 | import PageViewModel from './PageViewModel'; |
| @@ -33,9 +33,16 @@ export class PageHelper { | @@ -33,9 +33,16 @@ export class PageHelper { | ||
| 33 | * 刷新数据 | 33 | * 刷新数据 |
| 34 | */ | 34 | */ |
| 35 | async refreshUI(pageModel: PageModel, pageAdvModel: PageAdModel) { | 35 | async refreshUI(pageModel: PageModel, pageAdvModel: PageAdModel) { |
| 36 | + let netStatus = NetworkUtil.isNetConnected() | ||
| 37 | + if (!netStatus) { | ||
| 38 | + ToastUtils.showToast('网络出小差了,请检查网络后重试', 1000) | ||
| 39 | + setTimeout(() => { | ||
| 40 | + closeRefresh(pageModel, false) | ||
| 41 | + }, 500) | ||
| 42 | + return | ||
| 43 | + } | ||
| 36 | pageModel.loadStrategy = 2 | 44 | pageModel.loadStrategy = 2 |
| 37 | pageModel.pageTotalCompSize = 0; | 45 | pageModel.pageTotalCompSize = 0; |
| 38 | - // TODO 下拉刷新,是否加载缓存 | ||
| 39 | this.getPageInfo(pageModel, pageAdvModel) | 46 | this.getPageInfo(pageModel, pageAdvModel) |
| 40 | } | 47 | } |
| 41 | 48 | ||
| @@ -43,6 +50,11 @@ export class PageHelper { | @@ -43,6 +50,11 @@ export class PageHelper { | ||
| 43 | * 分页加载 | 50 | * 分页加载 |
| 44 | */ | 51 | */ |
| 45 | async loadMore(pageModel: PageModel) { | 52 | async loadMore(pageModel: PageModel) { |
| 53 | + let netStatus = NetworkUtil.isNetConnected() | ||
| 54 | + if (!netStatus) { | ||
| 55 | + ToastUtils.showToast('网络出小差了,请检查网络后重试', 1000) | ||
| 56 | + return | ||
| 57 | + } | ||
| 46 | pageModel.loadStrategy = 3 | 58 | pageModel.loadStrategy = 3 |
| 47 | // 暂只支持comp分页加载,节目分页加载的得完善框架(如直播回看节目数据分页) | 59 | // 暂只支持comp分页加载,节目分页加载的得完善框架(如直播回看节目数据分页) |
| 48 | this.compLoadMore(pageModel) | 60 | this.compLoadMore(pageModel) |
| @@ -52,55 +64,20 @@ export class PageHelper { | @@ -52,55 +64,20 @@ export class PageHelper { | ||
| 52 | * 进页面请求数据 | 64 | * 进页面请求数据 |
| 53 | */ | 65 | */ |
| 54 | async getInitCacheData(pageModel: PageModel, pageAdvModel: PageAdModel) { | 66 | async getInitCacheData(pageModel: PageModel, pageAdvModel: PageAdModel) { |
| 55 | - Logger.error('zzzz', 'getInitCacheData') | 67 | + Logger.debug(TAG, 'getInitCacheData') |
| 56 | PageViewModel.getPageInfoCache(pageModel.pageId).then(pageInfo => { | 68 | PageViewModel.getPageInfoCache(pageModel.pageId).then(pageInfo => { |
| 69 | + Logger.debug(TAG, 'getInitCacheData back: ' + pageInfo) | ||
| 57 | if (pageInfo == null) { | 70 | if (pageInfo == null) { |
| 58 | return; | 71 | return; |
| 59 | } | 72 | } |
| 60 | pageModel.pageInfo = pageInfo; | 73 | pageModel.pageInfo = pageInfo; |
| 74 | + pageModel.cachePageInfoMd5 = pageInfo.md5 | ||
| 61 | //解析页面挂角广告资源 | 75 | //解析页面挂角广告资源 |
| 62 | pageAdvModel.analysisAdvSource(pageInfo); | 76 | pageAdvModel.analysisAdvSource(pageInfo); |
| 63 | - this.parseCacheGroup(pageModel) | 77 | + this.parseGroup(pageModel, true) |
| 64 | }) | 78 | }) |
| 65 | } | 79 | } |
| 66 | 80 | ||
| 67 | - async parseCacheGroup(pageModel: PageModel) { | ||
| 68 | - Logger.error('zzzz', 'parseCacheGroup') | ||
| 69 | - let pageInfo: PageInfoDTO = pageModel.pageInfo | ||
| 70 | - pageModel.groupList = [] | ||
| 71 | - pageInfo.pageAdList = [] | ||
| 72 | - pageInfo.oneRequestPageGroupCompList = new ArrayList() | ||
| 73 | - pageModel.groupList.push(...pageInfo.groups) | ||
| 74 | - for (const group of pageInfo.groups) { | ||
| 75 | - pageModel.groupId = group.id; | ||
| 76 | - pageModel.groupData = group | ||
| 77 | - // await,确保groups接口顺序执行 | ||
| 78 | - let pageDto = await PageViewModel.getPageGroupCacheData(pageModel.bizCopy()) as PageDTO | ||
| 79 | - let index = pageInfo.groups.indexOf(group) | ||
| 80 | - if (index == 0) { | ||
| 81 | - // 清空comp列表 | ||
| 82 | - pageModel.compList.clear() | ||
| 83 | - } | ||
| 84 | - this.analysisPageGroupCompData(pageDto, pageInfo) | ||
| 85 | - } | ||
| 86 | - | ||
| 87 | - // 收集页面所有楼层的组件信息,同步完成广告投放计算,异步完成稿件批查, | ||
| 88 | - | ||
| 89 | - pageModel.pageTotalCompSize = pageInfo.oneRequestPageGroupCompList.length + pageModel.pageTotalCompSize | ||
| 90 | - // 处理页面广告数据,投放到页面的位置 | ||
| 91 | - // TODO 缓存数据不加载广告 | ||
| 92 | - // this.handlePageCompAdvPostion(pageInfo.oneRequestPageGroupCompList, pageModel, pageInfo.pageAdList); | ||
| 93 | - | ||
| 94 | - //遍历所有组件和稿件数据 push到页面 | ||
| 95 | - for (let element of pageInfo.oneRequestPageGroupCompList) { | ||
| 96 | - pageModel.compList.push(CompDTO.createNewsBean(element)) | ||
| 97 | - } | ||
| 98 | - pageModel.currentPage++ | ||
| 99 | - pageModel.viewType = ViewType.LOADED | ||
| 100 | - closeRefresh(pageModel, true) | ||
| 101 | - | ||
| 102 | - } | ||
| 103 | - | ||
| 104 | /** | 81 | /** |
| 105 | * 进页面请求数据 | 82 | * 进页面请求数据 |
| 106 | */ | 83 | */ |
| @@ -134,33 +111,51 @@ export class PageHelper { | @@ -134,33 +111,51 @@ export class PageHelper { | ||
| 134 | promptAction.showToast({ message: err }); | 111 | promptAction.showToast({ message: err }); |
| 135 | }) | 112 | }) |
| 136 | } else { | 113 | } else { |
| 114 | + Logger.debug(TAG, 'getPageInfo') | ||
| 137 | PageViewModel.getPageInfo(pageModel.pageId).then(pageInfo => { | 115 | PageViewModel.getPageInfo(pageModel.pageId).then(pageInfo => { |
| 116 | + Logger.debug(TAG, 'getPageInfo back: ' + JSON.stringify(pageInfo)) | ||
| 138 | if (pageInfo == null) { | 117 | if (pageInfo == null) { |
| 139 | pageModel.viewType = ViewType.EMPTY; | 118 | pageModel.viewType = ViewType.EMPTY; |
| 140 | pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_NoContent1; | 119 | pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_NoContent1; |
| 141 | return; | 120 | return; |
| 142 | } | 121 | } |
| 143 | pageModel.pageInfo = pageInfo; | 122 | pageModel.pageInfo = pageInfo; |
| 144 | - //解析页面挂角广告资源 | ||
| 145 | - pageAdvModel.analysisAdvSource(pageInfo); | ||
| 146 | - this.parseGroup(pageModel) | ||
| 147 | - // if (pageModel.currentPage == 1) { | ||
| 148 | - // // 保存缓存 | ||
| 149 | - // CacheData.saveCacheData(CacheData.comPageInfoCacheKey + pageModel.pageId, pageInfo, pageInfo.md5) | ||
| 150 | - // } | 123 | + if (pageInfo.md5 == pageModel.cachePageInfoMd5) { |
| 124 | + // 缓存一致,不解析 | ||
| 125 | + Logger.debug(TAG, 'getPageInfo 与缓存一致,不解析广告。。。') | ||
| 126 | + } else { | ||
| 127 | + Logger.debug(TAG, 'getPageInfo 要解析广告') | ||
| 128 | + if (pageModel.currentPage == 1) { | ||
| 129 | + // 保存缓存 | ||
| 130 | + CacheData.saveCacheData(CacheData.comPageInfoCacheKey + pageModel.pageId, pageInfo, pageInfo.md5) | ||
| 131 | + } | ||
| 132 | + //解析页面挂角广告资源 | ||
| 133 | + pageAdvModel.analysisAdvSource(pageInfo); | ||
| 134 | + } | ||
| 135 | + Logger.debug(TAG, 'getPageInfo go on') | ||
| 136 | + this.parseGroup(pageModel, false) | ||
| 151 | }).catch(() => { | 137 | }).catch(() => { |
| 138 | + if (this.isPageLoaded(pageModel)) { | ||
| 139 | + return | ||
| 140 | + } | ||
| 152 | pageModel.viewType = ViewType.EMPTY; | 141 | pageModel.viewType = ViewType.EMPTY; |
| 153 | pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_ContentFailed; | 142 | pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_ContentFailed; |
| 154 | }) | 143 | }) |
| 155 | } | 144 | } |
| 156 | } | 145 | } |
| 157 | 146 | ||
| 147 | + private isPageLoaded(pageModel: PageModel) { | ||
| 148 | + if (pageModel.compList.size() > 0) { | ||
| 149 | + return true | ||
| 150 | + } | ||
| 151 | + return false | ||
| 152 | + } | ||
| 158 | 153 | ||
| 159 | /** | 154 | /** |
| 160 | * 解析信息流页面楼层数据 | 155 | * 解析信息流页面楼层数据 |
| 161 | * @param pageModel | 156 | * @param pageModel |
| 162 | */ | 157 | */ |
| 163 | - async parseGroup(pageModel: PageModel) { | 158 | + async parseGroup(pageModel: PageModel, isCache: boolean) { |
| 164 | let pageInfo: PageInfoDTO = pageModel.pageInfo | 159 | let pageInfo: PageInfoDTO = pageModel.pageInfo |
| 165 | pageModel.groupList = [] | 160 | pageModel.groupList = [] |
| 166 | pageInfo.pageAdList = [] | 161 | pageInfo.pageAdList = [] |
| @@ -177,8 +172,26 @@ export class PageHelper { | @@ -177,8 +172,26 @@ export class PageHelper { | ||
| 177 | pageModel.groupData = group | 172 | pageModel.groupData = group |
| 178 | 173 | ||
| 179 | //Logger.error("ZZZXXXXX", '楼层id-start--》' + pageModel.groupId); | 174 | //Logger.error("ZZZXXXXX", '楼层id-start--》' + pageModel.groupId); |
| 175 | + let pageDto: PageDTO | ||
| 176 | + Logger.debug(TAG, 'parseGroup isCache: ' + isCache) | ||
| 177 | + if (isCache) { | ||
| 178 | + pageDto = await PageViewModel.getPageGroupCacheData(pageModel.bizCopy()) as PageDTO | ||
| 179 | + pageModel.cacheGroupInfoMd5 = pageDto.md5 | ||
| 180 | + } else { | ||
| 181 | + pageDto = await PageViewModel.getPageGroupCompData(pageModel.bizCopy()) as PageDTO | ||
| 182 | + if (pageDto.md5 == pageModel.cacheGroupInfoMd5) { | ||
| 183 | + Logger.debug(TAG, 'parseGroup cache load, return: ' + pageDto.md5) | ||
| 184 | + // 缓存数据一致,不再刷新 | ||
| 185 | + return | ||
| 186 | + } | ||
| 187 | + Logger.debug(TAG, 'parseGroup cache load, save: ') | ||
| 188 | + // 保存缓存 | ||
| 189 | + CacheData.saveCacheData(CacheData.compGroupInfoDataCacheKey + pageModel.pageId + pageModel.groupId, pageDto, | ||
| 190 | + pageDto.md5) | ||
| 191 | + } | ||
| 192 | + Logger.debug(TAG, 'parseGroup go on') | ||
| 180 | // await,确保groups接口顺序执行 | 193 | // await,确保groups接口顺序执行 |
| 181 | - let pageDto = await PageViewModel.getPageGroupCompData(pageModel.bizCopy()) as PageDTO | 194 | + // let pageDto = page |
| 182 | let index = pageInfo.groups.indexOf(group) | 195 | let index = pageInfo.groups.indexOf(group) |
| 183 | 196 | ||
| 184 | // 解析楼层组件 | 197 | // 解析楼层组件 |
| @@ -197,9 +210,6 @@ export class PageHelper { | @@ -197,9 +210,6 @@ export class PageHelper { | ||
| 197 | } else { | 210 | } else { |
| 198 | pageInfo.lastCompSourceType = 0 | 211 | pageInfo.lastCompSourceType = 0 |
| 199 | } | 212 | } |
| 200 | - // // 保存缓存 | ||
| 201 | - // CacheData.saveCacheData(CacheData.compGroupInfoDataCacheKey + pageModel.pageId + pageModel.groupId, pageDto, | ||
| 202 | - // pageDto.md5) | ||
| 203 | } | 213 | } |
| 204 | } | 214 | } |
| 205 | 215 |
| @@ -63,6 +63,10 @@ export default class PageModel { | @@ -63,6 +63,10 @@ export default class PageModel { | ||
| 63 | pageType: number = 0; | 63 | pageType: number = 0; |
| 64 | 64 | ||
| 65 | extra: string = '' | 65 | extra: string = '' |
| 66 | + // 缓存数据相关 | ||
| 67 | + cachePageInfoMd5: string = '' | ||
| 68 | + cacheGroupInfoMd5: string = '' | ||
| 69 | + | ||
| 66 | /** | 70 | /** |
| 67 | * 简单复制业务数据 | 71 | * 简单复制业务数据 |
| 68 | */ | 72 | */ |
569 Bytes
| @@ -16,6 +16,7 @@ import { HostEnum, HostManager, WDHttp } from 'wdNetwork/Index' | @@ -16,6 +16,7 @@ import { HostEnum, HostManager, WDHttp } from 'wdNetwork/Index' | ||
| 16 | import { registerRouter } from 'wdRouter/Index' | 16 | import { registerRouter } from 'wdRouter/Index' |
| 17 | import { TrackingModule } from 'wdTracking/Index' | 17 | import { TrackingModule } from 'wdTracking/Index' |
| 18 | import { JSON } from '@kit.ArkTS' | 18 | import { JSON } from '@kit.ArkTS' |
| 19 | +import app from '@system.app' | ||
| 19 | 20 | ||
| 20 | const TAG = "[StartupManager]" | 21 | const TAG = "[StartupManager]" |
| 21 | 22 | ||
| @@ -36,6 +37,8 @@ export class StartupManager { | @@ -36,6 +37,8 @@ export class StartupManager { | ||
| 36 | appOnCreate(want: Want, launchParam: AbilityConstant.LaunchParam, context: common.UIAbilityContext) { | 37 | appOnCreate(want: Want, launchParam: AbilityConstant.LaunchParam, context: common.UIAbilityContext) { |
| 37 | Logger.debug(TAG, "App onCreate: " + `\nwant: ${want}\nlaunchParam: ${launchParam}`) | 38 | Logger.debug(TAG, "App onCreate: " + `\nwant: ${want}\nlaunchParam: ${launchParam}`) |
| 38 | this.context = context | 39 | this.context = context |
| 40 | + // 设置图片文件数据缓存上限为200MB (200MB=200*1024*1024B=209715200B) | ||
| 41 | + app.setImageFileCacheSize(209715200) | ||
| 39 | 42 | ||
| 40 | // KV存储 | 43 | // KV存储 |
| 41 | SPHelper.init(context); | 44 | SPHelper.init(context); |
-
Please register or login to post a comment