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
liyubing
2024-05-20 15:48:36 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
f68359f1d4c266aeb86bdc3fd9b8a999259a6d85
f68359f1
1 parent
6f72719a
feat(信息流):广告稿件图片 非wifi展示图功能
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
66 additions
and
30 deletions
sight_harmony/build-profile.json5
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/AdvCardParser.ets
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvBigImageComponent.ets
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvGanMiComponent.ets
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvLongImageComponent.ets
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvSmallImageComponent.ets
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvThreeImageComponent.ets
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvVideoComponent.ets
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvVideoExComponent.ets
sight_harmony/features/wdComponent/src/main/resources/base/element/string.json
sight_harmony/build-profile.json5
View file @
f68359f
...
...
@@ -34,6 +34,7 @@
{
"name"
:
"default"
,
"signingConfig"
:
"default"
,
"compileSdkVersion"
:
"5.0.0(12)"
,
"compatibleSdkVersion"
:
"5.0.0(12)"
,
"runtimeOS"
:
"HarmonyOS"
,
}
...
...
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/AdvCardParser.ets
View file @
f68359f
...
...
@@ -22,6 +22,8 @@ export struct AdvCardParser {
@State compDTO: CompDTO = {} as CompDTO;
pageModel: PageModel = new PageModel();
build() {
this.contentBuilder(this.pageModel, this.compDTO);
}
...
...
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvBigImageComponent.ets
View file @
f68359f
import { CompDTO } from 'wdBean';
import { CommonConstants } from 'wdConstant/Index';
import { ProcessUtils } from 'wdRouter';
import { onlyWifiLoadImg } from '../../utils/lazyloadImg';
import PageModel from '../../viewmodel/PageModel';
import { CardAdvBottom } from './CardAdvBottom';
...
...
@@ -17,8 +18,11 @@ const TAG: string = 'Card2Component';
@Component
export struct CardAdvBigImageComponent {
@State compDTO: CompDTO = {} as CompDTO
@State loadImg: boolean = false;
pageModel: PageModel = new PageModel();
aboutToAppear(): void {
async aboutToAppear(): Promise<void> {
this.loadImg = await onlyWifiLoadImg();
}
...
...
@@ -33,7 +37,8 @@ export struct CardAdvBigImageComponent {
//新闻标题
Text(this.compDTO.matInfo.advTitle).bottomTextStyle().margin({ bottom: 8, })
//大图
Image(this.compDTO.matInfo.matImageUrl[0])
Image(this.loadImg ? this.compDTO.matInfo.matImageUrl[0] : '')
.backgroundColor(this.loadImg ? $r('app.color.color_B0B0B0') : 0xf5f5f5)
.width(CommonConstants.FULL_WIDTH)
.aspectRatio(16 / 9)
.borderRadius(4)
...
...
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvGanMiComponent.ets
View file @
f68359f
...
...
@@ -4,6 +4,7 @@ import { AdvExtraData, AdvExtraItemData } from 'wdBean/src/main/ets/bean/adv/Adv
import { CompAdvMatInfoBean } from 'wdBean/src/main/ets/bean/adv/CompAdvInfoBean';
import { CommonConstants } from 'wdConstant/Index';
import { ProcessUtils } from 'wdRouter';
import { onlyWifiLoadImg } from '../../utils/lazyloadImg';
import PageModel from '../../viewmodel/PageModel';
import { CardAdvTop } from './CardAdvTop';
...
...
@@ -23,14 +24,14 @@ export struct CardAdvGanMiComponent {
@State advExtraData: AdvExtraData = {} as AdvExtraData
@State advLength: number = 0;
pageModel: PageModel = new PageModel();
@State loadImg: boolean = false;
aboutToAppear(): void {
async aboutToAppear(): Promise<void> {
this.loadImg = await onlyWifiLoadImg();
let extraData = this.compDTO.matInfo.extraData
let labelDTO = JSON.parse(extraData) as AdvExtraData
this.advExtraData = labelDTO
//this.advExtraData.item = [this.advExtraData.item[0]]
// this.advExtraData.item[2].title ="我爱你中国我爱你中国我爱你中国我爱你中国我爱你中国我爱你中国我爱你中国我爱你中国我爱你中国我爱你中国我爱你中国我爱你中国我爱你中国我爱你中国我爱你中国"
this.advLength = this.advExtraData.item.length
}
...
...
@@ -46,8 +47,9 @@ export struct CardAdvGanMiComponent {
Row() {
Stack() {
//长图
Image(this.
advExtraData.itemTopImage
)
Image(this.
loadImg ? this.advExtraData.itemTopImage : ''
)
.width(CommonConstants.FULL_WIDTH)
.backgroundColor(this.loadImg ? $r('app.color.color_B0B0B0') : 0xf5f5f5)
.aspectRatio(343 / 40)
.borderRadius(4)
.borderWidth(0.5)
...
...
@@ -73,8 +75,9 @@ export struct CardAdvGanMiComponent {
// 广告列表信息
Column() {
Image(
content.image
)
Image(
this.loadImg ? content.image : ''
)
.width('100%')
.backgroundColor(this.loadImg ? $r('app.color.color_B0B0B0') : 0xf5f5f5)
.aspectRatio(150 / 84)
.borderWidth(0.5)
.borderColor($r('app.color.color_0D000000'))
...
...
@@ -84,7 +87,7 @@ export struct CardAdvGanMiComponent {
.fontSize('16fp')
.fontColor($r('app.color.color_222222'))
.fontSize('15fp')
.maxLines(
3
)
.maxLines(
2
)
.lineHeight(20)
.textOverflow({ overflow: TextOverflow.Ellipsis })
.width('100%')
...
...
@@ -143,7 +146,9 @@ function commonButton(advExtraData: AdvExtraData) {
Row() {
Row() {
Blank()
Text('查看更多').fontColor('#222222').fontSize('14fp')
Text(advExtraData.itemMore.title == null ? $r('app.string.look_more') : advExtraData.itemMore.title)
.fontColor('#222222')
.fontSize('14fp')
Image($r('app.media.icon_comp_more_right_red')).width(16).height(16)
Blank()
...
...
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvLongImageComponent.ets
View file @
f68359f
...
...
@@ -2,6 +2,7 @@
import { CompDTO } from 'wdBean';
import { CommonConstants, CompStyle } from 'wdConstant/Index';
import { ProcessUtils } from 'wdRouter';
import { onlyWifiLoadImg } from '../../utils/lazyloadImg';
import PageModel from '../../viewmodel/PageModel';
import { CardAdvBottom } from './CardAdvBottom';
...
...
@@ -20,8 +21,10 @@ export struct CardAdvLongImageComponent {
@State compDTO: CompDTO = {} as CompDTO
@State haveTitle: boolean = true
pageModel: PageModel = new PageModel();
@State loadImg: boolean = false;
aboutToAppear(): void {
async aboutToAppear(): Promise<void> {
this.loadImg = await onlyWifiLoadImg();
this.haveTitle = this.compDTO.matInfo.advSubType === CompStyle.Card_Adv_7;
}
...
...
@@ -37,7 +40,8 @@ export struct CardAdvLongImageComponent {
Text(this.compDTO.matInfo.advTitle).width('100%').bottomTextStyle().margin({ bottom: 8, })
}
//长图
Image(this.compDTO.matInfo.matImageUrl[0])
Image(this.loadImg ? this.compDTO.matInfo.matImageUrl[0] : '')
.backgroundColor(this.loadImg ? $r('app.color.color_B0B0B0') : 0xf5f5f5)
.width(CommonConstants.FULL_WIDTH)
.aspectRatio(343 / 96)
.borderRadius(4)
...
...
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvSmallImageComponent.ets
View file @
f68359f
...
...
@@ -6,6 +6,7 @@ import measure from '@ohos.measure';
import { DisplayUtils } from 'wdKit/Index';
import { CardAdvBottom } from './CardAdvBottom';
import PageModel from '../../viewmodel/PageModel';
import { onlyWifiLoadImg } from '../../utils/lazyloadImg';
const TAG: string = 'CardAdvSmallImageComponent';
...
...
@@ -22,7 +23,10 @@ export struct CardAdvSmallImageComponent {
@State compDTO: CompDTO = {} as CompDTO
@State isBigThreeLine: boolean = false // 标题的行数大于等于3行 是true
pageModel: PageModel = new PageModel();
aboutToAppear(): void {
@State loadImg: boolean = false;
async aboutToAppear(): Promise<void> {
this.loadImg = await onlyWifiLoadImg();
// 计算标题文本行数
let screenWith = DisplayUtils.getDeviceWidth();
...
...
@@ -54,14 +58,14 @@ export struct CardAdvSmallImageComponent {
.id("title_name")
// 广告图
Image(this.
compDTO.matInfo.matImageUrl[0]
)
Image(this.
loadImg ? this.compDTO.matInfo.matImageUrl[0] : ''
)
.width('34%')
.aspectRatio(3 / 2)
.id('adv_imag')
.backgroundColor(this.loadImg ? $r('app.color.color_B0B0B0') : 0xf5f5f5)
.borderWidth(0.5)
.borderColor($r('app.color.color_0D000000'))
.borderRadius(4)
//.alt('wwww.baidu.com')
.borderRadius(4)//.alt('wwww.baidu.com')
.alignRules({
top: { anchor: 'title_name', align: VerticalAlign.Top },
left: { anchor: 'title_name', align: HorizontalAlign.End },
...
...
@@ -69,7 +73,7 @@ export struct CardAdvSmallImageComponent {
.margin({ left: 12 })
CardAdvBottom({
pageModel:this.pageModel,compDTO:this.compDTO
}).width('62%').id('bottom_adv').alignRules({
CardAdvBottom({
pageModel: this.pageModel, compDTO: this.compDTO
}).width('62%').id('bottom_adv').alignRules({
bottom: { anchor: this.isBigThreeLine ? '' : 'adv_imag', align: VerticalAlign.Bottom },
right: { anchor: this.isBigThreeLine ? '' : 'adv_imag', align: HorizontalAlign.Start },
top: { anchor: this.isBigThreeLine ? 'title_name' : '', align: VerticalAlign.Bottom },
...
...
@@ -94,13 +98,15 @@ export struct CardAdvSmallImageComponent {
}
// 获取文本几行
private getTextLineNum(text: string, constraintWidth: number, lineHeight: number, fontSize: number | string | Resource) {
private getTextLineNum(text: string, constraintWidth: number, lineHeight: number,
fontSize: number | string | Resource) {
let size = this.topMeasureText(text, constraintWidth, lineHeight, fontSize)
let height: number = Number(size.height)
return Math.ceil(px2vp(height) / lineHeight)
}
private topMeasureText(text: string, constraintWidth: number, lineHeight: number, fontSize: number | string | Resource) {
private topMeasureText(text: string, constraintWidth: number, lineHeight: number,
fontSize: number | string | Resource) {
return measure.measureTextSize({
textContent: text,
fontSize: fontSize,
...
...
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvThreeImageComponent.ets
View file @
f68359f
...
...
@@ -2,6 +2,7 @@
import { CompDTO } from 'wdBean';
import { CommonConstants } from 'wdConstant/Index';
import { ProcessUtils } from 'wdRouter';
import { onlyWifiLoadImg } from '../../utils/lazyloadImg';
import PageModel from '../../viewmodel/PageModel';
import { CardAdvBottom } from './CardAdvBottom';
...
...
@@ -18,9 +19,11 @@ const TAG: string = 'Card2Component';
@Component
export struct CardAdvThreeImageComponent {
@State compDTO: CompDTO = {} as CompDTO
@State loadImg: boolean = false;
pageModel: PageModel = new PageModel();
aboutToAppear(): void {
async aboutToAppear(): Promise<void> {
this.loadImg = await onlyWifiLoadImg();
}
aboutToDisappear(): void {
...
...
@@ -43,7 +46,8 @@ export struct CardAdvThreeImageComponent {
ForEach(this.compDTO.matInfo.matImageUrl, (url: string, index: number) => {
if (index < 3) {
GridCol({ span: { xs: 4 } }) {
Image(url)
Image(this.loadImg ? url : '')
.backgroundColor(this.loadImg ? $r('app.color.color_B0B0B0') : 0xf5f5f5)
.width('100%')
.aspectRatio(113 / 75)
.borderRadius({
...
...
@@ -62,7 +66,7 @@ export struct CardAdvThreeImageComponent {
.margin({ top: 8 })
// 广告工具组件
CardAdvBottom({
pageModel:this.pageModel,compDTO:this.compDTO
}).width('100%').margin({ top: 8 })
CardAdvBottom({
pageModel: this.pageModel, compDTO: this.compDTO
}).width('100%').margin({ top: 8 })
}
.width('100%')
.justifyContent(FlexAlign.Start)
...
...
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvVideoComponent.ets
View file @
f68359f
...
...
@@ -2,6 +2,7 @@
import { CompDTO, ContentDTO } from 'wdBean';
import { CommonConstants } from 'wdConstant/Index';
import { ProcessUtils } from 'wdRouter';
import { onlyWifiLoadImg } from '../../utils/lazyloadImg';
import PageModel from '../../viewmodel/PageModel';
import { CardMediaInfo } from '../cardCommon/CardMediaInfo';
import { CardAdvBottom } from './CardAdvBottom';
...
...
@@ -20,11 +21,11 @@ const TAG: string = 'Card2Component';
export struct CardAdvVideoComponent {
@State compDTO: CompDTO = {} as CompDTO
@State contentDTO: ContentDTO = new ContentDTO()
@State loadImg: boolean = false;
pageModel: PageModel = new PageModel();
aboutToAppear(): void {
// this.contentDTO.objectType = '1'
// this.contentDTO.videoInfo = { videoDuration: 1000 } as VideoInfoDTO
async aboutToAppear(): Promise<void> {
this.loadImg = await onlyWifiLoadImg();
}
aboutToDisappear(): void {
...
...
@@ -39,7 +40,8 @@ export struct CardAdvVideoComponent {
Text(this.compDTO.matInfo.advTitle).bottomTextStyle()
//大图
Stack() {
Image(this.compDTO.matInfo.matImageUrl[0])
Image(this.loadImg ? this.compDTO.matInfo.matImageUrl[0] : '')
.backgroundColor(this.loadImg ? $r('app.color.color_B0B0B0') : 0xf5f5f5)
.width(CommonConstants.FULL_WIDTH)
.aspectRatio(16 / 9)
.borderRadius(4)
...
...
@@ -54,7 +56,7 @@ export struct CardAdvVideoComponent {
.width(CommonConstants.FULL_WIDTH)
.margin({ top: 8 })
CardAdvBottom({
pageModel:this.pageModel,compDTO:this.compDTO
}).margin({
CardAdvBottom({
pageModel: this.pageModel, compDTO: this.compDTO
}).margin({
top: 8,
})
}
...
...
sight_harmony/features/wdComponent/src/main/ets/components/cardViewAdv/CardAdvVideoExComponent.ets
View file @
f68359f
...
...
@@ -3,6 +3,7 @@ import { AdvExtraData, AdvExtraItemData } from 'wdBean/src/main/ets/bean/adv/Adv
import { CompAdvMatInfoBean } from 'wdBean/src/main/ets/bean/adv/CompAdvInfoBean';
import { CommonConstants } from 'wdConstant/Index';
import { ProcessUtils } from 'wdRouter';
import { onlyWifiLoadImg } from '../../utils/lazyloadImg';
import PageModel from '../../viewmodel/PageModel';
import { CardAdvTop } from './CardAdvTop';
...
...
@@ -21,9 +22,10 @@ export struct CardAdvVideoExComponent {
@State compDTO: CompDTO = {} as CompDTO
@State advExtraData: AdvExtraData = {} as AdvExtraData
pageModel: PageModel = new PageModel();
@State loadImg: boolean = false;
aboutToAppear(): void {
async aboutToAppear(): Promise<void> {
this.loadImg = await onlyWifiLoadImg();
let extraData = this.compDTO.matInfo.extraData
let labelDTO = JSON.parse(extraData) as AdvExtraData
...
...
@@ -40,14 +42,14 @@ export struct CardAdvVideoExComponent {
Stack() {
//长图
Image(this.
advExtraData.itemTopImage
)
Image(this.
loadImg ? this.advExtraData.itemTopImage : ''
)
.width(CommonConstants.FULL_WIDTH)
.backgroundColor(this.loadImg ? $r('app.color.color_B0B0B0') : 0xf5f5f5)
.aspectRatio(343 / 80)
.borderRadius(4)
.borderWidth(0.5)
.borderColor($r('app.color.color_0D000000'))
CardAdvTop({ pageModel: this.pageModel, compDTO: this.compDTO })
}
.alignContent(Alignment.Top)
...
...
sight_harmony/features/wdComponent/src/main/resources/base/element/string.json
View file @
f68359f
...
...
@@ -102,5 +102,10 @@
"name"
:
"feedback_hideemail"
,
"value"
:
"请输入电话或者邮箱"
}
,
{
"name"
:
"look_more"
,
"value"
:
"查看更多"
}
]
}
\ No newline at end of file
...
...
Please
register
or
login
to post a comment