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
yuzhilin
2024-04-25 14:21:24 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
cd5fbabb98ef8e399ac9677ad125e97395b8fb1b
cd5fbabb
1 parent
448017f7
图文列表缺省页
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
48 additions
and
30 deletions
sight_harmony/features/wdComponent/src/main/ets/components/ImageAndTextWebComponent.ets
sight_harmony/features/wdComponent/src/main/ets/components/page/PageComponent.ets
sight_harmony/features/wdComponent/src/main/ets/viewmodel/PageHelper.ets
sight_harmony/features/wdComponent/src/main/ets/viewmodel/PageModel.ets
sight_harmony/features/wdComponent/src/main/ets/components/ImageAndTextWebComponent.ets
View file @
cd5fbab
...
...
@@ -6,7 +6,8 @@ import {
H5ReceiveDetailBean,
ResponseBean
} from 'wdBean';
import { Logger } from 'wdKit';
import { Logger, SPHelper } from 'wdKit';
import { SpConstants } from 'wdConstant';
import { WdWebLocalComponent } from 'wdWebComponent';
import { NativeCallH5Type } from 'wdWebComponent/src/main/ets/pages/NativeCallH5Type';
import { BridgeWebViewControl } from 'wdJsBridge/Index';
...
...
@@ -22,7 +23,7 @@ export struct ImageAndTextWebComponent {
private webPrepared = false;
private dataPrepared = false;
onDetailDataUpdated() {
async
onDetailDataUpdated() {
if (this.action) {
let contentId: string = ''
let contentType: string = ''
...
...
@@ -30,6 +31,8 @@ export struct ImageAndTextWebComponent {
let channelId: string = ''
let compId: string = ''
let sourcePage: string = '5'
let creatorId = await SPHelper.default.get(SpConstants.USER_CREATOR_ID, '') || ''
let isLogin = await SPHelper.default.get(SpConstants.USER_STATUS, '') || '0'
if (this.action.params) {
if (this.action.params.contentID) {
contentId = this.action.params?.contentID
...
...
@@ -56,8 +59,8 @@ export struct ImageAndTextWebComponent {
// TODO 对接user信息、登录情况
let h5ReceiveDataExtraBean: H5ReceiveDataExtraBean = {
creatorId: '',
isLogin: '0',
creatorId: creatorId,
isLogin: isLogin,
networkStatus: 1,
loadImageOnlyWifiSwitch: '2',
...
...
sight_harmony/features/wdComponent/src/main/ets/components/page/PageComponent.ets
View file @
cd5fbab
import { CommonConstants, ViewType } from 'wdConstant';
import { Logger } from 'wdKit';
import PageViewModel from '../../viewmodel/PageViewModel';
import { EmptyComponent } from '../view/EmptyComponent';
import { EmptyComponent
, WDViewDefaultType
} from '../view/EmptyComponent';
import { ErrorComponent } from '../view/ErrorComponent';
import PageModel from '../../viewmodel/PageModel';
import { listTouchEvent } from '../../utils/PullDownRefresh';
...
...
@@ -31,14 +31,18 @@ export struct PageComponent {
build() {
Column() {
if (this.pageModel.viewType == ViewType.LOADING) {
// LoadingComponent()
this.LoadingLayout()
} else if (this.pageModel.viewType == ViewType.ERROR) {
ErrorComponent()
} else if (this.pageModel.viewType == ViewType.EMPTY) {
EmptyComponent()
} else {
} else if (this.pageModel.viewType == ViewType.LOADED) {
this.ListLayout()
} else if (this.pageModel.viewType == ViewType.EMPTY) {
//缺省页
EmptyComponent({
emptyType: this.pageModel.emptyType,
emptyButton: true,
retry: () => {
this.getData()
}
})
}
}
.width(CommonConstants.FULL_PARENT)
...
...
sight_harmony/features/wdComponent/src/main/ets/viewmodel/PageHelper.ets
View file @
cd5fbab
import { PageDTO, CompDTO, PageInfoDTO, ContentDTO } from 'wdBean';
import { CompStyle, ViewType } from 'wdConstant/Index';
import { CollectionUtils, DateTimeUtils, Logger } from 'wdKit';
import { CollectionUtils, DateTimeUtils, Logger
, NetworkUtil
} from 'wdKit';
import { closeRefresh } from '../utils/PullDownRefresh';
import PageModel from './PageModel';
import PageViewModel from './PageViewModel';
import { promptAction } from '@kit.ArkUI';
import { AdvRuleBean } from 'wdBean/src/main/ets/bean/adv/AdvsRuleBean';
import PageAdModel from './PageAdvModel';
import { WDViewDefaultType } from '../components/view/EmptyComponent';
const TAG = 'PageHelper';
...
...
@@ -14,14 +15,12 @@ const TAG = 'PageHelper';
* 处理返回后的数据
*/
export class PageHelper {
/**
* 刷新数据
*/
async refreshUI(pageModel: PageModel,
pageAdvModel:
PageAdModel) {
async refreshUI(pageModel: PageModel,
pageAdvModel:
PageAdModel) {
pageModel.loadStrategy = 2
this.getPageInfo(pageModel,pageAdvModel)
this.getPageInfo(pageModel,
pageAdvModel)
}
/**
...
...
@@ -36,28 +35,36 @@ export class PageHelper {
/**
* 进页面请求数据
*/
async getInitData(pageModel: PageModel,
pageAdvModel:
PageAdModel) {
async getInitData(pageModel: PageModel,
pageAdvModel:
PageAdModel) {
pageModel.loadStrategy = 1
this.getPageInfo(pageModel,pageAdvModel)
let netStatus = NetworkUtil.isNetConnected()
if (netStatus) {
this.getPageInfo(pageModel, pageAdvModel)
} else {
pageModel.viewType = ViewType.EMPTY;
pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_NoNetwork;
}
}
async getPageInfo(pageModel: PageModel,pageAdvModel:
PageAdModel) {
getPageInfo(pageModel: PageModel, pageAdvModel:
PageAdModel) {
pageModel.currentPage = 1;
let pageInfo = await PageViewModel.getPageInfo(pageModel.pageId);
if (pageInfo == null) {
PageViewModel.getPageInfo(pageModel.pageId).then(pageInfo => {
if (pageInfo == null) {
pageModel.viewType = ViewType.EMPTY;
pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_NoListContent;
return;
}
pageModel.pageInfo = pageInfo;
//解析广告资源
pageAdvModel.analysisAdvSource(pageInfo);
this.parseGroup(pageModel)
}).catch(() => {
pageModel.viewType = ViewType.EMPTY;
return;
}
pageModel.pageInfo = pageInfo;
//解析广告资源
pageAdvModel.analysisAdvSource(pageInfo)
this.parseGroup(pageModel)
pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_ContentFailed;
})
}
async parseGroup(pageModel: PageModel) {
let pageInfo: PageInfoDTO = pageModel.pageInfo
pageModel.groupList = []
...
...
@@ -84,6 +91,8 @@ export class PageHelper {
// 没数据,展示空页面
Logger.debug(TAG, 'aboutToAppear, data response page ' + pageModel.pageId + ', comp list is empty.');
pageModel.viewType = ViewType.EMPTY;
pageModel.emptyType = WDViewDefaultType.WDViewDefaultType_NoListContent;
}
}
...
...
sight_harmony/features/wdComponent/src/main/ets/viewmodel/PageModel.ets
View file @
cd5fbab
...
...
@@ -5,6 +5,7 @@ import { RefreshConstants as Const } from '../utils/RefreshConstants';
import { PageUIReqBean } from '../components/page/bean/PageUIReqBean';
import { GroupInfoDTO, PageInfoDTO } from 'wdBean/src/main/ets/bean/navigation/PageInfoDTO';
import { AdvRuleBean, CompAdvBean } from 'wdBean/src/main/ets/bean/adv/AdvsRuleBean';
import { WDViewDefaultType } from '../components/view/EmptyComponent';
/**
* 页面下拉刷新、上拉加载数据bean。
...
...
@@ -38,6 +39,7 @@ export default class PageModel {
isVisiblePullUpLoad: boolean = false;
offsetY: number = 0;
viewType: number = ViewType.LOADING;
emptyType: WDViewDefaultType = WDViewDefaultType.WDViewDefaultType_Default
hasMore: boolean = true;
startIndex = 0;
endIndex = 0;
...
...
Please
register
or
login
to post a comment