Showing
4 changed files
with
27 additions
and
23 deletions
| @@ -50,6 +50,8 @@ export struct ImageAndTextPageComponent { | @@ -50,6 +50,8 @@ export struct ImageAndTextPageComponent { | ||
| 50 | // @State operationButtonList: string[] = ['comment', 'collect', 'share'] | 50 | // @State operationButtonList: string[] = ['comment', 'collect', 'share'] |
| 51 | @State operationButtonList: string[] = [] | 51 | @State operationButtonList: string[] = [] |
| 52 | @State isNetConnected: boolean = true | 52 | @State isNetConnected: boolean = true |
| 53 | + @State emptyType: number = 1 // 缺省图类型 | ||
| 54 | + @State detailContentEmpty: boolean = false | ||
| 53 | @State info: Area | null = null | 55 | @State info: Area | null = null |
| 54 | @State likeNum: number = 0 | 56 | @State likeNum: number = 0 |
| 55 | @State reachEndIncreament: number = 0 | 57 | @State reachEndIncreament: number = 0 |
| @@ -141,10 +143,10 @@ export struct ImageAndTextPageComponent { | @@ -141,10 +143,10 @@ export struct ImageAndTextPageComponent { | ||
| 141 | this.reachEndIncreament += 1 | 143 | this.reachEndIncreament += 1 |
| 142 | }) | 144 | }) |
| 143 | 145 | ||
| 144 | - if (!this.isNetConnected) { | 146 | + if (!this.isNetConnected || this.detailContentEmpty) { |
| 145 | EmptyComponent({ | 147 | EmptyComponent({ |
| 146 | - emptyType: 1, | ||
| 147 | - emptyButton: true, | 148 | + emptyType: this.emptyType, |
| 149 | + emptyButton: this.emptyType === 1 ? true : false, | ||
| 148 | retry: () => { | 150 | retry: () => { |
| 149 | this.getDetail() | 151 | this.getDetail() |
| 150 | } | 152 | } |
| @@ -171,12 +173,14 @@ export struct ImageAndTextPageComponent { | @@ -171,12 +173,14 @@ export struct ImageAndTextPageComponent { | ||
| 171 | // 发布时间 | 173 | // 发布时间 |
| 172 | Column() { | 174 | Column() { |
| 173 | Row() { | 175 | Row() { |
| 174 | - Image(this.contentDetailData?.rmhInfo ? $r('app.media.logo_rmh') : $r('app.media.logo_rmrb')) | ||
| 175 | - .width(80) | ||
| 176 | - .height(28) | ||
| 177 | - Text(this.publishTime) | ||
| 178 | - .fontColor($r('app.color.color_B0B0B0')) | ||
| 179 | - .fontSize(13) | 176 | + if(this.isNetConnected && !this.detailContentEmpty) { |
| 177 | + Image(this.contentDetailData?.rmhInfo ? $r('app.media.logo_rmh') : $r('app.media.logo_rmrb')) | ||
| 178 | + .width(80) | ||
| 179 | + .height(28) | ||
| 180 | + Text(this.publishTime) | ||
| 181 | + .fontColor($r('app.color.color_B0B0B0')) | ||
| 182 | + .fontSize(13) | ||
| 183 | + } | ||
| 180 | } | 184 | } |
| 181 | .width(CommonConstants.FULL_WIDTH) | 185 | .width(CommonConstants.FULL_WIDTH) |
| 182 | .height(32) | 186 | .height(32) |
| @@ -202,6 +206,9 @@ export struct ImageAndTextPageComponent { | @@ -202,6 +206,9 @@ export struct ImageAndTextPageComponent { | ||
| 202 | 206 | ||
| 203 | private async getDetail() { | 207 | private async getDetail() { |
| 204 | this.isNetConnected = NetworkUtil.isNetConnected() | 208 | this.isNetConnected = NetworkUtil.isNetConnected() |
| 209 | + if(!this.isNetConnected) { | ||
| 210 | + this.emptyType = 1 | ||
| 211 | + } | ||
| 205 | let contentId: string = '' | 212 | let contentId: string = '' |
| 206 | let relId: string = '' | 213 | let relId: string = '' |
| 207 | let relType: string = '' | 214 | let relType: string = '' |
| @@ -219,6 +226,12 @@ export struct ImageAndTextPageComponent { | @@ -219,6 +226,12 @@ export struct ImageAndTextPageComponent { | ||
| 219 | 226 | ||
| 220 | } | 227 | } |
| 221 | let detailBeans = await DetailViewModel.getDetailPageData(relId, contentId, relType) | 228 | let detailBeans = await DetailViewModel.getDetailPageData(relId, contentId, relType) |
| 229 | + // 判断内容是否已下线,空数组表示下线 | ||
| 230 | + this.detailContentEmpty = detailBeans.length === 0 ? true : false | ||
| 231 | + if(this.detailContentEmpty) { | ||
| 232 | + this.emptyType = 18 | ||
| 233 | + } | ||
| 234 | + console.log(TAG, JSON.stringify(detailBeans)) | ||
| 222 | if (detailBeans && detailBeans.length > 0) { | 235 | if (detailBeans && detailBeans.length > 0) { |
| 223 | this.contentDetailData = detailBeans[0]; | 236 | this.contentDetailData = detailBeans[0]; |
| 224 | let dateTime = | 237 | let dateTime = |
| @@ -66,7 +66,6 @@ export struct Card4Component { | @@ -66,7 +66,6 @@ export struct Card4Component { | ||
| 66 | .textIndent(this.contentDTO.newTags?.length < 5 && this.contentDTO.newTags?.length > 2 ? 58 : | 66 | .textIndent(this.contentDTO.newTags?.length < 5 && this.contentDTO.newTags?.length > 2 ? 58 : |
| 67 | (this.contentDTO.newTags?.length != 0 && this.contentDTO.newTags?.length) || | 67 | (this.contentDTO.newTags?.length != 0 && this.contentDTO.newTags?.length) || |
| 68 | this.contentDTO.objectType == '5' ? 30 : 0) | 68 | this.contentDTO.objectType == '5' ? 30 : 0) |
| 69 | - .alignContent(Alignment.TopStart)// 超出的部分显示省略号。 | ||
| 70 | //三图 | 69 | //三图 |
| 71 | Stack(){ | 70 | Stack(){ |
| 72 | Row() { | 71 | Row() { |
| @@ -63,7 +63,6 @@ export struct Card9Component { | @@ -63,7 +63,6 @@ export struct Card9Component { | ||
| 63 | .textIndent(this.contentDTO.newTags?.length < 5 && this.contentDTO.newTags?.length > 2 ? 58 : | 63 | .textIndent(this.contentDTO.newTags?.length < 5 && this.contentDTO.newTags?.length > 2 ? 58 : |
| 64 | (this.contentDTO.newTags?.length != 0 && this.contentDTO.newTags?.length) || | 64 | (this.contentDTO.newTags?.length != 0 && this.contentDTO.newTags?.length) || |
| 65 | this.contentDTO.objectType == '5' ? 30 : 0) | 65 | this.contentDTO.objectType == '5' ? 30 : 0) |
| 66 | - .alignContent(Alignment.TopStart) | ||
| 67 | 66 | ||
| 68 | } | 67 | } |
| 69 | // 大图 | 68 | // 大图 |
| @@ -23,18 +23,11 @@ export class DetailViewModel extends BaseViewModel { | @@ -23,18 +23,11 @@ export class DetailViewModel extends BaseViewModel { | ||
| 23 | Logger.debug(TAG, 'getDetailPageData contentId: ' + contentId); | 23 | Logger.debug(TAG, 'getDetailPageData contentId: ' + contentId); |
| 24 | return new Promise<ContentDetailDTO[]>((success, error) => { | 24 | return new Promise<ContentDetailDTO[]>((success, error) => { |
| 25 | PageRepository.fetchDetailData(relId, contentId, relType).then((resDTO: ResponseDTO<ContentDetailDTO[]>) => { | 25 | PageRepository.fetchDetailData(relId, contentId, relType).then((resDTO: ResponseDTO<ContentDetailDTO[]>) => { |
| 26 | - if (!resDTO || !resDTO.data) { | ||
| 27 | - Logger.error(TAG, 'getDetailPageData then resDTO is empty'); | ||
| 28 | - error('resDTO is empty'); | ||
| 29 | - return | ||
| 30 | - } | ||
| 31 | - if (resDTO.code != 0) { | ||
| 32 | - Logger.error(TAG, `getDetailPageData then code:${resDTO.code}, message:${resDTO.message}`); | ||
| 33 | - error('resDTO Response Code is failure'); | ||
| 34 | - return | ||
| 35 | - } | ||
| 36 | - Logger.info(TAG, "getDetailPageData then,resDTO.timeStamp:" + resDTO.timestamp); | ||
| 37 | - success(resDTO.data); | 26 | + if(resDTO.data) { |
| 27 | + success(resDTO.data) | ||
| 28 | + } else { | ||
| 29 | + success([] as ContentDetailDTO[]) | ||
| 30 | + }; | ||
| 38 | }).catch((err: Error) => { | 31 | }).catch((err: Error) => { |
| 39 | Logger.error(TAG, `getDetailPageData catch, error.name : ${err.name}, error.message:${err.message}`); | 32 | Logger.error(TAG, `getDetailPageData catch, error.name : ${err.name}, error.message:${err.message}`); |
| 40 | error(err); | 33 | error(err); |
-
Please register or login to post a comment