Showing
4 changed files
with
48 additions
and
30 deletions
| @@ -6,7 +6,8 @@ import { | @@ -6,7 +6,8 @@ import { | ||
| 6 | H5ReceiveDetailBean, | 6 | H5ReceiveDetailBean, |
| 7 | ResponseBean | 7 | ResponseBean |
| 8 | } from 'wdBean'; | 8 | } from 'wdBean'; |
| 9 | -import { Logger } from 'wdKit'; | 9 | +import { Logger, SPHelper } from 'wdKit'; |
| 10 | +import { SpConstants } from 'wdConstant'; | ||
| 10 | import { WdWebLocalComponent } from 'wdWebComponent'; | 11 | import { WdWebLocalComponent } from 'wdWebComponent'; |
| 11 | import { NativeCallH5Type } from 'wdWebComponent/src/main/ets/pages/NativeCallH5Type'; | 12 | import { NativeCallH5Type } from 'wdWebComponent/src/main/ets/pages/NativeCallH5Type'; |
| 12 | import { BridgeWebViewControl } from 'wdJsBridge/Index'; | 13 | import { BridgeWebViewControl } from 'wdJsBridge/Index'; |
| @@ -22,7 +23,7 @@ export struct ImageAndTextWebComponent { | @@ -22,7 +23,7 @@ export struct ImageAndTextWebComponent { | ||
| 22 | private webPrepared = false; | 23 | private webPrepared = false; |
| 23 | private dataPrepared = false; | 24 | private dataPrepared = false; |
| 24 | 25 | ||
| 25 | - onDetailDataUpdated() { | 26 | + async onDetailDataUpdated() { |
| 26 | if (this.action) { | 27 | if (this.action) { |
| 27 | let contentId: string = '' | 28 | let contentId: string = '' |
| 28 | let contentType: string = '' | 29 | let contentType: string = '' |
| @@ -30,6 +31,8 @@ export struct ImageAndTextWebComponent { | @@ -30,6 +31,8 @@ export struct ImageAndTextWebComponent { | ||
| 30 | let channelId: string = '' | 31 | let channelId: string = '' |
| 31 | let compId: string = '' | 32 | let compId: string = '' |
| 32 | let sourcePage: string = '5' | 33 | let sourcePage: string = '5' |
| 34 | + let creatorId = await SPHelper.default.get(SpConstants.USER_CREATOR_ID, '') || '' | ||
| 35 | + let isLogin = await SPHelper.default.get(SpConstants.USER_STATUS, '') || '0' | ||
| 33 | if (this.action.params) { | 36 | if (this.action.params) { |
| 34 | if (this.action.params.contentID) { | 37 | if (this.action.params.contentID) { |
| 35 | contentId = this.action.params?.contentID | 38 | contentId = this.action.params?.contentID |
| @@ -56,8 +59,8 @@ export struct ImageAndTextWebComponent { | @@ -56,8 +59,8 @@ export struct ImageAndTextWebComponent { | ||
| 56 | 59 | ||
| 57 | // TODO 对接user信息、登录情况 | 60 | // TODO 对接user信息、登录情况 |
| 58 | let h5ReceiveDataExtraBean: H5ReceiveDataExtraBean = { | 61 | let h5ReceiveDataExtraBean: H5ReceiveDataExtraBean = { |
| 59 | - creatorId: '', | ||
| 60 | - isLogin: '0', | 62 | + creatorId: creatorId, |
| 63 | + isLogin: isLogin, | ||
| 61 | networkStatus: 1, | 64 | networkStatus: 1, |
| 62 | loadImageOnlyWifiSwitch: '2', | 65 | loadImageOnlyWifiSwitch: '2', |
| 63 | 66 |
| 1 | import { CommonConstants, ViewType } from 'wdConstant'; | 1 | import { CommonConstants, ViewType } from 'wdConstant'; |
| 2 | import { Logger } from 'wdKit'; | 2 | import { Logger } from 'wdKit'; |
| 3 | import PageViewModel from '../../viewmodel/PageViewModel'; | 3 | import PageViewModel from '../../viewmodel/PageViewModel'; |
| 4 | -import { EmptyComponent } from '../view/EmptyComponent'; | 4 | +import { EmptyComponent, WDViewDefaultType } from '../view/EmptyComponent'; |
| 5 | import { ErrorComponent } from '../view/ErrorComponent'; | 5 | import { ErrorComponent } from '../view/ErrorComponent'; |
| 6 | import PageModel from '../../viewmodel/PageModel'; | 6 | import PageModel from '../../viewmodel/PageModel'; |
| 7 | import { listTouchEvent } from '../../utils/PullDownRefresh'; | 7 | import { listTouchEvent } from '../../utils/PullDownRefresh'; |
| @@ -31,14 +31,18 @@ export struct PageComponent { | @@ -31,14 +31,18 @@ export struct PageComponent { | ||
| 31 | build() { | 31 | build() { |
| 32 | Column() { | 32 | Column() { |
| 33 | if (this.pageModel.viewType == ViewType.LOADING) { | 33 | if (this.pageModel.viewType == ViewType.LOADING) { |
| 34 | - // LoadingComponent() | ||
| 35 | this.LoadingLayout() | 34 | this.LoadingLayout() |
| 36 | - } else if (this.pageModel.viewType == ViewType.ERROR) { | ||
| 37 | - ErrorComponent() | ||
| 38 | - } else if (this.pageModel.viewType == ViewType.EMPTY) { | ||
| 39 | - EmptyComponent() | ||
| 40 | - } else { | 35 | + } else if (this.pageModel.viewType == ViewType.LOADED) { |
| 41 | this.ListLayout() | 36 | this.ListLayout() |
| 37 | + } else if (this.pageModel.viewType == ViewType.EMPTY) { | ||
| 38 | + //缺省页 | ||
| 39 | + EmptyComponent({ | ||
| 40 | + emptyType: this.pageModel.emptyType, | ||
| 41 | + emptyButton: true, | ||
| 42 | + retry: () => { | ||
| 43 | + this.getData() | ||
| 44 | + } | ||
| 45 | + }) | ||
| 42 | } | 46 | } |
| 43 | } | 47 | } |
| 44 | .width(CommonConstants.FULL_PARENT) | 48 | .width(CommonConstants.FULL_PARENT) |
| 1 | import { PageDTO, CompDTO, PageInfoDTO, ContentDTO } from 'wdBean'; | 1 | import { PageDTO, CompDTO, PageInfoDTO, ContentDTO } from 'wdBean'; |
| 2 | import { CompStyle, ViewType } from 'wdConstant/Index'; | 2 | import { CompStyle, ViewType } from 'wdConstant/Index'; |
| 3 | -import { CollectionUtils, DateTimeUtils, Logger } from 'wdKit'; | 3 | +import { CollectionUtils, DateTimeUtils, Logger, NetworkUtil } 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'; |
| 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 | import PageAdModel from './PageAdvModel'; |
| 10 | +import { WDViewDefaultType } from '../components/view/EmptyComponent'; | ||
| 10 | 11 | ||
| 11 | const TAG = 'PageHelper'; | 12 | const TAG = 'PageHelper'; |
| 12 | 13 | ||
| @@ -14,14 +15,12 @@ const TAG = 'PageHelper'; | @@ -14,14 +15,12 @@ const TAG = 'PageHelper'; | ||
| 14 | * 处理返回后的数据 | 15 | * 处理返回后的数据 |
| 15 | */ | 16 | */ |
| 16 | export class PageHelper { | 17 | export class PageHelper { |
| 17 | - | ||
| 18 | - | ||
| 19 | /** | 18 | /** |
| 20 | * 刷新数据 | 19 | * 刷新数据 |
| 21 | */ | 20 | */ |
| 22 | - async refreshUI(pageModel: PageModel,pageAdvModel:PageAdModel) { | 21 | + async refreshUI(pageModel: PageModel, pageAdvModel: PageAdModel) { |
| 23 | pageModel.loadStrategy = 2 | 22 | pageModel.loadStrategy = 2 |
| 24 | - this.getPageInfo(pageModel,pageAdvModel) | 23 | + this.getPageInfo(pageModel, pageAdvModel) |
| 25 | } | 24 | } |
| 26 | 25 | ||
| 27 | /** | 26 | /** |
| @@ -36,28 +35,36 @@ export class PageHelper { | @@ -36,28 +35,36 @@ export class PageHelper { | ||
| 36 | /** | 35 | /** |
| 37 | * 进页面请求数据 | 36 | * 进页面请求数据 |
| 38 | */ | 37 | */ |
| 39 | - async getInitData(pageModel: PageModel,pageAdvModel:PageAdModel) { | 38 | + async getInitData(pageModel: PageModel, pageAdvModel: PageAdModel) { |
| 40 | pageModel.loadStrategy = 1 | 39 | pageModel.loadStrategy = 1 |
| 41 | - this.getPageInfo(pageModel,pageAdvModel) | 40 | + let netStatus = NetworkUtil.isNetConnected() |
| 41 | + if (netStatus) { | ||
| 42 | + this.getPageInfo(pageModel, pageAdvModel) | ||
| 43 | + } else { | ||
| 44 | + pageModel.viewType = ViewType.EMPTY; | ||
| 45 | + pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_NoNetwork; | ||
| 46 | + } | ||
| 42 | } | 47 | } |
| 43 | 48 | ||
| 44 | - async getPageInfo(pageModel: PageModel,pageAdvModel:PageAdModel) { | 49 | + getPageInfo(pageModel: PageModel, pageAdvModel: PageAdModel) { |
| 45 | pageModel.currentPage = 1; | 50 | pageModel.currentPage = 1; |
| 46 | - let pageInfo = await PageViewModel.getPageInfo(pageModel.pageId); | ||
| 47 | - if (pageInfo == null) { | 51 | + PageViewModel.getPageInfo(pageModel.pageId).then(pageInfo => { |
| 52 | + if (pageInfo == null) { | ||
| 53 | + pageModel.viewType = ViewType.EMPTY; | ||
| 54 | + pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_NoListContent; | ||
| 55 | + return; | ||
| 56 | + } | ||
| 57 | + pageModel.pageInfo = pageInfo; | ||
| 58 | + //解析广告资源 | ||
| 59 | + pageAdvModel.analysisAdvSource(pageInfo); | ||
| 60 | + this.parseGroup(pageModel) | ||
| 61 | + }).catch(() => { | ||
| 48 | pageModel.viewType = ViewType.EMPTY; | 62 | pageModel.viewType = ViewType.EMPTY; |
| 49 | - return; | ||
| 50 | - } | ||
| 51 | - pageModel.pageInfo = pageInfo; | ||
| 52 | - //解析广告资源 | ||
| 53 | - pageAdvModel.analysisAdvSource(pageInfo) | ||
| 54 | - | ||
| 55 | - this.parseGroup(pageModel) | ||
| 56 | - | 63 | + pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_ContentFailed; |
| 64 | + }) | ||
| 57 | } | 65 | } |
| 58 | 66 | ||
| 59 | 67 | ||
| 60 | - | ||
| 61 | async parseGroup(pageModel: PageModel) { | 68 | async parseGroup(pageModel: PageModel) { |
| 62 | let pageInfo: PageInfoDTO = pageModel.pageInfo | 69 | let pageInfo: PageInfoDTO = pageModel.pageInfo |
| 63 | pageModel.groupList = [] | 70 | pageModel.groupList = [] |
| @@ -84,6 +91,8 @@ export class PageHelper { | @@ -84,6 +91,8 @@ export class PageHelper { | ||
| 84 | // 没数据,展示空页面 | 91 | // 没数据,展示空页面 |
| 85 | Logger.debug(TAG, 'aboutToAppear, data response page ' + pageModel.pageId + ', comp list is empty.'); | 92 | Logger.debug(TAG, 'aboutToAppear, data response page ' + pageModel.pageId + ', comp list is empty.'); |
| 86 | pageModel.viewType = ViewType.EMPTY; | 93 | pageModel.viewType = ViewType.EMPTY; |
| 94 | + pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_NoListContent; | ||
| 95 | + | ||
| 87 | } | 96 | } |
| 88 | } | 97 | } |
| 89 | 98 |
| @@ -5,6 +5,7 @@ import { RefreshConstants as Const } from '../utils/RefreshConstants'; | @@ -5,6 +5,7 @@ import { RefreshConstants as Const } from '../utils/RefreshConstants'; | ||
| 5 | import { PageUIReqBean } from '../components/page/bean/PageUIReqBean'; | 5 | import { PageUIReqBean } from '../components/page/bean/PageUIReqBean'; |
| 6 | import { GroupInfoDTO, PageInfoDTO } from 'wdBean/src/main/ets/bean/navigation/PageInfoDTO'; | 6 | import { GroupInfoDTO, PageInfoDTO } from 'wdBean/src/main/ets/bean/navigation/PageInfoDTO'; |
| 7 | import { AdvRuleBean, CompAdvBean } from 'wdBean/src/main/ets/bean/adv/AdvsRuleBean'; | 7 | import { AdvRuleBean, CompAdvBean } from 'wdBean/src/main/ets/bean/adv/AdvsRuleBean'; |
| 8 | +import { WDViewDefaultType } from '../components/view/EmptyComponent'; | ||
| 8 | 9 | ||
| 9 | /** | 10 | /** |
| 10 | * 页面下拉刷新、上拉加载数据bean。 | 11 | * 页面下拉刷新、上拉加载数据bean。 |
| @@ -38,6 +39,7 @@ export default class PageModel { | @@ -38,6 +39,7 @@ export default class PageModel { | ||
| 38 | isVisiblePullUpLoad: boolean = false; | 39 | isVisiblePullUpLoad: boolean = false; |
| 39 | offsetY: number = 0; | 40 | offsetY: number = 0; |
| 40 | viewType: number = ViewType.LOADING; | 41 | viewType: number = ViewType.LOADING; |
| 42 | + emptyType: WDViewDefaultType = WDViewDefaultType.WDViewDefaultType_Default | ||
| 41 | hasMore: boolean = true; | 43 | hasMore: boolean = true; |
| 42 | startIndex = 0; | 44 | startIndex = 0; |
| 43 | endIndex = 0; | 45 | endIndex = 0; |
-
Please register or login to post a comment