陈剑华

Merge remote-tracking branch 'origin/main'

Showing 89 changed files with 1645 additions and 929 deletions

Too many changes to show.

To preserve performance only 89 of 89+ files are displayed.

... ... @@ -40,6 +40,7 @@ interface dataObject {
videoLandscape?: string
imgListData?: string
statusBarMode?: string
color?:string
}
/**
... ...
... ... @@ -169,8 +169,6 @@ export class BridgeWebViewControl extends webview.WebviewController {
// messageJson = messageJson.replace("%7B", encodeURIComponent("%7B"));
// messageJson = messageJson.replace("%7D", encodeURIComponent("%7D"));
// messageJson = messageJson.replace("%22", encodeURIComponent("%22"));
// messageJson = messageJson.replace("/\n/g", "\\n").replace("/\r/g", "\\r").replace("/\f/g", "\\f").replace("/\"/g", "\\\"").replace("/\'/g", "\\\'").replace("/\u2028/g", "\\u2028").replace("/\u2029/g", "\\u2029");
let javascriptCommand: string = StringUtils.formatStringForJS(BridgeUtil.JS_HANDLE_MESSAGE_FROM_JAVA, messageJson);
// hilog.error(0xFF00, TAG, 'dispatchMessage111 '+ javascriptCommand.slice(0,2000));
... ...
... ... @@ -189,7 +189,7 @@ export class ProcessUtils {
if (typeof type == "number") {
type = `${type}`
}
// console.log(TAG, 'objectType', `${JSON.stringify(content)}`);
// Logger.debug(TAG, `objectType, ${JSON.stringify(content)}`);
switch (type) {
case ContentConstants.TYPE_NONE:
// Logger.debug(TAG, "processPage, do nothing");
... ... @@ -432,7 +432,8 @@ export class ProcessUtils {
commentId: content?.commentInfo?.commentId,
title: content?.newsTitle
} as ExtraDTO,
targetLayout: content.customParamTargetLayout
targetLayout: content.customParamTargetLayout,
clickComment: content.clickComment
} as Params,
};
WDRouterRule.jumpWithAction(taskAction)
... ... @@ -454,7 +455,8 @@ export class ProcessUtils {
sourcePage: '5',
commentId: content?.commentInfo?.commentId
} as ExtraDTO,
targetLayout: content.customParamTargetLayout
targetLayout: content.customParamTargetLayout,
clickComment: content.clickComment
} as Params,
};
WDRouterRule.jumpWithAction(taskAction)
... ...
export interface eventParams {
event: string;
}
export const enum NativeCallH5Event {
NativeCallH5EventPageWillAppear = '1',
NativeCallH5EventPageWillDisAppear = '2',
NativeCallH5EventAppWillEnterForeground = '3',
NativeCallH5EventAppEnterBackground = '4',
NativeCallH5EventAppPlayingAudio = '5',
NativeCallH5EventUpdateBrowseCount = '6',
NativeCallH5EventStartLoadingOnReuse = '7',
NativeCallH5EventNightModel = '9',
NativeCallH5EventFontSizesChange = '10',
NativeCallH5EventFollowEvent = '11',
NativeCallH5EventLikeEvent = '12'
}
/**
* native调用h5,事件id枚举
* app主动调用h5方法
*/
export const enum NativeCallH5Type {
jsCall_receiveAppData = 'jsCall_receiveAppData',
jsCall_appNotifyEvent = 'jsCall_appNotifyEvent',
// TODO 业务自行新增类型,自行调用,例:
// TODO this.webviewControl.callHandle(NativeCallH5Type.jsCall_receiveAppData,xxxx)
... ...
... ... @@ -16,7 +16,7 @@ export struct WdWebComponent {
webviewControl: BridgeWebViewControl = new BridgeWebViewControl()
onWebPrepared: () => void = () => {
}
receiveH5SendToNativeData: (dataString:string | undefined) => void = () =>{
receiveH5SendToNativeData: (data: Message | undefined) => void = () =>{
}
@Prop isDefaultPage: boolean = false;
... ... @@ -96,7 +96,7 @@ export struct WdWebComponent {
}
if (data.handlerName === H5CallNativeType.jsCall_receiveH5Data) {
if (data.data?.dataSource === WDH5WebDataSource.WDH5WebDataSourceTopicPageInfo) {
this.receiveH5SendToNativeData(data.data?.dataJson)
this.receiveH5SendToNativeData(data)
return
}
}
... ... @@ -110,6 +110,13 @@ export struct WdWebComponent {
private jsCall_currentPageOperate(data: Message) {
if (data.data?.operateType == WDH5WebPageOperationType.WDH5WebPageOperationTypeSetStatusBar) {
WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: data.data?.statusBarMode =='2'?'#ffffff':'#000000'})
return
}
if (data.data?.operateType == WDH5WebPageOperationType.WDH5WebPageOperationTypeBottomBarMaskViewShow ||
data.data?.operateType == WDH5WebPageOperationType.WDH5WebPageOperationTypeBottomBarMaskViewHidden) {
this.receiveH5SendToNativeData(data)
return
}
}
... ...
... ... @@ -4,8 +4,9 @@ import { Logger, WindowModel } from 'wdKit/Index';
import { performJSCallNative } from './JsBridgeBiz';
import { H5CallNativeType } from './H5CallNativeType';
import { Message } from 'wdJsBridge/src/main/ets/bean/Message';
import { DateTimeUtils } from 'wdKit'
import { DateTimeUtils,EmitterUtils,EmitterEventId } from 'wdKit'
import { window } from '@kit.ArkUI';
import { NativeCallH5Type,NativeCallH5Event,eventParams } from './NativeCallH5Type';
const TAG = 'WdWebLocalComponent';
... ... @@ -29,13 +30,20 @@ export struct WdWebLocalComponent {
@State sliderStartTime: string = '';
@State currentTime: number = 0;
@State durationTime: number = 0;
@State progressOpacity: number = 1
@State durationStringTime: string = '';
private progressTimerNumber: number = 0
@State isPause: boolean = true;
controller: VideoController = new VideoController()
@StorageProp('currentBreakpoint') @Watch("currentChanged")currentBreakpoint: string = 'sm';
@State isFullScreen: boolean = false;
@State isEndPlay: boolean = false;
@State mode: CacheMode = CacheMode.None;
@Consume @Watch('pageShowForUpdateData') pageShow :number
@Consume @Watch('pageHideForUpdateData') pageHide :number
currentChanged(){
///折叠屏转换 暂停播放器
this.controller.pause()
... ... @@ -46,6 +54,22 @@ export struct WdWebLocalComponent {
this.webviewControl.refresh()
}
pageShowForUpdateData(){
Logger.debug(TAG, 'APP_PAGE_SHOW'+this.isPageEnd);
let params = {'event':NativeCallH5Event.NativeCallH5EventPageWillAppear} as eventParams;
let jsonString = JSON.stringify(params);
if (this.isPageEnd) {
this.webviewControl.callHandle(NativeCallH5Type.jsCall_appNotifyEvent, jsonString, (data: string) => {
Logger.debug(TAG, "from js data = " + data);
})
}
}
pageHideForUpdateData(){
}
build() {
Column() {
Row() {
... ... @@ -75,6 +99,7 @@ export struct WdWebLocalComponent {
.imageAccess(true)
.mixedMode(MixedMode.All)
.onlineImageAccess(true)
.cacheMode(this.mode)
// .enableNativeEmbedMode(true)
// .layoutMode(WebLayoutMode.FIT_CONTENT)
.nestedScroll({
... ... @@ -94,12 +119,12 @@ export struct WdWebLocalComponent {
url = url.replace("%(?![0-9a-fA-F]{2})", "%25")
.replace("\\+", "%2B");
url = decodeURIComponent(url)
Logger.debug(TAG, 'Web onLoadIntercept url: ' + url);
if (url.startsWith(BridgeUtil.YY_RETURN_DATA)) {
this.webviewControl.handlerReturnData(url)
return true
}
if (url.startsWith(BridgeUtil.YY_OVERRIDE_SCHEMA)) {
Logger.debug(TAG, 'flushMessageQueue:'+url);
// this.webviewControl.flushMessageQueue()
this.webviewControl.receiveDataFromH5(url)
return true
... ... @@ -170,7 +195,7 @@ export struct WdWebLocalComponent {
this.positionLeft = Number(data?.data?.positionLeft) || 0
this.positionTop = Number(data?.data?.positionTop) || 0
this.videoLandscape = data?.data?.videoLandscape || '1'
this.controller.start()
this.startPlay()
}
}
/**
... ... @@ -179,6 +204,7 @@ export struct WdWebLocalComponent {
private defaultPerformJSCallNative: (data: Message, f: Callback) => void = (data: Message, f: Callback) => {
performJSCallNative(data, f)
}
onPageBegin: (url?: string) => void = () => {
Logger.debug(TAG, 'onPageBegin');
this.registerHandlers();
... ... @@ -192,6 +218,7 @@ export struct WdWebLocalComponent {
this.onWebPrepared()
this.isPageEnd = true
}
onLoadIntercept: (url?: string) => boolean = () => {
Logger.debug(TAG, 'onLoadIntercept return false');
return false
... ... @@ -204,6 +231,26 @@ export struct WdWebLocalComponent {
}
}
startPlay() {
this.cancelProgressTimer()
this.controller.start()
this.startProgressTimer()
}
startProgressTimer() {
this.progressTimerNumber = setTimeout(() => {
animateTo({duration: 1000}, () => {
this.progressOpacity = 0
})
}, 3000)
}
cancelProgressTimer() {
if (this.progressTimerNumber > 0) {
clearTimeout(this.progressTimerNumber)
this.progressTimerNumber = 0
}
}
@Builder
videoComp(){
Video({
... ... @@ -219,6 +266,7 @@ export struct WdWebLocalComponent {
.objectFit(ImageFit.Contain)
.onFinish(()=>{
this.isEndPlay = true
this.currentTime = 0
})
.onStart(() => {
this.isPause = false
... ... @@ -246,13 +294,23 @@ export struct WdWebLocalComponent {
WindowModel.shared.setPreferredOrientation(window.Orientation.PORTRAIT)
}
})
.onClick(() => {
animateTo({duration: 1000}, () => {
if (this.progressOpacity <= 0) {
this.progressOpacity = 1
} else {
this.progressOpacity = 0
}
})
})
if (this.isEndPlay){
Column(){
Image($r('app.media.icon_replay')).width(40).height(40)
.onClick(() => {
this.isEndPlay = false
this.controller.start()
this.progressOpacity = 1
this.startPlay()
})
Text('重播').fontColor(Color.White).fontSize(14)
... ... @@ -269,9 +327,10 @@ export struct WdWebLocalComponent {
.height(24)
.onClick(() => {
if (this.isPause) {
this.controller.start()
this.startPlay()
} else {
this.controller.pause()
this.cancelProgressTimer()
}
})
Row() {
... ... @@ -296,6 +355,13 @@ export struct WdWebLocalComponent {
.blockSize({ width: 18, height: 12 })
.onChange((value: number, mode: SliderChangeMode) => {
this.controller.setCurrentTime(value);
if (mode == SliderChangeMode.End) {
if (this.isPause) {
this.startPlay()
} else {
this.startProgressTimer()
}
}
})
Text(DateTimeUtils.getFormattedDuration(this.durationTime * 1000))
.fontSize(12)
... ... @@ -311,7 +377,11 @@ export struct WdWebLocalComponent {
// this.controller.requestFullscreen(true)
// })
}
.opacity(0.8)
.opacity(this.progressOpacity)
.linearGradient({
direction: GradientDirection.Top, // 渐变方向
colors: [[0x20000000, 0.0], [Color.Transparent, 1.0]] // [0x80000000, 0.5],
})
.width("100%")
.justifyContent(FlexAlign.SpaceAround)
}
... ...
... ... @@ -77,6 +77,7 @@ export class ContentDTO implements BaseDTO {
relType: string = '';
newsTitle: string = ''; //单图卡/2行标题/3行标题
publishTime: string = '';
updateTime: string = '';
publishTimestamp: string = '';
visitorComment: number = 0;
fullColumnImgUrls: FullColumnImgUrlDTO[] = [];
... ... @@ -143,6 +144,7 @@ export class ContentDTO implements BaseDTO {
isMourning?: boolean = false;
author: string = ""; ///撰稿人
clickComment:boolean = false;
static clone(old: ContentDTO): ContentDTO {
let content = new ContentDTO();
... ...
... ... @@ -24,6 +24,6 @@ export interface Params {
videoCoverUrl?: string;
pageId?: string;
backVisibility?: boolean; //展示顶部返回栏
clickComment?:boolean;//点击评论按钮进入稿件详情页定位到评论区
targetLayout?: string; // "comment" 表示进入对应页面后,跳转至评论区
}
... ...
... ... @@ -59,6 +59,7 @@ export struct CardParser {
Column() {
// Text('CardParser')
// Text(JSON.stringify(this.contentDTO.appStyle))
// Text(this.contentDTO.newsTitle)
this.contentBuilder(this.contentDTO);
}
}
... ...
... ... @@ -101,6 +101,7 @@ export struct CarderInteraction {
}
.justifyContent(FlexAlign.Center)
.onClick(() => {
this.contentDTO.clickComment = true
ProcessUtils.processPage(this.contentDTO);
})
}
... ...
... ... @@ -86,6 +86,9 @@ export struct DynamicDetailComponent {
@State isScrollTop: boolean = true
@State executedStartTime: number = new Date().getTime()
@State onePicW: number = 0; // 只有一张图时候图片的宽度
@State onePicH: number = 0; // 只有一张图时候图片的高度
pageParam: ParamType = {}
commentListAreaInfo?: Area
lastTimeoutId?: number
... ... @@ -361,17 +364,37 @@ export struct DynamicDetailComponent {
ProcessUtils.gotoMultiPictureListPage(this.contentDetailData.photoList, index)
})
} else {
// GridCol({
// span: { xs: 8 }
// }) {
// Image(item.picPath)
// .width('100%')
// .borderRadius(this.caclImageRadius(index))
// .autoResize(true)
// .opacity(!item.width && !item.height ? 0 : 1)
// .onComplete(callback => {
// item.width = callback?.width || 0;
// item.height = callback?.height || 0;
// })
// }
GridCol({
span: { xs: 8 }
span: this.onePicW > this.onePicH ? 12 : 8
}) {
Image(item.picPath)
.backgroundColor(0xf5f5f5)
.width('100%')
.borderRadius(this.caclImageRadius(index))
.autoResize(true)
.objectFit(ImageFit.Cover)
.autoResize(true)
.aspectRatio(3/4)
.borderRadius(this.caclImageRadius(index))
.borderStyle(BorderStyle.Solid)
.borderWidth(0.5)
.borderColor($r('app.color.color_0D000000'))
.opacity(!item.width && !item.height ? 0 : 1)
.onComplete(callback => {
item.width = callback?.width || 0;
item.height = callback?.height || 0;
.onComplete((event?) => {
this.onePicW = event?.width || 0;
this.onePicH = event?.height || 0;
})
}
.onClick(async (event: ClickEvent) => {
... ...
... ... @@ -199,6 +199,9 @@ export struct H5NewsWebPageComponent {
// 已登录->查询用户对作品点赞、收藏状态
private async getInteractDataStatus() {
if (!HttpUtils.isLogin()) {
return
}
try {
const params: batchLikeAndCollectParams = {
contentList: [
... ...
... ... @@ -40,7 +40,7 @@ import { LottieView } from '../components/lottie/LottieView';
const PATTERN_DATE_CN_RN: string = 'yyyy年MM月dd日 HH:mm';
const TAG: string = 'ImageAndTextPageComponent'
const TAG: string = 'ImageAndTextWebComponent'
/**
* 图文详情页
* */
... ... @@ -52,7 +52,7 @@ export struct ImageAndTextPageComponent {
@State recommendList: ContentDTO[] = []
@State newsStatusOfUser: batchLikeAndCollectResult | undefined = undefined // 点赞、收藏状态
@State interactData: InteractDataDTO = {} as InteractDataDTO
@State isPageEnd: boolean = false
// @State isPageEnd: boolean = false
@State publishTime: string = ''
@State publishCommentModel: publishCommentModel = new publishCommentModel()
// @State operationButtonList: string[] = ['comment', 'collect', 'share']
... ... @@ -77,6 +77,7 @@ export struct ImageAndTextPageComponent {
lastTimeoutId?: number
@State needAnimation: boolean = false;
@State @Watch("webPageIsPageEnd") isPageEnd: boolean = false
@Consume @Watch('pageShowForUpdateData') pageShow :number
@Consume @Watch('pageHideForUpdateData') pageHide :number
... ... @@ -92,6 +93,15 @@ export struct ImageAndTextPageComponent {
TrackingPageBrowse.trackCommonPageExposureEnd(TrackConstants.PageName.Customer_Personal,TrackConstants.PageName.Customer_Personal,duration)
}
webPageIsPageEnd() {
if (this.action.params?.clickComment) {
setTimeout(()=>{
this.pageScrollToCommonent()
},
800)
}
}
build() {
Stack({ alignContent: Alignment.Top }) {
Stack({ alignContent: Alignment.Bottom }) {
... ... @@ -198,8 +208,8 @@ export struct ImageAndTextPageComponent {
.onAreaChange((oldValue: Area, newValue: Area) => {
this.info = newValue
console.log(TAG, "总页面滑动偏移量", this.scroller.currentOffset().yOffset)
console.log(TAG, "总页面滑动偏移量111", newValue.globalPosition.y as number)
// console.log(TAG, "总页面滑动偏移量", this.scroller.currentOffset().yOffset)
// console.log(TAG, "总页面滑动偏移量111", newValue.globalPosition.y as number)
this.checkToScrollCommentArea()
})
// .onMeasureSize()
... ... @@ -245,30 +255,7 @@ export struct ImageAndTextPageComponent {
showMainText:this.showMainText,
styleType: 1,
onCommentIconClick: () => {
const info = componentUtils.getRectangleById('comment');
console.log(TAG, "点击滑动页面", JSON.stringify(info))
//评论区当前位置
let currentCommonentOffSetY = this.info?.globalPosition.y as number
let offSetY = 0
if (currentCommonentOffSetY >= (this.screenHeight-this.bottomHeight) ) {
offSetY = currentCommonentOffSetY-200
}
// if (!this.offsetY) {
// this.offsetY = componentUtils.getRectangleById('comment').windowOffset.y
// }
// 定位到评论区域
if (this.isScrollTop) {
this.scroller.scrollTo({
xOffset: 0,
yOffset: offSetY,
animation: { duration: 1000, curve: Curve.Ease }
})
} else {
this.scroller.scrollEdge(Edge.Top)
}
this.isScrollTop = !this.isScrollTop
this.pageScrollToCommonent()
}
})
}
... ... @@ -288,6 +275,7 @@ export struct ImageAndTextPageComponent {
Text(this.publishTime)
.fontColor($r('app.color.color_B0B0B0'))
.fontSize(13)
.height(20)
}
}
.width(CommonConstants.FULL_WIDTH)
... ... @@ -410,6 +398,9 @@ export struct ImageAndTextPageComponent {
// 已登录->查询用户对作品点赞、收藏状态
private async getInteractDataStatus() {
if (!HttpUtils.isLogin()) {
return
}
try {
const params: batchLikeAndCollectParams = {
contentList: [
... ... @@ -511,7 +502,31 @@ export struct ImageAndTextPageComponent {
}
}
private pageScrollToCommonent() {
const info = componentUtils.getRectangleById('comment');
console.log(TAG, "点击滑动页面", JSON.stringify(info))
//评论区当前位置
let currentCommonentOffSetY = this.info?.globalPosition.y as number
let offSetY = 0
if (currentCommonentOffSetY >= (this.screenHeight-this.bottomHeight) ) {
offSetY = currentCommonentOffSetY-200
}
// 定位到评论区域
if (this.isScrollTop) {
this.scroller.scrollTo({
xOffset: 0,
yOffset: offSetY,
animation: { duration: 1000, curve: Curve.Ease }
})
} else {
this.scroller.scrollEdge(Edge.Top)
}
this.isScrollTop = !this.isScrollTop
}
aboutToAppear() {
Logger.debug(TAG, '文章详情页 aboutToAppear,开始请求接口数据');
this.getDetail()
this.screenHeight = DisplayUtils.getDeviceHeight()
this.initAnimationConfig();
... ...
... ... @@ -24,6 +24,7 @@ export struct ImageAndTextWebComponent {
private webPrepared = false;
private dataPrepared = false;
async onDetailDataUpdated() {
Logger.debug(TAG, '详情内容已获取接口数据');
if (this.action) {
let contentId: string = ''
let contentType: string = ''
... ... @@ -92,6 +93,10 @@ export struct ImageAndTextWebComponent {
}
aboutToAppear(): void {
Logger.debug(TAG, 'H5模板加载控件 aboutToAppear');
}
build() {
Column() {
WdWebLocalComponent({
... ... @@ -115,15 +120,16 @@ export struct ImageAndTextWebComponent {
}
private onWebPrepared() {
Logger.debug(TAG, 'H5模板已加载,prepared');
this.webPrepared = true
this.trySendData2H5()
}
private sendContentData2H5(h5ReceiveAppData: H5ReceiveDetailBean) {
let jsonString = JSON.stringify(h5ReceiveAppData);
Logger.debug('ImageAndTextWebComponent', 'jsCall_receiveAppData',jsonString);
Logger.debug(TAG, '传递html数据至H5 jsCall_receiveAppData',jsonString);
this.webviewControl.callHandle(NativeCallH5Type.jsCall_receiveAppData, jsonString, (data: string) => {
Logger.debug('ImageAndTextWebComponent', "from js data = " + data);
Logger.debug(TAG, "from js data = " + data);
})
}
}
\ No newline at end of file
... ...
... ... @@ -327,7 +327,7 @@ export struct MorningEveningPaperComponent {
compListItem: this.compListItem,
})
.margin({
top: this.isHasTopView || this.audioPlayUrl.length > 0 ? 10 : 44+this.topSafeHeight
top: this.isHasTopView || this.audioPlayUrl.length > 0 ? 0 : 44+this.topSafeHeight
})
}
}
... ...
... ... @@ -155,8 +155,8 @@ export struct MultiPictureDetailItemComponent {
build() {
Swiper(this.swiperControllerItem){
Row(){ // 居中显示
// List(){
// ListItem(){
List(){
ListItem(){
if(this.imageUri != null && (this.imageUri.includes('.gif') || this.imageUri.includes('.GIF'))){
Image(this.imageUri)// TODO:知识点:宽高只根据其尺寸设置一个,通过保持宽高比来设置另一个属性
.alt($r('app.media.datail_imageLoading_w'))
... ... @@ -194,10 +194,10 @@ export struct MultiPictureDetailItemComponent {
this.imageWidth = '100%'
})
}
// }
// }
// .alignListItem(ListItemAlign.Center)
// .scrollBarWidth(0)
}
}
.alignListItem(ListItemAlign.Center)
.scrollBarWidth(0)
}
.justifyContent(FlexAlign.Center)
}
... ...
... ... @@ -26,6 +26,7 @@ import PageAdModel from '../viewmodel/PageAdvModel';
import { ProcessUtils } from 'wdRouter/Index';
import { GrayManageModel } from '../viewmodel/GrayManageModel';
import router from '@ohos.router';
import { Message,WDH5WebDataSource,WDH5WebPageOperationType } from 'wdJsBridge/src/main/ets/bean/Message';
const TAG: string = 'SpacialTopicPageComponent'
... ... @@ -58,6 +59,8 @@ export struct SpacialTopicPageComponent {
@State private pageAdvModel: PageAdModel = new PageAdModel();
@State shareInfo: ShareInfoDTO = {} as ShareInfoDTO
@State showBottomView: boolean = false;
@State showBottomMaskView: boolean = false;
@State bgColor: ResourceColor = ''
@State executedStartTime: number = new Date().getTime()
// 国殇灰度管理
... ... @@ -84,56 +87,77 @@ export struct SpacialTopicPageComponent {
})
}
private receiveH5SendToNativeData(dataString: string | undefined) {
// this.topicDetail = JSON.parse(dataString);
if (dataString == undefined) {
private receiveH5SendToNativeData(data: Message | undefined) {
if (data == undefined) {
return
}
if (data.data?.dataSource === WDH5WebDataSource.WDH5WebDataSourceTopicPageInfo) {
if (data.data?.dataJson == undefined) {
return
}
this.topicDetail = JSON.parse(data.data?.dataJson);
this.topicInfo = this.topicDetail.topicInfo;
this.pageAdvModel.analysisTopicAdvSource(this.topicDetail)
if (this.topicInfo) {
// 转换详情数据
this.contentDetailData.openComment = Number(this.topicInfo.commentFlag)
this.contentDetailData.commentDisplay = Number(this.topicInfo.commentShowFlag)
this.contentDetailData.newsId = Number(this.topicInfo.topicId)
this.contentDetailData.newsType = this.topicInfo.topicType
this.contentDetailData.newsTitle = this.topicInfo.title;
this.contentDetailData.newsType = this.topicInfo.topicType;
this.contentDetailData.visitorComment = this.topicInfo.visitorComment;
//转换分享数据
this.shareInfo.shareCoverUrl = this.topicInfo.shareCoverUrl
this.shareInfo.shareOpen = this.topicInfo.shareOpen
this.shareInfo.sharePosterCoverUrl = this.topicInfo.sharePosterCoverUrl
this.shareInfo.shareSummary = this.topicInfo.shareSummary
this.shareInfo.shareTitle = this.topicInfo.shareTitle
this.shareInfo.shareUrl = this.topicInfo.shareUrl
this.contentDetailData.shareInfo = this.shareInfo
// if(this.topicInfo.shareOpen === 1){
// if (!this.operationButtonList.includes('share')) {
// this.operationButtonList.push('share');
// }
// } else {
// this.operationButtonList = this.operationButtonList.filter(e =>e !== 'share')
// }
// 转换评论数据
this.publishCommentModel.targetId = String(this.contentDetailData?.newsId || '')
this.publishCommentModel.targetRelId = String(this.contentDetailData?.reLInfo?.relId || '')
this.publishCommentModel.targetTitle = this.contentDetailData?.newsTitle
this.publishCommentModel.targetRelType = String(this.contentDetailData?.reLInfo?.relType || '')
this.publishCommentModel.targetRelObjectId = String(this.contentDetailData?.reLInfo?.relObjectId || '')
this.publishCommentModel.keyArticle = String(this.contentDetailData?.keyArticle || '')
this.publishCommentModel.targetType = String(this.contentDetailData?.newsType || '')
this.publishCommentModel.visitorComment = String(this.contentDetailData?.visitorComment || '')
this.showBottomView = true
}
// this.viewBlogInsightIntentShare();
return
}
Logger.debug('SpacialTopicPageComponent111', dataString);
this.topicDetail = JSON.parse(dataString);
this.topicInfo = this.topicDetail.topicInfo;
this.pageAdvModel.analysisTopicAdvSource(this.topicDetail)
if (this.topicInfo) {
// 转换详情数据
this.contentDetailData.openComment = Number(this.topicInfo.commentFlag)
this.contentDetailData.commentDisplay = Number(this.topicInfo.commentShowFlag)
this.contentDetailData.newsId = Number(this.topicInfo.topicId)
this.contentDetailData.newsType = this.topicInfo.topicType
this.contentDetailData.newsTitle = this.topicInfo.title;
this.contentDetailData.newsType = this.topicInfo.topicType;
this.contentDetailData.visitorComment = this.topicInfo.visitorComment;
//转换分享数据
this.shareInfo.shareCoverUrl = this.topicInfo.shareCoverUrl
this.shareInfo.shareOpen = this.topicInfo.shareOpen
this.shareInfo.sharePosterCoverUrl = this.topicInfo.sharePosterCoverUrl
this.shareInfo.shareSummary = this.topicInfo.shareSummary
this.shareInfo.shareTitle = this.topicInfo.shareTitle
this.shareInfo.shareUrl = this.topicInfo.shareUrl
this.contentDetailData.shareInfo = this.shareInfo
// if(this.topicInfo.shareOpen === 1){
// if (!this.operationButtonList.includes('share')) {
// this.operationButtonList.push('share');
// }
// } else {
// this.operationButtonList = this.operationButtonList.filter(e =>e !== 'share')
// }
// 转换评论数据
this.publishCommentModel.targetId = String(this.contentDetailData?.newsId || '')
this.publishCommentModel.targetRelId = String(this.contentDetailData?.reLInfo?.relId || '')
this.publishCommentModel.targetTitle = this.contentDetailData?.newsTitle
this.publishCommentModel.targetRelType = String(this.contentDetailData?.reLInfo?.relType || '')
this.publishCommentModel.targetRelObjectId = String(this.contentDetailData?.reLInfo?.relObjectId || '')
this.publishCommentModel.keyArticle = String(this.contentDetailData?.keyArticle || '')
this.publishCommentModel.targetType = String(this.contentDetailData?.newsType || '')
this.publishCommentModel.visitorComment = String(this.contentDetailData?.visitorComment || '')
this.showBottomView = true
if (data.data?.operateType == WDH5WebPageOperationType.WDH5WebPageOperationTypeBottomBarMaskViewShow) {
if (data.data?.color == undefined){
this.bgColor = '#80000000'
}else {
this.bgColor = data.data?.color
}
this.showBottomMaskView = true
return
}
if (data.data?.operateType == WDH5WebPageOperationType.WDH5WebPageOperationTypeBottomBarMaskViewHidden) {
this.showBottomMaskView = false
return
}
// this.viewBlogInsightIntentShare();
}
//意图上报
... ... @@ -235,6 +259,13 @@ export struct SpacialTopicPageComponent {
interactData: $interactData,
}).visibility(this.showComment ? Visibility.Visible : Visibility.Hidden)
}
if (this.showBottomMaskView){
Column()
.width('100%')
.backgroundColor(this.bgColor)
.height(75)
}
}
}.width(CommonConstants.FULL_WIDTH).height(CommonConstants.FULL_HEIGHT)
}
... ...
... ... @@ -64,10 +64,11 @@ export struct CardSourceInfo {
}
handleTimeStr() {
let time = this.contentDTO.updateTime && this.contentDTO.updateTime.length > 0?this.contentDTO.updateTime:this.contentDTO.publishTime
let str = DateTimeUtils.getCommentTime(
this.contentDTO.publishTime.includes(' ')
? Number.parseFloat(new Date(this.contentDTO.publishTime).getTime().toString())
: Number.parseFloat(this.contentDTO.publishTime)
time.includes(' ')
? Number.parseFloat(new Date(time).getTime().toString())
: Number.parseFloat(time)
)
console.log('cj2024 str', str)
return str
... ...
... ... @@ -7,7 +7,7 @@ import {
} from 'wdDetailPlayApi/src/main/ets/request/ContentDetailRequest';
import { RmhInfoDTO, CompDTO, ContentDTO } from 'wdBean'
import { CommonConstants } from 'wdConstant/Index';
import { DateTimeUtils, SPHelper, Logger, ToastUtils } from 'wdKit';
import { DateTimeUtils, SPHelper, Logger, ToastUtils, DisplayUtils } from 'wdKit';
import { SpConstants } from 'wdConstant/Index'
import { ProcessUtils, WDRouterPage, WDRouterRule } from 'wdRouter/Index';
import router from '@ohos.router'
... ... @@ -15,7 +15,7 @@ import { postBatchAttentionStatusParams } from 'wdBean/Index';
import { MultiPictureDetailViewModel } from '../../viewmodel/MultiPictureDetailViewModel'
import { onlyWifiLoadImg } from '../../utils/lazyloadImg';
import { InfomationCardClick } from '../../utils/infomationCardClick'
import measure from '@ohos.measure'
@Component
export struct RmhTitle {
@State compDTO: CompDTO = new CompDTO()
... ... @@ -156,7 +156,7 @@ export struct RmhTitle {
.lineHeight(21)
.margin({bottom: 1})
Flex({alignContent: FlexAlign.Start, wrap: FlexWrap.NoWrap}) {
// Flex({alignContent: FlexAlign.Start, wrap: FlexWrap.NoWrap}) {
Row() {
if (!(this.hideTime && this.getDaysBetweenDates(Number(this.publishTime)) > 2)) {
if (this.publishTime) {
... ... @@ -182,12 +182,14 @@ export struct RmhTitle {
.textAlign(TextAlign.Start)
.height(14)
.lineHeight(14)
.constraintSize({maxWidth:(DisplayUtils.getDeviceWidth() - 32 - 36 - 18 - this.getTextWidth(DateTimeUtils.getCommentTime(Number.parseFloat(this.publishTime))))})
}
}
.height(14)
}
.width('calc(100% - 36vp - 8vp)')
.align(Alignment.Start)
// }
// .width('calc(100% - 36vp - 8vp)')
}
.justifyContent(FlexAlign.SpaceBetween)
... ... @@ -222,4 +224,13 @@ export struct RmhTitle {
})
}
// 获取文本宽度
private getTextWidth(text: string) {
let size = measure.measureTextSize({
textContent: text,
fontSize: $r("app.float.font_size_12")
})
return px2vp(Number(size.width))
}
}
\ No newline at end of file
... ...
... ... @@ -20,11 +20,12 @@ export struct behindDivider {
Divider().strokeWidth(5).color('#f5f5f5').width('120%').margin({left: -6})
}
} else if (this.compDTO.compStyle === CompStyle.Zh_Carousel_Layout_01) {
if (this.compIndex === 0) {
Divider().strokeWidth(1).color('#f5f5f5').width('120%').margin({left: -6})
} else {
Divider().strokeWidth(5).color('#f5f5f5').width('120%').margin({left: -6})
}
// if (this.compIndex === 0) {
// Divider().strokeWidth(1).color('#f5f5f5').width('120%').margin({left: -6})
// } else {
// Divider().strokeWidth(5).color('#f5f5f5').width('120%').margin({left: -6})
// }
Divider().strokeWidth(1).color('#f5f5f5').width(CommonConstants.FULL_WIDTH).padding({ left: 10, right: 10 })
} else if (this.compDTO?.operDataList?.[0]?.appStyle === CompStyle.Card_10) {
// 大专题
if (this.nextCompDTO?.operDataList?.[0]?.appStyle === CompStyle.Card_10) {
... ... @@ -32,7 +33,14 @@ export struct behindDivider {
} else {
Divider().strokeWidth(5).color('#f5f5f5').width('120%').margin({left: -6})
}
} else if (this.compDTO.compType === 'appStyle' || this.compDTO.compStyle === CompStyle.Zh_Single_Row_01 || this.compDTO.compStyle === CompStyle.Zh_Single_Row_03 || this.compDTO.compStyle === CompStyle.Card_Comp_Adv || this.compDTO.compStyle === CompStyle.Zh_Single_Column_02) {
} else if (this.compDTO.compType === 'appStyle'
|| this.compDTO.compStyle === CompStyle.Zh_Single_Row_01
|| this.compDTO.compStyle === CompStyle.Zh_Single_Row_02
|| this.compDTO.compStyle === CompStyle.Zh_Single_Row_03
|| this.compDTO.compStyle === CompStyle.Card_Comp_Adv
|| this.compDTO.compStyle === CompStyle.Zh_Single_Column_02
|| this.compDTO.compStyle === CompStyle.Zh_Single_Column_04
) {
if (
this.nextCompDTO.compStyle === CompStyle.Card_09 ||
this.nextCompDTO?.operDataList?.[0]?.appStyle === CompStyle.Card_10 ||
... ...
... ... @@ -18,6 +18,7 @@ const TAG: string = 'Card2Component';
* @UpdateRemark: 更新说明
* @Version: 1.0
*/
@Preview
@Component
export struct CardAdvGanMiComponent {
@State compDTO: CompDTO = {} as CompDTO
... ... @@ -64,8 +65,8 @@ export struct CardAdvGanMiComponent {
.alignContent(Alignment.Top)
.width(CommonConstants.FULL_WIDTH)
}.width('100%').padding({
left: $r('app.float.card_comp_pagePadding_lf'),
right: $r('app.float.card_comp_pagePadding_lf'),
left: 10,
right: 10,
})
... ... @@ -125,8 +126,8 @@ export struct CardAdvGanMiComponent {
.contentEndOffset(this.advLength == 1 ? 0 : 16)
.margin({ top: 10, bottom: 10 })
.padding({
left: this.advLength == 1 ? 16 : 0,
right: this.advLength == 1 ? 16 : 0,
left: this.advLength == 1 ? 10 : 0,
right: this.advLength == 1 ? 10 : 0,
})
// 更多按钮
... ... @@ -174,8 +175,8 @@ export struct CardAdvGanMiComponent {
})
}.width('100%').padding({
left: $r('app.float.card_comp_pagePadding_lf'),
right: $r('app.float.card_comp_pagePadding_lf'),
left: 10,
right: 10,
})
... ...
... ... @@ -187,30 +187,30 @@ struct createImg {
@Builder
longPicTip(weight: number, height: number) {
Flex({ direction: FlexDirection.Row }) {
Image($r('app.media.icon_long_pic'))
.width(12)
.height(12)
.margin({ right: 4 })
Text('长图')
.fontSize(10)
.fontWeight(400)
.textShadow({
radius: 1,
color: `rgba(0,0,0,0.5)`,
offsetY:1,
offsetX:1
})
.fontColor(0xffffff)
.fontFamily('PingFang SC')
.visibility(
weight / height > 2 || height / weight > 2
? Visibility.Visible : Visibility.None
)
}
.width(48)
.align(Alignment.BottomEnd)
.padding({ bottom: 8 })
// Flex({ direction: FlexDirection.Row }) {
// Image($r('app.media.icon_long_pic'))
// .width(12)
// .height(12)
// .margin({ right: 4 })
// Text('长图')
// .fontSize(10)
// .fontWeight(400)
// .textShadow({
// radius: 1,
// color: `rgba(0,0,0,0.5)`,
// offsetY:1,
// offsetX:1
// })
// .fontColor(0xffffff)
// .fontFamily('PingFang SC')
// .visibility(
// weight / height > 2 || height / weight > 2
// ? Visibility.Visible : Visibility.None
// )
// }
// .width(48)
// .align(Alignment.BottomEnd)
// .padding({ bottom: 8 })
}
build() {
... ...
... ... @@ -28,7 +28,9 @@ export struct Card5Component {
@State textArr: textItem[] = []
async aboutToAppear(): Promise<void> {
console.log('Card2Component', JSON.stringify(this.compDTO),this.contentDTO.titleShow)
// console.log(TAG, JSON.stringify(this.compDTO),this.contentDTO.titleShow)
// console.log(TAG, 'this.contentDTO.title', this.contentDTO.title)
// console.log(TAG, 'this.contentDTO.newsTitle', this.contentDTO.newsTitle)
const curRouter = router.getState().name;
this.clicked = hasClicked(this.contentDTO.objectId, curRouter)
this.loadImg = await onlyWifiLoadImg();
... ...
... ... @@ -578,48 +578,53 @@ struct footerExpandedView {
build() {
Row() {
if (this.item.expanded) {
Row() {
Text().backgroundColor($r('app.color.color_EDEDED')).width(24).height(1)
if (this.item.childsHasMore) {
Row() {
if (this.item.expanded) {
Row() {
Text().backgroundColor($r('app.color.color_EDEDED')).width(24).height(1)
if (this.item.childsHasMore) {
Row() {
Text('查看更多回复').fontColor($r('app.color.color_222222')).fontSize(14)
Image($r('app.media.comment_unfold')).width(12).height(12)
}.margin({ left: 6 })
.onClick(() => {
if (this.item.isLoading) {
return
}
this.item.isLoading = true
fetchChildContentCommentList(this.contentId, this.contentType, this.item)
})
}
Row() {
Text('查看更多回复').fontColor($r('app.color.color_222222')).fontSize(14)
Image($r('app.media.comment_unfold')).width(12).height(12)
Text('收起').fontColor($r('app.color.color_222222')).fontSize(14)
Image($r('app.media.comment_pickUp')).width(12).height(12)
}.margin({ left: 6 })
.onClick(() => {
if (this.item.isLoading) {
return
}
this.item.isLoading = true
fetchChildContentCommentList(this.contentId, this.contentType, this.item)
this.item.pageNum = 1
this.item.expanded = false
this.item.childComments = []
this.item.childCommentsLazyDataSource.clear()
})
}
}.margin({ left: 53 })
} else {
Row() {
Text('收起').fontColor($r('app.color.color_222222')).fontSize(14)
Image($r('app.media.comment_pickUp')).width(12).height(12)
}.margin({ left: 6 })
Text().backgroundColor($r('app.color.color_EDEDED')).width(24).height(1)
Text('查看更多回复').fontColor($r('app.color.color_222222')).fontSize(14).margin({ left: 6 })
Image($r('app.media.comment_unfold')).width(12).height(12)
}.margin({ left: 53 })
.onClick(() => {
this.item.pageNum = 1
this.item.expanded = false
this.item.childComments = []
this.item.childCommentsLazyDataSource.clear()
if (this.item.isLoading) {
return
}
this.item.isLoading = true
fetchChildContentCommentList(this.contentId, this.contentType, this.item)
})
}.margin({ left: 53 })
} else {
Row() {
Text().backgroundColor($r('app.color.color_EDEDED')).width(24).height(1)
Text('查看更多回复').fontColor($r('app.color.color_222222')).fontSize(14).margin({ left: 6 })
Image($r('app.media.comment_unfold')).width(12).height(12)
}.margin({ left: 53 })
.onClick(() => {
if (this.item.isLoading) {
return
}
this.item.isLoading = true
fetchChildContentCommentList(this.contentId, this.contentType, this.item)
})
}
}.height(30)
}
}.height(20)
// .backgroundColor(Color.Green)
}.height(24)
.alignItems(VerticalAlign.Top)
// .backgroundColor(Color.Gray)
}
}
... ...
... ... @@ -34,6 +34,7 @@ export struct CommentListDialogView {
height: this.maxHeight + 'px',
preferType: SheetType.BOTTOM,
showClose: false,
maskColor: "#50000000",
dragBar: false,
onDisappear: () => {
this.showCommentList = false
... ...
... ... @@ -49,7 +49,8 @@ export struct LottieView {
onDestroyAnimation(){
// 销毁动画,减少缓存
if (this.animateItem !== null) {
this.animateItem.destroy(this.name);
lottie.destroy(this.name)
// console.log('lottie', 'onDestroyAnimation')
this.animateItem = null;
}
... ... @@ -68,6 +69,7 @@ export struct LottieView {
}
})
.onDisAppear(()=>{
// console.log('lottie', 'onDisAppear')
this.onDestroyAnimation()
})
.onAppear(()=>{
... ...
... ... @@ -55,8 +55,8 @@ export default struct MinePageUserSimpleInfoUI {
if(StringUtils.isNotEmpty(this.levelHead)){
Image(this.levelHead)
.width(72.86)
.height(72.86)
.width(75.86)
.height(75.86)
.objectFit(ImageFit.Cover)
.borderRadius(50)
}
... ... @@ -80,6 +80,7 @@ export default struct MinePageUserSimpleInfoUI {
.textOverflow({ overflow: TextOverflow.Ellipsis })
.fontSize(20)
.lineHeight(24)
.constraintSize({maxWidth:200})
Image($r('app.media.mine_user_edit'))
.width(14)
... ... @@ -101,7 +102,7 @@ export default struct MinePageUserSimpleInfoUI {
.fontFamily('PingFang SC-Semibold')
.fontSize(10)
.fontWeight(600)
.margin({ left: 6 })
.margin({ left: 0,top:8 })
.backgroundImage($r("app.media.mine_grade_bg"))
.backgroundImageSize(ImageSize.FILL)
.padding({left: 6,right: 6})
... ... @@ -109,7 +110,6 @@ export default struct MinePageUserSimpleInfoUI {
}
}
.alignItems(HorizontalAlign.Start)
.width(180)
}else{
Row(){
Text("登录注册")
... ...
... ... @@ -58,6 +58,7 @@ export struct FollowChildComponent{
.fontColor($r('app.color.color_222222'))
.maxLines(1)
.margin({bottom: 2})
.textOverflow({ overflow: TextOverflow.Ellipsis })
Text(`粉丝${this.data.cnFansNum}`)
.fontColor($r('app.color.color_B0B0B0'))
... ... @@ -150,7 +151,7 @@ export struct FollowChildComponent{
.alignItems(VerticalAlign.Top)
}
.height(105)
// .height(105)
.justifyContent(FlexAlign.Start)
Divider()
... ... @@ -158,6 +159,7 @@ export struct FollowChildComponent{
.height(1)
.color($r('app.color.color_F5F5F5'))
.strokeWidth(1)
.margin({top:10})
}.width('100%')
}else {
... ...
... ... @@ -60,12 +60,10 @@ export struct FollowFirstTabsComponent{
.lineHeight(20)
if(this.currentIndex === index){
Divider()
Image($r('app.media.icon_channel_active'))//.colorFilter(ColorUtils.getDrawingColorFilter(this.getBothColor("")))
.width(16)
.height(2)
.color('#ED2800')
.strokeWidth(2)
.margin({top: 35})
.margin({top: 30})
.id("divTag")
}
}.onClick(()=>{
... ...
... ... @@ -37,7 +37,7 @@ export struct HomePageBottomCommentComponent {
if (this.isGetRequest == true) {
Text().backgroundColor($r('app.color.color_EDEDED'))
.width('100%')
.height(2)
.height(1)
}
if (this.count === 0) {
if (this.isGetRequest == true) {
... ...
... ... @@ -71,7 +71,7 @@ export struct HomePageBottomFollowComponent {
if (this.isGetRequest == true) {
Text().backgroundColor($r('app.color.color_EDEDED'))
.width('100%')
.height(2)
.height(1)
}
if (this.count === 0) {
... ...
... ... @@ -8,10 +8,10 @@ export struct SubscribeListChildComponent{
Column(){
Row(){
Text(`${this.item.dealTime}`)
.margin({top:"31lpx",bottom:"23lpx"})
.margin({top:16,bottom:12})
.fontWeight(400)
.fontSize("23lpx")
.lineHeight("33lpx")
.fontSize(12)
.lineHeight(17)
.fontColor($r('app.color.color_999999'))
}.width('100%')
.backgroundColor($r('app.color.color_F5F5F5'))
... ... @@ -20,78 +20,78 @@ export struct SubscribeListChildComponent{
Column(){
Column(){
Text(`${this.item.title}`)
.fontSize("31lpx")
.lineHeight("46lpx")
.fontSize(16)
.lineHeight(24)
.fontWeight(500)
.fontColor($r('app.color.color_333333'))
.margin({top:"27lpx",bottom:"25lpx"})
.margin({top:14,bottom:13})
.maxLines(1)
Text().backgroundColor($r('app.color.color_F5F5F5'))
.width('100%')
.height('1lpx')
.height(0.5)
}.alignItems(HorizontalAlign.Start)
.width("100%")
.height("98lpx")
.height(51)
Row(){
Image(`${this.item.imgUrl}`)
.width('204lpx')
.height('115lpx')
.borderRadius("6lpx")
.width(106)
.height(60)
.borderRadius(3)
.objectFit(ImageFit.Auto)
.margin({right:"23lpx"})
.margin({right:12})
Text(`${this.item.desc}`)
.fontSize("27lpx")
.lineHeight("38lpx")
.fontSize(14)
.lineHeight(20)
.fontWeight(400)
.fontColor($r('app.color.color_222222'))
.layoutWeight(1)
}.alignItems(VerticalAlign.Center)
.width("100%")
.height("160lpx")
.height(84)
Text().backgroundColor($r('app.color.color_F5F5F5'))
.width('100%')
.height('1lpx')
.height(0.5)
Row(){
Text(`${this.item.time}开始`)
.fontSize("23lpx")
.fontSize(12)
.fontWeight(600)
.lineHeight("31lpx")
.fontColor($r('app.color.color_222222'))
.lineHeight(16)
Row(){
Text("查看详情")
.fontSize("23lpx")
.lineHeight("38lpx")
.fontSize(12)
.lineHeight(20)
.fontWeight(400)
.fontColor($r('app.color.color_666666'))
.margin({right:"8lpx"})
.margin({right:4})
Image($r('app.media.subscribe_arrow_icon'))
.width('23lpx')
.height('13lpx')
.width(12)
.height(12)
.objectFit(ImageFit.Auto)
.interpolation(ImageInterpolation.High)
.margin({right:"4lpx"})
.margin({right:2})
}
}.alignItems(VerticalAlign.Center)
.justifyContent(FlexAlign.SpaceBetween)
.width("100%")
.height("73lpx")
.height(38)
}.backgroundColor($r('app.color.white'))
.borderRadius("8lpx")
.height("336lpx")
.borderRadius(4)
.height(175)
.width("100%")
.padding({left:"23lpx",right:"23lpx"})
.padding({left:12,right:12})
}
.backgroundColor($r('app.color.color_F5F5F5'))
.width("100%")
.height("423lpx")
.padding({left:"31lpx",right:"31lpx"})
.padding({left:16,right:16})
.alignItems(HorizontalAlign.Center)
}
... ...
... ... @@ -443,7 +443,7 @@ export struct PaperSingleColumn999CardView {
Image(this.item?.coverUrl)
.borderRadius(5)
.objectFit(ImageFit.Cover)
.aspectRatio(16 / 10) ///图片设计比例
.aspectRatio(319 / 179) ///图片设计比例
.padding({ top: 10 })
//视频
if (this.item?.videoInfo) {
... ...
... ... @@ -599,6 +599,7 @@ struct ChannelSubscriptionLayout {
}
.width(36)
.height(40)
.margin({right: 6})
.justifyContent(FlexAlign.Center)
.onClick(() => {
this.isShow = true
... ...
... ... @@ -54,7 +54,15 @@ export struct PageComponent {
emptyType: this.pageModel.emptyType,
emptyButton: true,
retry: () => {
this.pageModel.viewType = ViewType.LOADING;
this.getData()
// this.pageModel.pageId = this.pageId;
// this.pageModel.groupId = this.pageId;
// this.pageModel.channelId = this.channelId;
// this.pageModel.currentPage = 1;
// this.pageModel.pageTotalCompSize = 0;
// this.listScroller.scrollToIndex(0)
// autoRefresh(this.pageModel, this.pageAdvModel)
}
})
.backgroundColor(Color.White)
... ... @@ -277,6 +285,7 @@ export struct PageComponent {
Logger.info(TAG,
`onChangezz id: ${this.pageId} , ${this.channelId} , ${this.navIndex} , navIndex: ${this.currentTopNavSelectedIndex}`);
if (this.navIndex === this.currentTopNavSelectedIndex) {
Logger.debug(TAG, 'page onAutoRefresh111 ' + this.needload)
if (this.needload) {
this.getData();
}
... ...
... ... @@ -42,11 +42,12 @@ struct PeopleShipHomePage {
@Provide @Watch('handleChangeAttentionStata') isLoadingAttention: boolean = false
//关注显示
@State attentionOpacity: boolean = false
@Provide topHeight: number = 190
@Provide topHeight: number = 195
@State isLoading: boolean = true
@State topSafeHeight: number = AppStorage.get<number>('topSafeHeight') || 0
@State isConnectNetwork : boolean = NetworkUtil.isNetConnected()
@State isHasHomePage: boolean = true
firstPositionY:number = 0;
onPageShow(): void {
WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#ffffff'})
... ... @@ -64,117 +65,141 @@ struct PeopleShipHomePage {
}
}
build() {
if(this.isConnectNetwork){
if (this.isHasHomePage){
Stack({ alignContent: Alignment.TopStart }) {
Stack({ alignContent: Alignment.Top }){
// 顶部图片
Image($r('app.media.home_page_bg'))
.width('100%')
.height('120vp')
.objectFit(ImageFit.Fill)
.objectRepeat(ImageRepeat.NoRepeat)
.backgroundColor(Color.White)
.visibility(this.isLoading ? Visibility.None : Visibility.Visible)
Row()
.height(px2vp(this.topSafeHeight))
.width("100%")
.backgroundColor($r('app.color.white'))
.visibility(this.topOpacity > 0 ? Visibility.Visible : Visibility.None)
.opacity(this.topOpacity )
}
build() {
Column(){
if(this.isConnectNetwork){
if (this.isHasHomePage){
Stack({ alignContent: Alignment.Top }) {
Stack({ alignContent: Alignment.Top }){
// 顶部图片
Image($r('app.media.home_page_bg'))
.width('100%')
///1-this.topOpacity 联动上滑
.height(this.topOpacity>1?0:120*(1-this.topOpacity))
.objectFit(ImageFit.Cover)
}
Column(){
// 头部返回
PeopleShipHomePageNavComponent({
attentionOpacity: this.attentionOpacity,
topOpacity: this.topOpacity,
detailModel: this.detailModel
})
.height($r('app.float.top_bar_height'))
.backgroundColor(Color.Transparent)
if (this.detailModel && this.detailModel.userName) {
Scroll(this.scroller) {
Column() {
// 顶部相关
PeopleShipHomePageTopComponent({
creatorId: this.creatorId,
detailModel: this.detailModel,
publishCount: this.publishCount,
topHeight: this.topHeight
})
.width("100%")
// .height(this.topHeight)
// 列表
Column(){
Stack({ alignContent: Alignment.Top }){
Row()
.height(px2vp(this.topSafeHeight))
.width("100%")
.backgroundColor($r('app.color.white'))
.visibility(this.topOpacity > 0 ? Visibility.Visible : Visibility.None)
.opacity(this.topOpacity )
}
Column(){
Stack({ alignContent: Alignment.Top }){
this.peopleHomeTitleTransparent()
// 头部返回
PeopleShipHomePageNavComponent({
attentionOpacity: this.attentionOpacity,
topOpacity: this.topOpacity,
detailModel: this.detailModel
})
}
if (this.detailModel && this.detailModel.userName) {
Scroll(this.scroller) {
Column() {
// 顶部相关
PeopleShipHomePageTopComponent({
creatorId: this.creatorId,
detailModel: this.detailModel,
publishCount: this.publishCount,
topHeight: this.topHeight
})
.width("100%")
.height(this.topHeight)
// 列表
PeopleShipHomeListComponent({
publishCount: this.publishCount,
creatorId: this.creatorId
})
}.height('100%')
}
.width("100%")
.justifyContent(FlexAlign.Start)
.alignItems(HorizontalAlign.Start)
// .height('100%')
// .height(this.publishCount == 0 ? '100%' : '')
}
.scrollable(ScrollDirection.Vertical)
// .alignSelf(ItemAlign.Start)
// .align(Alignment.Start)
.edgeEffect(EdgeEffect.None)
.friction(0.7)
.backgroundColor(Color.White)
.scrollBar(BarState.Off)
.width('100%')
.height('calc(100% - 44vp)')
// .layoutWeight(1)
.onDidScroll(() => {
// this.topOpacity = yOffset / (this.getDeviceHeight() * 0.2)
this.topOpacity = this.scroller.currentOffset().yOffset / 100
if (this.scroller.currentOffset().yOffset >= this.topHeight - 66) {
this.attentionOpacity = true
} else {
this.attentionOpacity = false
// Column(){
//
//
// }.height('100%')
}
.width("100%")
.justifyContent(FlexAlign.Start)
.alignItems(HorizontalAlign.Start)
}
Logger.debug('PeopleShipHomePage',`透明度:${this.topOpacity}`)
.edgeEffect(EdgeEffect.None)
.scrollBar(BarState.Off)
.width('100%')
.layoutWeight(1)
// .scrollable(ScrollDirection.Vertical)
// .edgeEffect(EdgeEffect.None)
// .friction(0.7)
// .backgroundColor(Color.White)
// .scrollBar(BarState.Off)
// .width('100%')
// .height('calc(100% - 44vp)')
.onDidScroll(() => {
this.topOpacity = this.scroller.currentOffset().yOffset / 120
if (this.scroller.currentOffset().yOffset >= this.topHeight - 66) {
this.attentionOpacity = true
} else {
this.attentionOpacity = false
}
Logger.debug('PeopleShipHomePage',`透明度:${this.topOpacity}`)
})
})
}
}
.margin({top:px2vp(this.topSafeHeight)})
}
.alignItems(HorizontalAlign.Start)
.justifyContent(FlexAlign.Start)
.width('100%')
.margin({top:px2vp(this.topSafeHeight)})
}else {
Column(){
CustomTitleUI({ titleName: "" })
EmptyComponent({emptyType:WDViewDefaultType.WDViewDefaultType_NoUserHomepage}).height('70%')
}.width("100%")
.height("100%")
.padding({top:px2vp(this.topSafeHeight)})
}
.width('100%')
}else {
}else{
Column(){
CustomTitleUI({ titleName: "" })
EmptyComponent({emptyType:WDViewDefaultType.WDViewDefaultType_NoUserHomepage}).height('70%')
EmptyComponent({ emptyType: 1,emptyHeight:"100%" ,retry: () => {
this.isConnectNetwork = NetworkUtil.isNetConnected()
if(this.isConnectNetwork){
this.detailModel = {} as PeopleShipUserDetailData
this.getData()
}
}})
.height('calc(100% - 84lpx)')
.width('100%')
}.width("100%")
.height("100%")
.padding({top:px2vp(this.topSafeHeight)})
}
}else{
Column(){
CustomTitleUI({ titleName: "" })
EmptyComponent({ emptyType: 1,emptyHeight:"100%" ,retry: () => {
this.isConnectNetwork = NetworkUtil.isNetConnected()
if(this.isConnectNetwork){
this.detailModel = {} as PeopleShipUserDetailData
this.getData()
}
}})
.height('calc(100% - 84lpx)')
.width('100%')
}.width("100%")
.height("100%")
}.width("100%")
.height("100%")
.backgroundColor(Color.White)
}
@Builder peopleHomeTitleTransparent() {
RelativeContainer() {
//标题栏目
Image($r('app.media.icon_arrow_left_white') )
.width(24)
.height(24)
.objectFit(ImageFit.Auto)
.id("back_icon")
.alignRules({
center: { anchor: "__container__", align: VerticalAlign.Center },
left: { anchor: "__container__", align: HorizontalAlign.Start }
})
.margin({ left: 18 })
.onClick(() => {
router.back()
})
}
.visibility(this.topOpacity > 0 ? 1 : 0)
.height(44)
.width('100%')
.backgroundColor($r('app.color.color_transparent'))
}
aboutToAppear() {
... ... @@ -256,3 +281,5 @@ struct PeopleShipHomePage {
}
}
... ...
import { PeopleShipRecommendHeadComponent } from './PeopleShipRecommendHeadComponent'
import { RmhRecommendDTO } from 'wdBean';
import { ProcessUtils } from 'wdRouter';
@Component
export struct PeopleShipRecommendComponent {
... ... @@ -63,10 +64,13 @@ export struct PeopleShipRecommendComponent {
ForEach(this.rmhList, (item: RmhRecommendDTO) => {
GridItem() {
PeopleShipRecommendHeadComponent({
rmhInfo: item
rmhInfo: item,
clickCallback:()=>{
this.clickRecommendHeadSelected(item)
}
})
.onClick(() => {
this.clickRecommendHeadSelected(item)
ProcessUtils.gotoPeopleShipHomePage(item.creatorId,1,1,item.userId,item.userType)
})
}
}, (item: RmhRecommendDTO) => item.creatorId)
... ...
... ... @@ -6,7 +6,8 @@ export struct PeopleShipRecommendHeadComponent {
@State isSelected: boolean = true
@Consume rmhSelectedList: string[]
@State rmhInfo: RmhRecommendDTO = {} as RmhRecommendDTO
clickCallback: () => void = () => {
}
build() {
Column(){
Stack({ alignContent: Alignment.BottomEnd }) {
... ... @@ -27,7 +28,9 @@ export struct PeopleShipRecommendHeadComponent {
.objectFit(ImageFit.Cover)
.margin({
right: '-3vp'
})
}).onClick(()=>{
this.clickCallback()
})
}.margin({ top: 4, bottom: 8 })
Row() {
... ...
... ... @@ -23,6 +23,7 @@ import { ErrorComponent } from '../view/ErrorComponent'
import { CustomPullToRefresh } from '../reusable/CustomPullToRefresh'
import { PeopleShipNoMoreData } from '../reusable/PeopleShipNoMoreData'
import LoadMoreLayout from '../page/LoadMoreLayout'
import { EmptyComponent, WDViewDefaultType } from '../view/EmptyComponent'
const TAG = 'PeopleShipHomeArticleListComponent';
... ... @@ -49,7 +50,12 @@ export struct PeopleShipHomeArticleListComponent {
this.LoadingLayout()
} else if (this.viewType == 2) {
ErrorComponent()
} else {
}else if(this.viewType == 4){
Column(){
EmptyComponent({emptyType:WDViewDefaultType.WDViewDefaultType_NoCreation}).height('40%')
}.width('100%')
.height('100%')
} else {
CustomPullToRefresh({
alldata:this.arr,
scroller:this.scroller,
... ... @@ -182,6 +188,11 @@ export struct PeopleShipHomeArticleListComponent {
}
this.isLoading = false
this.queryArticleContentInteractCount(listData)
///展示缺省图
if (listData.totalCount === 0) {
this.viewType = 4
}
Logger.debug(TAG, '展示的总数'+`${this.arr.length}`)
}catch (exception) {
if (resolve) {
... ... @@ -263,7 +274,7 @@ export struct PeopleShipHomeArticleListComponent {
// }
// contentDTO.customSchedulePublishTime = element.contentPublishTasks.firstObject.schedulePublishTime;
contentDTO.fullColumnImgUrls = this.fullColumnImgUrls(element);
contentDTO.updateTime = element.updateTime
let rmhInfo = this.convertToRmhInfoWithAccountModel()
if (rmhInfo) {
contentDTO.rmhInfo = rmhInfo;
... ... @@ -285,17 +296,16 @@ export struct PeopleShipHomeArticleListComponent {
}
// contentDTO.shareInfo = [self.contentShare.firstObject convertToShareInfo];
// contentDTO.shareInfo.shareUrl = self.shareUrl;
if (element.createTime.length > 0) {
contentDTO.publishTime = this.convertPublishTimeWith(element.createTime);
} else if (element.updateTime.length > 0) {
if (element.updateTime.length > 0) {
contentDTO.publishTime = this.convertPublishTimeWith(element.updateTime);
}else if (element.publishTime.length > 0) {
contentDTO.publishTime = this.convertPublishTimeWith(element.publishTime);
} else if (element.firstPublishTime.length > 0) {
contentDTO.publishTime = this.convertPublishTimeWith(element.firstPublishTime);
} else if (element.publishTime.length > 0) {
contentDTO.publishTime = this.convertPublishTimeWith(element.publishTime);
} else if (element.createTime.length > 0) {
contentDTO.publishTime = this.convertPublishTimeWith(element.createTime);
}
//图集数量
if (element.mainPicCount) {
contentDTO.photoNum = element.mainPicCount;
... ...
... ... @@ -124,10 +124,9 @@ export struct PeopleShipHomeListComponent {
.fontWeight(this.currentIndex === index ? 500 : 400)
.lineHeight(22)
.height(22)
Divider()
.width('15vp')
.strokeWidth(2)
.color('#CB0000')
Image($r('app.media.icon_channel_active'))//.colorFilter(ColorUtils.getDrawingColorFilter(this.getBothColor("")))
.width(16)
.height(2)
.opacity(this.currentIndex === index ? 1 : 0)
}
.justifyContent(FlexAlign.Center)
... ...
... ... @@ -15,129 +15,162 @@ export struct PeopleShipHomePageNavComponent {
@Prop detailModel: PeopleShipUserDetailData = {} as PeopleShipUserDetailData
build() {
Row() {
Stack({ alignContent: Alignment.TopStart }) {
Row()
.width('100%')
.height('100%')
.backgroundColor($r('app.color.white'))
.opacity(this.topOpacity)
Row() {
RelativeContainer() {
Row() {
// 返回
Image((this.topOpacity > 0.5 ? $r('app.media.icon_arrow_left') : $r('app.media.icon_arrow_left_white')))
.width('24vp')
.height('24vp')
.objectFit(ImageFit.Auto)
.id("back_icon")
.alignRules({
center: { anchor: "__container__", align: VerticalAlign.Center },
left: { anchor: "__container__", align: HorizontalAlign.Start }
})
.margin({ left: 18 })
.onClick(() => {
router.back()
})
// 头像
PeopleShipHomePageHeadComponent({
diameter: 30,
iconDiameter: 10,
headPhotoUrl: (this.detailModel.headPhotoUrl && this.detailModel.headPhotoUrl.length > 0 ) ? this.detailModel.headPhotoUrl : $r('app.media.WDAccountOwnerHedaerDefaultIcon'),
authIcon: this.detailModel.authIcon
}).onClick(()=>{
let params = {
'headPhotoUrl': this.detailModel.headPhotoUrl,
} as Record<string, string>;
WDRouterRule.jumpWithPage(WDRouterPage.showHomePageHeaderPage,params)
}).margin({
left: '10vp',
})
.id("Page_Head")
.alignRules({
center: { anchor: "__container__", align: VerticalAlign.Center },
left: { anchor: "back_icon", align: HorizontalAlign.End }
})
.visibility((this.topOpacity > 0.5 ? Visibility.Visible : Visibility.Hidden))
Row() {
// 返回
Image((this.topOpacity > 0.5 ? $r('app.media.icon_arrow_left') : $r('app.media.icon_arrow_left_white')))
.width('24vp')
.height('24vp')
.objectFit(ImageFit.Auto)
.margin({ left: '10vp' })
.onClick(() => {
router.back()
})
// 头像
PeopleShipHomePageHeadComponent({
diameter: 30,
iconDiameter: 10,
headPhotoUrl: (this.detailModel.headPhotoUrl && this.detailModel.headPhotoUrl.length > 0 ) ? this.detailModel.headPhotoUrl : $r('app.media.WDAccountOwnerHedaerDefaultIcon'),
authIcon: this.detailModel.authIcon
}).onClick(()=>{
let params = {
'headPhotoUrl': this.detailModel.headPhotoUrl,
} as Record<string, string>;
WDRouterRule.jumpWithPage(WDRouterPage.showHomePageHeaderPage,params)
}).margin({
left: '10vp',
})
.visibility((this.topOpacity > 0.5 ? Visibility.Visible : Visibility.Hidden))
// 文字
Text(this.detailModel.userName)
.height('46vp')
.fontSize($r('app.float.vp_14'))
.fontColor($r('app.color.color_222222'))
.margin({
left: '6vp'
})
.id("user_Head")
.alignRules({
center: { anchor: "__container__", align: VerticalAlign.Center },
left: { anchor: "Page_Head", align: HorizontalAlign.End }
})
.visibility((this.topOpacity > 0.5 ? Visibility.Visible : Visibility.Hidden))
// 文字
Text(this.detailModel.userName)
.height('46vp')
.fontSize($r('app.float.vp_14'))
.fontColor($r('app.color.color_222222'))
.margin({
left: '6vp'
})
.visibility((this.topOpacity > 0.5 ? Visibility.Visible : Visibility.Hidden))
if (this.isAttention == '0') {
// 关注
Button({ type: ButtonType.Normal, stateEffect: true }) {
Row(){
Image($r('app.media.people_ship_top_add'))
.objectFit(ImageFit.Auto)
.width('13vp')
.height('13pv')
.margin({
right: '3vp'
})
Text('关注')
.fontSize($r('app.float.vp_12'))
.fontColor(Color.White)
.height('100%')
}
.alignSelf(ItemAlign.Center)
.justifyContent(FlexAlign.Center)
.width('100%')
.height('100%')
}
.borderRadius(4)
.backgroundColor($r('app.color.color_ED2800'))
.width('54vp')
.height('24vp')
.onClick(() => {
if (this.isLoadingAttention){
return
}
this.isLoadingAttention = true
})
if (this.isAttention == '0') {
// 关注
Button({ type: ButtonType.Normal, stateEffect: true }) {
Row(){
Image($r('app.media.people_ship_top_add'))
.objectFit(ImageFit.Auto)
.width('13vp')
.height('13pv')
.margin({
left: '12vp',
})
.padding(0)
.visibility((this.attentionOpacity ? Visibility.Visible : Visibility.Hidden))
} else {
Button('已关注', { type: ButtonType.Normal, stateEffect: true })
.borderRadius(4)
.backgroundColor($r('app.color.color_F5F5F5'))
.width('54vp')
.height('24vp')
.onClick(() => {
if (this.isLoadingAttention){
return
}
this.isLoadingAttention = true
right: '3vp'
})
.margin({
left: '12vp',
})
.padding(0)
Text('关注')
.fontSize($r('app.float.vp_12'))
.fontColor($r('app.color.color_999999'))
.visibility((this.attentionOpacity ? Visibility.Visible : Visibility.Hidden))
.fontColor(Color.White)
.height('100%')
}
.alignSelf(ItemAlign.Center)
.justifyContent(FlexAlign.Center)
.width('100%')
.height('100%')
}
.height('100%')
Blank()
// 分享 分享暂不展示
// Image((this.topOpacity > 0.5 ? $r('app.media.icon_forward') : $r('app.media.icon_share')))
// .width('24vp')
// .height('24vp')
// .objectFit(ImageFit.Auto)
// .margin({ right: '10vp' })
// .onClick(() => {
// ToastUtils.showToast('分享为公共方法,待开发', 1000);
// })
.id("Button_Head")
.alignRules({
center: { anchor: "__container__", align: VerticalAlign.Center },
left: { anchor: "user_Head", align: HorizontalAlign.End }
})
.borderRadius(4)
.backgroundColor($r('app.color.color_ED2800'))
.width('54vp')
.height('24vp')
.onClick(() => {
if (this.isLoadingAttention){
return
}
this.isLoadingAttention = true
})
.margin({
left: '12vp',
})
.padding(0)
.visibility((this.attentionOpacity ? Visibility.Visible : Visibility.Hidden))
} else {
Button('已关注', { type: ButtonType.Normal, stateEffect: true })
.borderRadius(4)
.backgroundColor($r('app.color.color_F5F5F5'))
.width('54vp')
.height('24vp')
.onClick(() => {
if (this.isLoadingAttention){
return
}
this.isLoadingAttention = true
})
.margin({
left: '12vp',
})
.id("Button_Head")
.alignRules({
center: { anchor: "__container__", align: VerticalAlign.Center },
left: { anchor: "user_Head", align: HorizontalAlign.End }
})
.padding(0)
.fontSize($r('app.float.vp_12'))
.fontColor($r('app.color.color_999999'))
.visibility((this.attentionOpacity ? Visibility.Visible : Visibility.Hidden))
}
.width('100%')
.height('100%')
.alignItems(VerticalAlign.Center)
.justifyContent(FlexAlign.SpaceBetween)
}
.zIndex(1000)
.width('100%')
.height('100%')
}
.height(44)
.width('100%')
.backgroundColor($r('app.color.white'))
.visibility(this.topOpacity > 0 ? 0 : 1)
.opacity(this.topOpacity )
// Row() {
// Stack({ alignContent: Alignment.TopStart }) {
// Row()
// .width('100%')
// .height('100%')
// .backgroundColor($r('app.color.white'))
// .opacity(this.topOpacity)
// Row() {
//
// Blank()
// // 分享 分享暂不展示
// // Image((this.topOpacity > 0.5 ? $r('app.media.icon_forward') : $r('app.media.icon_share')))
// // .width('24vp')
// // .height('24vp')
// // .objectFit(ImageFit.Auto)
// // .margin({ right: '10vp' })
// // .onClick(() => {
// // ToastUtils.showToast('分享为公共方法,待开发', 1000);
// // })
// }
// .width('100%')
// .height('100%')
// .alignItems(VerticalAlign.Center)
// .justifyContent(FlexAlign.SpaceBetween)
// }
// .zIndex(1000)
// .width('100%')
// .height('100%')
// }
}
}
\ No newline at end of file
... ...
... ... @@ -5,7 +5,7 @@ export struct PeopleShipHomePageAttestationComponent {
build() {
Row() {
Text(this.name)
.lineHeight('18vp')
.lineHeight('15vp')
.fontColor($r('app.color.color_ED2800'))
.fontSize($r('app.float.vp_11'))
.backgroundColor($r('app.color.color_1AED2800'))
... ... @@ -23,7 +23,7 @@ export struct PeopleShipHomePageAttestationComponent {
})
Text(this.content)
.lineHeight('18vp')
.lineHeight('15vp')
.fontSize($r('app.float.vp_12'))
.layoutWeight(1)
.fontColor($r('app.color.color_222222'))
... ...
... ... @@ -16,8 +16,8 @@ export struct PeopleShipHomePageHeadComponent {
.borderRadius(this.diameter/2)
// .borderWidth('0.5vp')
.border({
width: 2,
color: Color.White, // 5% 透明度的黑色
width: 1,
color: $r('app.color.color_0D000000'), // 5% 透明度的黑色
style: BorderStyle.Solid
})
// .borderStyle(BorderStyle.Solid)
... ... @@ -32,8 +32,8 @@ export struct PeopleShipHomePageHeadComponent {
.borderRadius(this.iconDiameter/2)
.objectFit(ImageFit.Cover)
.margin({
right: '5vp',
bottom:'5vp'
right: '0vp',
bottom:'0vp'
})
}
}
... ...
... ... @@ -28,7 +28,7 @@ export struct PeopleShipHomePageTopComponent {
@State collapseTxt: string = '…展开';
private subTxt: string = '';
@State content: string = ''
@State topFixedHeight: number = 190
@State topFixedHeight: number = 195
@State lineInNum: number = 1
@Link topHeight: number
@State provinceName: string = ''
... ... @@ -36,14 +36,6 @@ export struct PeopleShipHomePageTopComponent {
build() {
Column() {
Stack({ alignContent: Alignment.TopStart }) {
// 顶部图片
Image($r('app.media.home_page_bg'))
.width('100%')
.height('48vp')
.objectFit(ImageFit.Auto)
.objectRepeat(ImageRepeat.NoRepeat)
.objectFit(ImageFit.Auto)
.backgroundColor(Color.White)
// 头像和名称
Row() {
// 头像
... ... @@ -62,7 +54,6 @@ export struct PeopleShipHomePageTopComponent {
WDRouterRule.jumpWithPage(WDRouterPage.showHomePageHeaderPage, params)
})
// 文字
Text(this.detailModel.userName)
.height('50vp')
... ... @@ -75,7 +66,7 @@ export struct PeopleShipHomePageTopComponent {
.layoutWeight(1)
.margin({
left: '12vp',
bottom: '10vp',
bottom: '20vp',
right: '12vp'
})
}
... ... @@ -262,9 +253,14 @@ export struct PeopleShipHomePageTopComponent {
.backgroundColor($r('app.color.color_F5F5F5'))
.width('100%')
.height('6vp')
///计算顶部视图高度
.onAreaChange((oldArea: Area, newArea: Area) => {
this.topHeight = Number(newArea.position.y)+6
this.topFixedHeight = Number(newArea.position.y)+6
})
}
.width('100%')
.backgroundColor(Color.White)
.backgroundColor($r('app.color.color_transparent'))
}
... ... @@ -322,49 +318,51 @@ export struct PeopleShipHomePageTopComponent {
this.content = this.subTxt
}
}
if (this.detailModel) {
this.topFixedHeight = 190
if (this.detailModel.region && this.detailModel.region.length > 0) {
this.provinceName = this.detailModel.region
} else {
this.provinceName = await this.computeIPRegion(this.detailModel.province)
}
if (this.detailModel.authId == 1 && this.detailModel.categoryAuth.length > 0) {
this.topFixedHeight += this.getTextLineNum(this.detailModel.categoryAuth, DisplayUtils.getDeviceWidth() - 90, 22, $r('app.float.vp_12')) * 18
this.topFixedHeight += 12
}
else if (this.detailModel.authId == 2) {
if (this.detailModel.authTitle && this.detailModel.authTitle.length > 0) {
this.topFixedHeight += this.getTextLineNum(this.detailModel.authTitle, DisplayUtils.getDeviceWidth() - 90, 22, $r('app.float.vp_12')) * 18
if (this.detailModel.authPersonal && this.detailModel.authPersonal.length > 0){
this.topFixedHeight += 8
}else{
this.topFixedHeight += 12
}
}
if (this.detailModel.authPersonal && this.detailModel.authPersonal.length > 0) {
this.topFixedHeight += this.getTextLineNum(this.detailModel.authPersonal, DisplayUtils.getDeviceWidth() - 90, 22, $r('app.float.vp_12')) * 18
this.topFixedHeight += 12
}
}
// IP归属地
if (this.provinceName && this.provinceName.length > 0) {
this.topFixedHeight += 28
this.topHeight = this.topFixedHeight
}
// 简介
if (this.detailModel.introduction && this.detailModel.introduction.length > 0 ) {
this.lineInNum = this.getTextLineNum(`简介:${this.detailModel.introduction}`, DisplayUtils.getDeviceWidth() - 32, 21, $r('app.float.vp_14'))
if (this.lineInNum <= 3) {
this.topHeight = this.topFixedHeight + (21 * this.lineInNum)
} else {
this.lineInNum = this.getTextLineNum(`简介:${this.detailModel.introduction}` + '收起', DisplayUtils.getDeviceWidth() - 32, 21, $r('app.float.vp_14'))
this.topHeight = this.topFixedHeight + (this.isCollapse ? 21 * 3 : 21 * this.lineInNum)
}
}
}
// if (this.detailModel) {
// this.topFixedHeight = 160
// if (this.detailModel.region && this.detailModel.region.length > 0) {
// this.provinceName = this.detailModel.region
// } else {
// this.provinceName = await this.computeIPRegion(this.detailModel.province)
// }
// if (this.detailModel.authId == 1 && this.detailModel.categoryAuth.length > 0) {
// this.topFixedHeight += this.getTextLineNum(this.detailModel.categoryAuth, DisplayUtils.getDeviceWidth() - 90, 22, $r('app.float.vp_12')) * 18
// this.topFixedHeight += 12
// } else if (this.detailModel.authId == 2) {
// if (this.detailModel.authTitle && this.detailModel.authTitle.length > 0) {
// this.topFixedHeight += this.getTextLineNum(this.detailModel.authTitle, DisplayUtils.getDeviceWidth() - 90, 22, $r('app.float.vp_12')) * 18
// if (this.detailModel.authPersonal && this.detailModel.authPersonal.length > 0){
// this.topFixedHeight += 8
// }else{
// this.topFixedHeight += 12
// }
// }
// if (this.detailModel.authPersonal && this.detailModel.authPersonal.length > 0) {
// this.topFixedHeight += this.getTextLineNum(this.detailModel.authPersonal, DisplayUtils.getDeviceWidth() - 90, 22, $r('app.float.vp_12')) * 18
// this.topFixedHeight += 12
// }
// }else {
// this.topFixedHeight += 10
// }
//
// // IP归属地
// if (this.provinceName && this.provinceName.length > 0) {
// this.topFixedHeight += 30
// }
//
// // 简介
// if (this.detailModel.introduction && this.detailModel.introduction.length > 0 ) {
// this.lineInNum = this.getTextLineNum(`简介:${this.detailModel.introduction}`, DisplayUtils.getDeviceWidth() - 32, 21, $r('app.float.vp_14'))
// if (this.lineInNum <= 3) {
// this.topHeight = this.topFixedHeight + (21 * this.lineInNum)
// } else {
// this.lineInNum = this.getTextLineNum(`简介:${this.detailModel.introduction}` + '收起', DisplayUtils.getDeviceWidth() - 32, 21, $r('app.float.vp_14'))
// this.topHeight = this.topFixedHeight + (this.isCollapse ? 21 * 3 : 21 * this.lineInNum)
// }
// }
//
// this.topHeight = this.topFixedHeight
// }
}
private computeShowNum(count: number) {
... ...
... ... @@ -114,6 +114,7 @@ export struct SearchComponent {
console.log(TAG, JSON.stringify(err))
})
}
// console.log(TAG, 'this.relatedSearchContentsData', JSON.stringify(this.relatedSearchContentsData))
}
getSearchHint() {
... ...
... ... @@ -23,12 +23,15 @@ export struct SearchCreatorComponent{
.alt($r('app.media.icon_default_head_mater'))
.height('92lpx')
.margin({bottom:'15lpx'})
.borderWidth(1)
.borderColor('#EDEDED')
.borderRadius(50)
Row(){
Image(this.item.authIcon)
.width('32lpx')
.height('32lpx')
.objectFit(ImageFit.Cover)
.margin({bottom:5})
}.width('92lpx')
.justifyContent(FlexAlign.End)
}.width('92lpx')
... ...
import { SearchRelatedItem } from '../../viewmodel/SearchRelatedItem'
import { SearchShowRed, titleInitRes, textItem } from '../../utils/searchShowRed';
const TAG = "SearchRelatedComponent"
... ... @@ -12,6 +13,23 @@ export struct SearchRelatedComponent {
@Prop searchText: string
@Prop percent:number = 1
// 正则过滤检索词
createCaseInsensitiveRegex(str: string, pattern: string) {
let regex = new RegExp(pattern, 'gi');
return str.replace(regex, (match) => `<em>${match}</em>`);
}
checkForPattern(str: string, pattern: string) {
let highlightedStr = this.createCaseInsensitiveRegex(str, pattern);
return highlightedStr;
}
titleInit(str: string, pattern: string) {
const title = this.checkForPattern(str, pattern)
const titleInitRes:titleInitRes = SearchShowRed.titleInit(title)
return titleInitRes
}
build() {
Column() {
List() {
... ... @@ -28,11 +46,29 @@ export struct SearchRelatedComponent {
Text(){
ForEach(item.data_arr,(item:string)=>{
Span(item)
.fontColor(item===this.searchText?$r('app.color.color_ED2800'):$r('app.color.color_000000'))
.fontSize(`${this.calcHeight(31)}lpx`)
.fontWeight(400)
.lineHeight(`${this.calcHeight(50)}lpx`)
if (this.titleInit(item, this.searchText).titleMarked) {
ForEach(this.titleInit(item, this.searchText).textArr, (textItem: textItem) => {
if (textItem.isRed) {
Span(textItem.content)
.fontColor($r('app.color.color_ED2800'))
.fontSize(`${this.calcHeight(31)}lpx`)
.fontWeight(400)
.lineHeight(`${this.calcHeight(50)}lpx`)
} else {
Span(textItem.content)
.fontColor($r('app.color.color_000000'))
.fontSize(`${this.calcHeight(31)}lpx`)
.fontWeight(400)
.lineHeight(`${this.calcHeight(50)}lpx`)
}
})
} else {
Span(item)
.fontColor($r('app.color.color_000000'))
.fontSize(`${this.calcHeight(31)}lpx`)
.fontWeight(400)
.lineHeight(`${this.calcHeight(50)}lpx`)
}
})
}
.maxLines(1)
... ...
... ... @@ -63,6 +63,8 @@ export struct EmptyComponent {
@State emptyButton: boolean = false
@State isBlack: boolean = false // 背景是否为黑色 默认白色
@State timeNum: number = 10
///占位图上是否显示返回按钮
@State showBackButton: boolean = true
/**
* The empty image width percentage setting.
*/
... ... @@ -111,16 +113,18 @@ export struct EmptyComponent {
build() {
Stack({alignContent:Alignment.Bottom}) {
this.noProgrammeData();
Image($r("app.media.icon_arrow_left_white"))
.width(24)
.height(24)
.onClick(() => {
router.back();
})
.position({
bottom: 15,
left: 16
})
if (this.showBackButton) {
Image($r("app.media.icon_arrow_left_white"))
.width(24)
.height(24)
.onClick(() => {
router.back();
})
.position({
bottom: 15,
left: 16
})
}
}
}
... ...
... ... @@ -228,7 +228,7 @@ export struct OperRowListView {
}
router.back();
})
Blank().width(10).visibility(this.showBackIcon ? Visibility.None : Visibility.Visible)
if (this.contentDetailData?.newsId) {
ForEach(this.operationButtonList, (item: string, index: number) => {
... ...
... ... @@ -122,11 +122,12 @@ struct MineHomePage {
Row() {
Text(`${this.userName}`)
.fontColor($r('app.color.white'))
.maxLines(1)
.maxLines(2)
.textOverflow({ overflow: TextOverflow.Ellipsis })
.fontSize(20)
.lineHeight(26)
.fontWeight(500)
.constraintSize({maxWidth:180})
.onClick(()=>{
let params: editModelParams = {
editContent: this.userName
... ... @@ -206,7 +207,7 @@ struct MineHomePage {
.backgroundColor($r('app.color.color_transparent'))
.height(86)
.width('100%')
.padding({ left: 16 })
.padding({ left: 10 })
Column(){
... ... @@ -448,15 +449,12 @@ struct MineHomePage {
.fontWeight(this.currentIndex === index ? 600 : 400)
.fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor)
.lineHeight(20)
.height(40)
if(this.currentIndex === index){
Divider()
Image($r('app.media.icon_channel_active'))//.colorFilter(ColorUtils.getDrawingColorFilter(this.getBothColor("")))
.width(16)
.height(2)
.color('#ED2800')
.strokeWidth(2)
.margin({top: 40})
.margin({top: 30})
.id("divTag")
}
}.onClick(()=>{
... ...
import { CompDTO, ContentDTO, InteractDataDTO, LiveReviewDTO, LiveRoomDataBean, PageDTO, PageInfoDTO } from 'wdBean';
import { CompStyle, ViewType } from 'wdConstant/Index';
import { CompStyle, ContentConstants, ViewType } from 'wdConstant/Index';
import { CollectionUtils, DateTimeUtils, LazyDataSource, Logger, NetworkUtil, StringUtils, ToastUtils } from 'wdKit';
import { closeRefresh } from '../utils/PullDownRefresh';
import PageModel from './PageModel';
... ... @@ -15,6 +15,7 @@ import { viewBlogInsightIntentShare, ActionMode } from '../utils/InsightIntentSh
import { common } from '@kit.AbilityKit';
import { CacheData } from 'wdNetwork/Index';
import { closeLoadMore } from '../utils/PullUpLoadMore';
import { webview } from '@kit.ArkWeb';
const TAG = 'PageHelper';
... ... @@ -258,6 +259,8 @@ export class PageHelper {
// 批查互动数据
this.allCompBatchRequest(pageInfo.oneRequestPageGroupCompList.convertToArray(), pageModel)
// 提前预加载H5专题
this.preloadH5Topic(pageInfo.oneRequestPageGroupCompList.convertToArray())
// 记录第一页数量
this.saveFirstPageEndIndex(pageModel)
if (!isCache) {
... ... @@ -349,6 +352,8 @@ export class PageHelper {
this.loadMorePageComp(pageModel, data)
// 参与批查
this.allCompBatchRequest(data.compList, pageModel)
// 提前预加载H5专题
this.preloadH5Topic(data.compList)
}
}).catch((err: string | Resource) => {
promptAction.showToast({ message: err });
... ... @@ -489,6 +494,28 @@ export class PageHelper {
}
/**
* 预加载H5专题
* @param compList
*/
private preloadH5Topic(compList: CompDTO[]) {
compList.forEach((comp) => {
comp.operDataList.forEach((program) => {
if (program.objectType != ContentConstants.TYPE_SPECIAL_TOPIC) {
return
}
if (program.objectLevel == "22" || program.objectLevel == "25") { // 音频专题 和 早晚报专题
return
}
if (program.linkUrl.length > 0) {
Logger.debug(TAG, "预加载H5专题link: " + program.linkUrl)
webview.WebviewController.prepareForPageLoad(program.linkUrl, true, 2)
}
})
})
}
/**
* 直播回看的批查数据
* @param list
* @param compList
... ...
... ... @@ -66,7 +66,7 @@ export class PageViewModel extends BaseViewModel {
* @returns
*/
async getPageGroupCompData(pageModel: PageUIReqBean): Promise<PageDTO> {
Logger.debug(TAG, 'getPageData pageId: ' + pageModel.pageId);
Logger.debug(TAG, 'getPageGroupCompData pageId: ' + pageModel.pageId);
if (pageModel.isRecGroup) {
return this.parseComp(PageRepository.fetchRecCompData(pageModel))
} else {
... ... @@ -75,6 +75,7 @@ export class PageViewModel extends BaseViewModel {
}
private parseComp(getData: Promise<ResponseDTO<PageDTO>>): Promise<PageDTO> {
Logger.debug(TAG, 'parseComp11111111 ');
return new Promise<PageDTO>((success, error) => {
getData
.then((resDTO: ResponseDTO<PageDTO>) => {
... ... @@ -225,6 +226,7 @@ export class PageViewModel extends BaseViewModel {
}
async getPageInfo(pageId: string): Promise<PageInfoDTO> {
Logger.info(TAG, "getPageInfo:" + pageId);
return new Promise<PageInfoDTO>((success, error) => {
PageRepository.fetchPageData(pageId).then((resDTO: ResponseDTO<PageInfoDTO>) => {
if (!resDTO || !resDTO.data) {
... ... @@ -235,6 +237,9 @@ export class PageViewModel extends BaseViewModel {
Logger.info(TAG, "getPageInfo then,resDTO.timeStamp:" + resDTO.timestamp);
resDTO.data.md5 = resDTO.meta?.md5 || ''
success(resDTO.data as PageInfoDTO);
}).catch((err: Error) => {
Logger.error(TAG, `getPageInfo then,error.name : ${err.name}, error.message:${err.message}`);
error(err);
});
});
}
... ...
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><g transform="matrix(0,-1,1,0,-24,24)"><g><path d="M6.48671839,36.090092528686526C6.486514311,36.03864252868652,6.506040025,35.98713252868652,6.545295725,35.947872528686524L12.551938125,29.941231828686522C12.630038124999999,29.863126928686523,12.756678125,29.863126928686523,12.834778125,29.941231828686522L13.966148125,31.072602528686524C14.044258124999999,31.150702528686523,14.044258124999999,31.277342528686525,13.966148125,31.355442528686524L9.231508125,36.090092528686526L13.966148125,40.82478252868653C14.044258124999999,40.902882528686526,14.044258124999999,41.02948252868652,13.966148125,41.10758252868652L12.834778125,42.23898252868652C12.756678125,42.31708252868653,12.630038124999999,42.31708252868653,12.551938125,42.23898252868652L6.545295725,36.23231252868652C6.506040025,36.193062528686525,6.486514311,36.14154252868652,6.48671839,36.090092528686526Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g><g><rect x="9" y="35" width="12" height="2" rx="0.20000000298023224" fill="#FFFFFF" fill-opacity="1"/></g><g transform="matrix(0,-1,-1,0,50,50)"><g><path d="M5.144721,46.71056C5.0782313,46.84354,5.17493,47,5.323607,47L22.8,47C22.9105,47,23,46.91046,23,46.8L23,45.2C23,45.0895431,22.9105,45,22.8,45L6.12361,45C6.04785,45,5.9786,45.0428005,5.944721,45.110557L5.144721,46.71056Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></svg>
\ No newline at end of file
... ...
... ... @@ -138,8 +138,8 @@
background: #F5F5F5;
padding: 0.32rem;
color: #666666ff;
font-size: 0.37333333rem;
line-height: 0.53333333rem;
font-size: 0.42666667rem;
line-height: 0.64rem;
margin-top: 0.56rem;
border-radius: 0.10666667rem;
word-break: break-all;
... ... @@ -378,11 +378,13 @@
}
.gx-mobile #newsContent a {
color: #50749A !important;
word-break: break-all;
word-break: break-word;
overflow-wrap: break-word;
}
.gx-mobile #newsContent a span {
color: #50749A !important;
word-break: break-all;
word-break: break-word;
overflow-wrap: break-word;
}
.gx-mobile #newsContent a:last-child {
margin-bottom: 0 !important;
... ... @@ -399,7 +401,8 @@
padding: 0;
margin-bottom: 0.42666667rem !important;
box-sizing: border-box;
word-break: break-all;
word-break: break-word;
overflow-wrap: break-word;
}
.gx-mobile #newsContent P:empty {
display: none !important;
... ... @@ -488,9 +491,6 @@
padding: 0;
margin-bottom: 0.42666667rem;
}
.gx-mobile #newsContent section:empty {
display: none !important;
}
.gx-mobile #newsContent section:last-child {
margin-bottom: 0;
}
... ... @@ -2018,19 +2018,13 @@
flex-direction: column;
justify-content: space-between;
margin-left: 0.26667rem;
height: 1.17333rem;
}
#newsContent .preview-link-card-mobile .preview-link-title {
display: flex;
align-items: center;
font-size: 0.37333333rem;
height: 0.53333333rem;
line-height: 0.53333333rem;
color: #50749A;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
line-clamp: 1;
-webkit-box-orient: vertical;
word-break: break-all;
}
#newsContent .preview-link-card-mobile .preview-link {
... ... @@ -2038,24 +2032,24 @@
align-items: center;
line-height: 0.37333rem;
}
#newsContent .preview-link-card-mobile.card-image .preview-link-title {
-webkit-line-clamp: 2;
line-clamp: 2;
height: 1.06666667rem;
}
#newsContent .preview-link-card-mobile.card-image .preview-link {
display: none;
margin-bottom: 0.13333rem;
}
#newsContent .special-no-wrap {
white-space: nowrap;
}
#newsContent .preview-link-card-mobile .preview-link-title img {
position: relative;
top: 0.08rem;
width: 0.42666667rem;
height: 0.42666667rem;
display: unset;
background: unset;
margin: 0;
margin-right: 0.16rem;
margin-right: 0.26666667rem;
}
#newsContent .preview-link-card-mobile.card-image .preview-link-title img {
display: none;
}
#newsContent .preview-link-card-mobile .preview-link span {
font-size: 0.26667rem;
... ... @@ -2321,15 +2315,15 @@
#newsContent .en-text-1 + .preview-image-block {
margin-top: 0 !important;
}
#newsContent .en-text-1 img {
#newsContent .en-text-1 .en-text-1-img {
position: absolute;
top: 0.16rem;
top: 0.236rem;
left: 0.26666667rem;
width: 0.64rem;
height: 0.4rem;
margin: 0 !important;
}
#newsContent .en-text-1-title {
line-height: 0.816rem;
font-size: 0.48rem;
color: #222;
word-break: break-all;
... ... @@ -2346,7 +2340,6 @@
padding: 0.29333333rem;
border: 0.02666667rem solid #ED2800;
word-break: break-all;
line-height: 0.816rem;
font-size: 0.48rem;
color: #222;
}
... ... @@ -2368,7 +2361,6 @@
top: -0.4rem;
background: #fff;
padding-right: 0.08rem;
line-height: 0.816rem;
font-size: 0.48rem;
color: #ED2800;
font-weight: bold;
... ... @@ -2379,7 +2371,6 @@
background: #ED2800;
}
#newsContent .en-text-3 .en-text-3-content {
line-height: 0.816rem;
font-size: 0.48rem;
color: #222;
word-break: break-all;
... ... @@ -2403,7 +2394,6 @@
background-repeat: no-repeat;
background-size: 100%;
font-size: 0.48rem;
line-height: 0.816rem;
}
#newsContent .en-text-4 .en-text-4-block .en-text-4-title {
word-break: break-all;
... ... @@ -2441,7 +2431,6 @@
color: #fff;
font-weight: bold;
font-size: 0.48rem;
line-height: 0.816rem;
color: #FFFFFF;
flex-shrink: 0;
word-break: break-all;
... ... @@ -2454,7 +2443,6 @@
background: #f4e8e9;
font-weight: bold;
font-size: 0.48rem;
line-height: 0.58666667rem;
color: #ED2800;
word-break: break-all;
}
... ...
{"version":3,"sources":["index.less"],"names":[],"mappings":"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","file":"index.css"}
\ No newline at end of file
{"version":3,"sources":["index.less"],"names":[],"mappings":"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","file":"index.css"}
\ No newline at end of file
... ...
... ... @@ -199,8 +199,8 @@
background: #F5F5F5;
padding: 0.32rem;
color: @color_1;
font-size: (14 / 37.5rem);
line-height: (20 / 37.5rem);
font-size: (16 / 37.5rem);
line-height: (24 / 37.5rem);
margin-top: (21 / 37.5rem);
border-radius: (4 / 37.5rem);
word-break: break-all;
... ... @@ -486,11 +486,13 @@
a {
color: #50749A !important;
word-break: break-all;
word-break: break-word;
overflow-wrap: break-word;
span {
color: #50749A !important;
word-break: break-all;
word-break: break-word;
overflow-wrap: break-word;
}
&:last-child {
... ... @@ -511,7 +513,8 @@
padding: 0;
margin-bottom: (16 / 37.5rem) !important;
box-sizing: border-box;
word-break: break-all;
word-break: break-word;
overflow-wrap: break-word;
&:empty {
display: none !important;
... ... @@ -626,10 +629,6 @@
padding: 0;
margin-bottom: (16 / 37.5rem);
&:empty {
display: none !important;
}
&:last-child {
margin-bottom: 0;
}
... ... @@ -2420,20 +2419,14 @@
flex-direction: column;
justify-content: space-between;
margin-left: 0.26667rem;
height: 1.17333rem;
}
#newsContent .preview-link-card-mobile .preview-link-title {
display: flex;
align-items: center;
font-size: (14 / 37.5rem);
height: (20 / 37.5rem);
line-height: (20 / 37.5rem);
color: #50749A;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
line-clamp: 1;
-webkit-box-orient: vertical;
word-break: break-all;
}
... ... @@ -2444,9 +2437,6 @@
}
#newsContent .preview-link-card-mobile.card-image .preview-link-title {
-webkit-line-clamp: 2;
line-clamp: 2;
height: (40 / 37.5rem);
}
#newsContent .preview-link-card-mobile.card-image .preview-link {
... ... @@ -2454,15 +2444,22 @@
margin-bottom: 0.13333rem;
}
#newsContent .special-no-wrap {
white-space: nowrap;
}
#newsContent .preview-link-card-mobile .preview-link-title img {
position: relative;
top: (3 / 37.5rem);
width: (16 / 37.5rem);
height: (16 / 37.5rem);
display: unset;
background: unset;
margin: 0;
margin-right: (6 / 37.5rem);
margin-right: (10 / 37.5rem);
}
#newsContent .preview-link-card-mobile.card-image .preview-link-title img {
display: none;
}
#newsContent .preview-link-card-mobile .preview-link span {
... ... @@ -2797,17 +2794,17 @@
margin-top: 0 !important;
}
img {
.en-text-1-img {
position: absolute;
top: (6 / 37.5rem);
top: (8.85 / 37.5rem);
left: (10 / 37.5rem);
width: (24 / 37.5rem);
height: (15 / 37.5rem);
margin: 0 !important;
}
}
#newsContent .en-text-1-title {
line-height: ((18 * 1.7) / 37.5rem);
font-size: (18 / 37.5rem);
color: #222;
word-break: break-all;
... ... @@ -2827,7 +2824,6 @@
padding: .rem(11)[@result];
border: (1 / 37.5rem) solid #ED2800;
word-break: break-all;
line-height: ((18 * 1.7) / 37.5rem);
font-size: (18 / 37.5rem);
color: #222;
}
... ... @@ -2852,7 +2848,6 @@
top: -(15 / 37.5rem);
background: #fff;
padding-right: (3 / 37.5rem);
line-height: ((18 * 1.7) / 37.5rem);
font-size: (18 / 37.5rem);
color: #ED2800;
font-weight: bold;
... ... @@ -2865,7 +2860,6 @@
}
#newsContent .en-text-3 .en-text-3-content {
line-height: ((18 * 1.7) / 37.5rem);
font-size: (18 / 37.5rem);
color: #222;
word-break: break-all;
... ... @@ -2892,7 +2886,6 @@
background-repeat: no-repeat;
background-size: 100%;
font-size: (18 / 37.5rem);
line-height: ((18 * 1.7) / 37.5rem);
}
#newsContent .en-text-4 .en-text-4-block .en-text-4-title {
... ... @@ -2936,7 +2929,6 @@
color: #fff;
font-weight: bold;
font-size: (18 / 37.5rem);
line-height: ((18 * 1.7) / 37.5rem);
color: #FFFFFF;
flex-shrink: 0;
word-break: break-all;
... ... @@ -2950,7 +2942,6 @@
background: #f4e8e9;
font-weight: bold;
font-size: (18 / 37.5rem);
line-height: (22 / 37.5rem);
color: #ED2800;
word-break: break-all;
}
... ...
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="15" viewBox="0 0 24 15"><g><g transform="matrix(-1,0,0,-1,48,30)" style="opacity:0.20000000298023224;"><path d="M34,14.999999999999993L24,14.999999999999993L24,23.330379999999998L26.649259999999998,23.330379999999998C26.649259999999998,23.330379999999998,26.5212,25.54,24,26.223100000000002L24,30C24,30,33.615449999999996,28.232,34,20.79888L34,14.999999999999993Z" fill-rule="evenodd" fill="#ED2800" fill-opacity="1"/></g><g transform="matrix(-1,0,0,-1,20,30)" style="opacity:0.20000000298023224;"><path d="M20,14.999999999999993L10,14.999999999999993L10,23.330379999999998L12.64926,23.330379999999998C12.64926,23.330379999999998,12.5212,25.54,10,26.223100000000002L10,30C10,30,19.61545,28.232,20,20.79888L20,14.999999999999993Z" fill-rule="evenodd" fill="#ED2800" fill-opacity="1"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="15" viewBox="0 0 24 15"><g><g transform="matrix(-1,0,0,-1,48,30)" style="opacity:0.20000000298023224;"><path d="M34,14.999999999999993L24,14.999999999999993L24,23.330379999999998L26.649259999999998,23.330379999999998C26.649259999999998,23.330379999999998,26.5212,25.54,24,26.223100000000002L24,30C24,30,33.615449999999996,28.232,34,20.79888L34,14.999999999999993Z" fill-rule="evenodd" fill="#ED2800" fill-opacity="1"/></g><g transform="matrix(-1,0,0,-1,20,30)" style="opacity:0.20000000298023224;"><path d="M20,14.999999999999993L10,14.999999999999993L10,23.330379999999998L12.64926,23.330379999999998C12.64926,23.330379999999998,12.5212,25.54,10,26.223100000000002L10,30C10,30,19.61545,28.232,20,20.79888L20,14.999999999999993Z" fill-rule="evenodd" fill="rgba(255,255,255,1)" fill-opacity="1"/></g></g></svg>
... ...
... ... @@ -29,7 +29,7 @@
}
}
</script>
<!-- <script src="./js/plugin/vconsole.min.js" onload="vconsoleFun(this)"></script>-->
<!--<script src="./js/plugin/vconsole.min.js" onload="vconsoleFun(this)"></script>-->
<script src="./js/utils/initialization.js"></script>
<script src="./js/plugin/rem.js"></script>
<script src="./js/utils/nativeUtil.js"></script>
... ... @@ -427,86 +427,86 @@
</div>
<!-- 分享 -->
<!-- <div class="share" v-if="shareOpen" :style="{ marginTop: actieInfo.show ? '0.64rem' : undefined }">-->
<!-- <div-->
<!-- v-if="details.shareInfo.sharePosterOpen == 1"-->
<!-- class="sharePoster share-wrapper share-box"-->
<!-- @click="openShare('8')"-->
<!-- :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}%)` : undefined }"-->
<!-- >-->
<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/firstStart@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/firstStart.png" alt="">-->
<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/firstCenter@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/firstCenter.png" alt="">-->
<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/firstEnd@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/firstEnd.png" alt="">-->
<!-- <div class="share-content">-->
<!-- <img src="./image/share/poster.svg" alt="">-->
<!-- <span>海报</span>-->
<!-- </div>-->
<!-- <img v-if="shareNewPoster" class="news" src="./image/share/posterNew.svg" alt="">-->
<!-- </div>-->
<!-- <div-->
<!-- class="share-wechat share-wrapper"-->
<!-- :class="details.shareInfo.sharePosterOpen == 1 ? 'share-box-center center' : 'share-box'"-->
<!-- @click="openShare('3')"-->
<!-- :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}% + ${5.8/37.5}rem)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"-->
<!-- >-->
<!-- -->
<!-- <template v-if="details.shareInfo.sharePosterOpen == 1">-->
<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/secondStart@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/secondStart.png" alt="">-->
<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/secondCenter@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/secondCenter.png" alt="">-->
<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/secondEnd@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/secondEnd.png" alt="">-->
<!-- </template>-->
<!-- <template v-else>-->
<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/firstStart@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/firstStart.png" alt="">-->
<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/firstCenter@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/firstCenter.png" alt="">-->
<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/firstEnd@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/firstEnd.png" alt="">-->
<!-- </template>-->
<!-- <div class="share-content">-->
<!-- <img src="./image/share/wechat.svg" alt="">-->
<!-- <span>微信</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div-->
<!-- class="share-wechat-circle share-box-center share-wrapper"-->
<!-- @click="openShare('4')"-->
<!-- :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}% + ${5.8/37.5}rem)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"-->
<!-- >-->
<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/secondStart@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/secondStart.png" alt="">-->
<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/secondCenter@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/secondCenter.png" alt="">-->
<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/secondEnd@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/secondEnd.png" alt="">-->
<!-- <div class="share-content">-->
<!-- <img src="./image/share/wechatCircle.svg" alt="">-->
<!-- <span>朋友圈</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div-->
<!-- class="share-weibo share-box-last share-wrapper"-->
<!-- @click="openShare('5')"-->
<!-- :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}%)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"-->
<!-- >-->
<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/thirdStart@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/thirdStart.png" alt="">-->
<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/thirdCenter@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/thirdCenter.png" alt="">-->
<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/thirdEnd@1x.png" alt="">-->
<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/thirdEnd.png" alt="">-->
<!-- <div class="share-content">-->
<!-- <img src="./image/share/weibo.svg" alt="">-->
<!-- <span>微博</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="share" v-if="shareOpen" :style="{ marginTop: actieInfo.show ? '0.64rem' : undefined }">
<div
v-if="details.shareInfo.sharePosterOpen == 1"
class="sharePoster share-wrapper share-box"
@click="openShare('8')"
:style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}%)` : undefined }"
>
<img v-if="darkMode === 'light'" class="image-first" src="./image/share/firstStart@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/firstStart.png" alt="">
<img v-if="darkMode === 'light'" class="image-center" src="./image/share/firstCenter@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/firstCenter.png" alt="">
<img v-if="darkMode === 'light'" class="image-end" src="./image/share/firstEnd@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/firstEnd.png" alt="">
<div class="share-content">
<img src="./image/share/poster.svg" alt="">
<span>海报</span>
</div>
<img v-if="shareNewPoster" class="news" src="./image/share/posterNew.svg" alt="">
</div>
<div
class="share-wechat share-wrapper"
:class="details.shareInfo.sharePosterOpen == 1 ? 'share-box-center center' : 'share-box'"
@click="openShare('3')"
:style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}% + ${5.8/37.5}rem)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"
>
<template v-if="details.shareInfo.sharePosterOpen == 1">
<img v-if="darkMode === 'light'" class="image-first" src="./image/share/secondStart@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/secondStart.png" alt="">
<img v-if="darkMode === 'light'" class="image-center" src="./image/share/secondCenter@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/secondCenter.png" alt="">
<img v-if="darkMode === 'light'" class="image-end" src="./image/share/secondEnd@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/secondEnd.png" alt="">
</template>
<template v-else>
<img v-if="darkMode === 'light'" class="image-first" src="./image/share/firstStart@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/firstStart.png" alt="">
<img v-if="darkMode === 'light'" class="image-center" src="./image/share/firstCenter@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/firstCenter.png" alt="">
<img v-if="darkMode === 'light'" class="image-end" src="./image/share/firstEnd@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/firstEnd.png" alt="">
</template>
<div class="share-content">
<img src="./image/share/wechat.svg" alt="">
<span>微信</span>
</div>
</div>
<div
class="share-wechat-circle share-box-center share-wrapper"
@click="openShare('4')"
:style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}% + ${5.8/37.5}rem)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"
>
<img v-if="darkMode === 'light'" class="image-first" src="./image/share/secondStart@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/secondStart.png" alt="">
<img v-if="darkMode === 'light'" class="image-center" src="./image/share/secondCenter@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/secondCenter.png" alt="">
<img v-if="darkMode === 'light'" class="image-end" src="./image/share/secondEnd@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/secondEnd.png" alt="">
<div class="share-content">
<img src="./image/share/wechatCircle.svg" alt="">
<span>朋友圈</span>
</div>
</div>
<div
class="share-weibo share-box-last share-wrapper"
@click="openShare('5')"
:style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}%)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"
>
<img v-if="darkMode === 'light'" class="image-first" src="./image/share/thirdStart@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/thirdStart.png" alt="">
<img v-if="darkMode === 'light'" class="image-center" src="./image/share/thirdCenter@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/thirdCenter.png" alt="">
<img v-if="darkMode === 'light'" class="image-end" src="./image/share/thirdEnd@1x.png" alt="">
<img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/thirdEnd.png" alt="">
<div class="share-content">
<img src="./image/share/weibo.svg" alt="">
<span>微博</span>
</div>
</div>
</div> -->
<div class="reload-page" v-if="baseNode == 'dev'" @click="mockAppClearData">模拟app复用重新加载</div>
</div>
... ... @@ -533,6 +533,7 @@
<div id="hidden"></div>
<div id="hiddenArticle"></div>
<!-- Plugin 的 JS 文件 -->
<script src="./js/plugin/jquery.min.js"></script>
<script src="./js/plugin/vue3.min.js"></script>
<script src="./js/plugin/day.min.js"></script>
<script src="./js/plugin/relativeTime.min.js"></script>
... ...
... ... @@ -36,14 +36,14 @@ function useAudio(audioState, details) {
const audioStyleTotalTime = item.querySelector('.audio-durtion')
const audioProgress = item.querySelector('.audio-progressed')
const durationFun = function () {
audioStyleTotalTime.innerHTML = transTime(item_audio.duration)
jqHtml(audioStyleTotalTime, { type: 'set', str: transTime(item_audio.duration) })
}
item_audio.addEventListener('durationchange', durationFun)
audioEvent.duration.push(durationFun)
const timeFun = function () {
audioStyleCurTime.innerHTML = transTime(item_audio.currentTime)
jqHtml(audioStyleCurTime, { type: 'set', str: transTime(item_audio.currentTime) })
if (audioProgress) {
audioProgress.style.width = `${(item_audio.currentTime / item_audio.duration) * 100}%`
}
... ... @@ -60,7 +60,7 @@ function useAudio(audioState, details) {
const errorFun = function () {}
const endedFun = function () {
audioStyleCurTime.innerHTML = '00:00'
jqHtml(audioStyleCurTime, { type: 'set', str: '00:00' })
}
item_audio.addEventListener('error', errorFun)
... ...
... ... @@ -8,7 +8,7 @@ let audioTitleElList = []
function trimContentInBlockTagsUsingDOM(html, inlineTags) {
// 创建一个容器元素来解析HTML字符串
const container = document.createElement('div')
container.innerHTML = html
jqHtml(container, { type: 'set', str: html })
// 获取所有块级元素
const blockTags = container.querySelectorAll('*')
... ... @@ -27,48 +27,49 @@ function trimContentInBlockTagsUsingDOM(html, inlineTags) {
})
// 返回处理后的HTML字符串
return container.innerHTML
return jqHtml(container, { type: 'get' })
}
function trimContentFirstUsingDOM(html) {
// 创建一个容器元素来解析HTML字符串
const container = document.createElement('div')
container.innerHTML = html
jqHtml(container, { type: 'set', str: html })
// 获取所有块级元素
const blockTags = Array.from(container.children).map(child => child);
const blockTags = Array.from(container.children).map(child => child)
blockTags.forEach(node => {
let firstChild = node.firstChild;
let firstChild = node.firstChild
while (firstChild) {
if (firstChild.nodeType === Node.TEXT_NODE) {
// 如果是文本节点,去除首行空白
firstChild.textContent = firstChild.textContent.replace(/^\s+/, '');
break;
firstChild.textContent = firstChild.textContent.replace(/^\s+/, '')
break
} else if (firstChild.nodeType === Node.ELEMENT_NODE) {
// 如果是元素节点,继续找其第一个子元素
firstChild = firstChild.firstChild;
firstChild = firstChild.firstChild
} else {
// 如果既不是文本节点也不是元素节点,跳出循环
break;
break
}
}
})
// 返回处理后的HTML字符串
return container.innerHTML
return jqHtml(container, { type: 'get' })
}
function clearImgaeLinkStyle(html) {
// 创建一个容器元素来解析HTML字符串
const container = document.createElement('div')
container.innerHTML = html
jqHtml(container, { type: 'set', str: html })
// 获取所有块级元素
const imageLinkEls = container.querySelectorAll('a[class^="imageLink_"]')
imageLinkEls.forEach(el => el.setAttribute('style', ''))
// 返回处理后的HTML字符串
return container.innerHTML
return jqHtml(container, { type: 'get' })
}
function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitch, recordTime) {
... ... @@ -188,6 +189,7 @@ function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitc
str = str.replace(/<VIDEO(.*?)poster="(.*?)"(.*?)>/g, '<VIDEO$1poster="" data-poster="$2"$3>')
str = str.replace(/<p>\s*<\/p>/g, '')
str = str.replace(/[\u200B-\u200D\uFEFF]/g, '')
str = str.replace(/‘/g, '\'')
str = htmlDecode(str)
// 这一步去除元素与元素之间的空格
str = str.replace(/>\s+</g, '><')
... ... @@ -215,9 +217,9 @@ function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitc
})
}
}
document.querySelector('#newsContent').innerHTML = str
const realHtml = document.querySelector('#newsContent').innerHTML
document.querySelector('#newsContent').innerHTML = ''
jqHtml('#newsContent', { type: 'set', str })
const realHtml = jqHtml('#newsContent', { type: 'get' })
jqHtml('#newsContent', { type: 'set', str: '' })
domUtil.handleArticleStr(realHtml, (type, option) => {
if (type === 1) {
addPreview()
... ... @@ -231,6 +233,7 @@ function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitc
loadCSS('./css/swiper-bundle.min.css')
}
}, details.value, netstutas.value, loadlmageOnlyWifiSwitch.value)
clearEmptyPel()
// errorBlock(
// './image/content_fail.svg',
... ... @@ -300,25 +303,17 @@ function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitc
}
} catch (error) {}
let inner = dataInfo && (typeof dataInfo === 'undefined'
const inner = dataInfo && (typeof dataInfo === 'undefined'
? 'undefined'
: typeof dataInfo === 'object' && dataInfo.jumpType && dataInfo.jumpType == 'internal')
if (!inner) {
// TODO 这里判断第二种方法:url地址规则判断是否端内打开
}
if (window.config.VUE_BASE_NODE === 'dev') {
console.log(inner)
console.log(dataInfo)
// if (url) window.open(url)
} else {
if (inner && url) {
jumpAppInnerFun(dataInfo, url)
} else if (url) {
sendNative('jsCall_appInnerLinkMethod', {
appInnerLink: `rmrbapp://rmrb.app/openwith?type=h5&url=${encodeURIComponent(url)}&skipType=4`
})
}
console.log(inner)
console.log(dataInfo)
if (inner && url) {
jumpAppInnerFun(dataInfo, url)
} else if (url) {
sendNative('jsCall_appInnerLinkMethod', {
appInnerLink: `rmrbapp://rmrb.app/openwith?type=h5&url=${encodeURIComponent(url)}&skipType=4`
})
}
} catch (e) {}
})
... ...
... ... @@ -217,8 +217,8 @@ const app = Vue.createApp({
// document.documentElement.setAttribute('data-size', state.appFontSize)
state.environment = window.config.VUE_BASE_HEADER.environment
// channelId.value = 2038
// state.relId = 500004381239
state.contentId = 30037809321
state.relId = 500004384175
state.contentId = 30037827178
contentId = state.contentId
clearInterval(time.value)
setTimeout(() => {
... ... @@ -349,7 +349,7 @@ const app = Vue.createApp({
url: '/content/zh/c/content/detail',
methot: 'post',
appStatus: false,
// isMock: true,
isMock: true,
// weakNetwork: true,
// mockTimeOut: 10,
//环境
... ... @@ -570,9 +570,6 @@ const app = Vue.createApp({
if (browseCnt.value && ![ '0', 'undefined', 'null' ].includes(browseCnt.value)) {
hasReadCount.value = true
browseStr.value = `浏览量${browseCnt.value}`
// if (document.querySelector('.browseCntStr')) {
// document.querySelector('.browseCntStr').innerHTML = `浏览量${browseCnt.value}`
// }
} else {
hasReadCount.value = false
}
... ... @@ -762,6 +759,7 @@ const app = Vue.createApp({
// break
// }
// }
console.log(state.details.newLinkObject)
try {
sendNative(
'jsCall_receiveH5Data',
... ... @@ -1593,12 +1591,7 @@ const app = Vue.createApp({
width: calc(${oneWidth}% - 0.5px);
}
}`
voteAnimate.innerHTML += oneCssStr
// setTimeout(() => voteAnimate.innerHTML += oneCssStr, 100)
// const style = document.createElement('style')
// style.setAttribute('type', 'text/css')
// document.head.appendChild(style)
// style.sheet.insertRule(oneCssStr, 0)
jqHtml(voteAnimate, { type: 'set', str: jqHtml(voteAnimate, { type: 'get' }) + oneCssStr })
}
if (twoWidth && index === 1 && state.details.voteInfo.style == 1) {
... ... @@ -1611,13 +1604,7 @@ const app = Vue.createApp({
width: calc(${twoWidth}% - 0.5px);
}
}`
voteAnimate.innerHTML += twoCssStr
// setTimeout(() => voteAnimate.innerHTML += twoCssStr, 100)
// voteAnimate.innerHTML += twoCssStr
// const style = document.createElement('style')
// style.setAttribute('type', 'text/css')
// document.head.appendChild(style)
// style.sheet.insertRule(twoCssStr, 0)
jqHtml(voteAnimate, { type: 'set', str: jqHtml(voteAnimate, { type: 'get' }) + twoCssStr })
}
const oneStyle = {
... ... @@ -1876,17 +1863,6 @@ const app = Vue.createApp({
* @lastTime 2024/7/5
* @description 与App交互方法
*/
const toast = str => {
try {
//调取App弹窗通用提示
sendNative('jsCall_showGeneralTips', {
//1、Toast提示 2、Alert提示
tipStyle: '1',
// 提示字符串
tipString: str
})
} catch (e) { }
}
const setAppLogin = () => {
// 未登录时执行,拉起app登录
try {
... ... @@ -1931,12 +1907,9 @@ const app = Vue.createApp({
}
// 页面离开的时候初始化
const clearData = () => {
// if (document.querySelector('.browseCntStr')) {
// document.querySelector('.browseCntStr').innerHTML = ``
// }
clearTimeout(pageLoadOutTime)
document.querySelector('.error-block').style.display = 'none'
document.querySelector('#newsContent').innerHTML = ''
jqHtml('#newsContent', { type: 'set', str: '' })
loadingBlock(true)
document.querySelector('.skeleton-loading').classList.add('active')
appBlock(false)
... ...
... ... @@ -707,7 +707,7 @@ function getArticleDetails() {
</section>
<p><br></p>`,
newsSourceName: Mock.Random.ctitle(80, 100),
newsContent: `<p><img src="https://uatjdcdnphoto.aikan.pdnews.cn/zhbj-20240802/image/content/83b9687d5c4b4c6488d4f40abede1025.jpeg" class="139779484" style="max-width:100%"</p><p class="rmrb-caption-img">测试</p>`,
// newsContent: `<p>测试下测试下测试下测试下测试下测试测700测试下测试下测试下测试下测试测你“你好呢你好呢你好呢你好呢你好呢”测试下测试测吃测试测测试测测试测测试测测试测测试测测试测试“你正在洒水的”测试测测试测测试测测试测</p>`,
coverImgUrl: handleRandomImage(343, 197),
imageUrl: handleRandomImage(50, 50),
adress: 'Cai Hairuo, Liang Jun',
... ...
... ... @@ -48,7 +48,7 @@ class Events {
}
this.layerDom.toggleCommonLayer(this.player.template.$loading, false)
this.player.template.$bottomDuration.innerHTML = `${formatDuraton(this.player.player.getDuration())}`
$(this.player.template.$bottomDuration).html(`${formatDuraton(this.player.player.getDuration())}`)
if (hasClass(this.player.template.$container.parentNode, 'init')) {
this.player.template.$cover.querySelector('.player-state-icon').style.display = 'none'
... ...
... ... @@ -45,7 +45,7 @@ class TouchInt {
? player.player.getDuration() : currentTime < 0 ? 0 : currentTime
// 设置 player-loaded 的宽度为百分比值
player.template.$bottomCurrent.innerHTML = `${formatDuraton(currentTime)}`
jqHtml(player.template.$bottomCurrent, { type: 'set', str: `${formatDuraton(currentTime)}` })
player.template.$bottomLoaded.style.width = `${percentage}%`
player.template.$miniProgressLoaded.style.width = `${percentage}%`
} else {
... ... @@ -74,8 +74,7 @@ class TouchInt {
player.template.$video.currentTime = currentTime > player.player.getDuration()
? player.player.getDuration() : currentTime < 0 ? 0 : currentTime
player.template.$bottomCurrent.innerHTML = `${formatDuraton(currentTime)}`
jqHtml(player.template.$bottomCurrent, { type: 'set', str: `${formatDuraton(currentTime)}` })
player.template.$bottomLoaded.style.width = `${width * 100}%`
player.template.$miniProgressLoaded.style.width = `${width * 100}%`
... ... @@ -101,8 +100,7 @@ class TouchInt {
? player.player.getDuration() : currentTime < 0 ? 0 : currentTime
event.layerDom.tooglePlayerBottom(false, 3000)
player.template.$bottomCurrent.innerHTML = `${formatDuraton(currentTime)}`
jqHtml(player.template.$bottomCurrent, { type: 'set', str: `${formatDuraton(currentTime)}` })
player.template.$bottomLoaded.style.width = `${percentage}%`
player.template.$miniProgressLoaded.style.width = `${percentage}%`
this.progressType = 'click'
... ...
... ... @@ -24,12 +24,12 @@ class Template {
}
init() {
document.querySelector('#hidden').innerHTML = Template.html
jqHtml('#hidden', { type: 'set', str: Template.html })
const childrenList = document.querySelector('#hidden').children
for (let i = 0; i < childrenList.length; i += 1) {
this.$container.append(childrenList[i].cloneNode(true))
}
document.querySelector('#hidden').innerHTML = ''
jqHtml('#hidden', { type: 'set', str: '' })
this.$video = this.query('video', this.$container)
this.$error = this.query('.player-error', this.$container)
... ...
... ... @@ -2,16 +2,96 @@ class DomUtil {
//dom:"#newsContent"
constructor(dom) {
this.dom = dom
this.regxList = [ '“', "‘", '"', "'" ]
}
$dom(dom, all) {
return document[all ? 'querySelectorAll' : 'querySelector'](
dom || this.dom
)
return document[all ? 'querySelectorAll' : 'querySelector'](dom || this.dom)
}
clearHtml() {
document.querySelector('.gx-mobile #newsContent').innerHTML = ''
jqHtml('.gx-mobile #newsContent', { type: 'set', str: '' })
}
wrapNumbersInTags(html, regx) {
const container = document.createElement('div')
jqHtml(container, { type: 'set', str: html })
const textNodes = []
// Function to recursively find all text nodes
function getTextNodes(node) {
if (node.nodeType === Node.TEXT_NODE) {
textNodes.push(node)
} else {
node.childNodes.forEach(child => getTextNodes(child))
}
}
getTextNodes(container)
textNodes.forEach(textNode => {
this.wrapNumbersInTextNode(textNode, regx)
})
return jqHtml(container, { type: 'get' })
}
wrapNumbersInTextNode(textNode, regx) {
// 获取当前的文本内容
const textContent = textNode.nodeValue
// 正则表达式匹配所有数字
let numberPattern
switch (regx) {
case 'd':
numberPattern = /\d+/g
break
case '“':
numberPattern = /“([^]+)”/g
break
case '‘':
numberPattern = /‘([^]+)’/g
break
case '"':
numberPattern = /"([^"]+)"/g
break
case "'":
numberPattern = /'([^']+)'/g
break
}
// 创建 DocumentFragment 来替换文本节点
const fragment = document.createDocumentFragment()
// 使用正则表达式分割文本并找到所有数字
let lastIndex = 0
let match
while ((match = numberPattern.exec(textContent)) !== null) {
// 在找到的数字之前的文本
const beforeText = textContent.slice(lastIndex, match.index)
if (beforeText) {
fragment.appendChild(document.createTextNode(beforeText))
}
// 创建包含所需数字的 span 元素
const span = document.createElement('span')
span.className = 'special-no-wrap'
span.textContent = match[0]
fragment.appendChild(span)
// 更新 lastIndex 以继续查找剩余文本中的数字
lastIndex = match.index + match[0].length
}
// 添加剩余的文本内容
const afterText = textContent.slice(lastIndex)
if (afterText) {
fragment.appendChild(document.createTextNode(afterText))
}
// 用 fragment 替换原来的文本节点
textNode.parentNode.replaceChild(fragment, textNode)
}
handleArticleStr(str, nextCallback, details, netstutas, loadlmageOnlyWifiSwitch) {
... ... @@ -26,7 +106,7 @@ class DomUtil {
}
const contentWidth = document.querySelector('body').getBoundingClientRect().width - padding * 2
document.querySelector('#newsContent').innerHTML = str
jqHtml('#newsContent', { type: 'set', str })
const audioOringin = document.querySelectorAll('#newsContent audio')
for (let i = 0; i < audioOringin.length; i++) {
... ... @@ -148,12 +228,29 @@ class DomUtil {
let title = ''
let bgHex = ''
let borderColor = ''
let styleString = ''
let contentStyle = {}
const el = document.createElement('div')
el.classList.add('en-text-1')
const borderEl = text1Dom[i].querySelector('div#border')
const titleEl = text1Dom[i].querySelector('p#content')
if (titleEl) {
title = titleEl.textContent
title = jqHtml(titleEl, { type: 'get' })
const inlineStyles = titleEl.style
for (let i = 0; i < inlineStyles.length; i++) {
const property = inlineStyles[i]
// 你可以选择性地过滤或直接复制所有内联样式
if (!property.startsWith('padding') && !property.includes('margin') && !property.includes('width') && !property.includes(
'height') && property !== 'line-height' && property !== 'font-size' && property !== 'font-family') {
contentStyle[property] = inlineStyles.getPropertyValue(property)
}
}
for (const property in contentStyle) {
if (contentStyle.hasOwnProperty(property)) {
styleString += `${property}: ${contentStyle[property]}; `
}
}
}
if (borderEl) {
... ... @@ -162,7 +259,10 @@ class DomUtil {
}
el.style.borderLeftColor = borderColor
el.style.backgroundColor = bgHex
el.innerHTML = `<img data-src="./image/textDesIcon.svg" class="not-preview-image local-image" src="./image/textDesIcon.svg" alt=""><div class="en-text-1-title">${title}</div>`
jqHtml(el, {
type: 'set',
str: `<svg class="en-text-1-img" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="15" viewBox="0 0 24 15"><g><g transform="matrix(-1,0,0,-1,48,30)" style="opacity:0.20000000298023224;"><path d="M34,14.999999999999993L24,14.999999999999993L24,23.330379999999998L26.649259999999998,23.330379999999998C26.649259999999998,23.330379999999998,26.5212,25.54,24,26.223100000000002L24,30C24,30,33.615449999999996,28.232,34,20.79888L34,14.999999999999993Z" fill-rule="evenodd" fill="${rgbToRgba(borderColor, 1)}" fill-opacity="1"/></g><g transform="matrix(-1,0,0,-1,20,30)" style="opacity:0.20000000298023224;"><path d="M20,14.999999999999993L10,14.999999999999993L10,23.330379999999998L12.64926,23.330379999999998C12.64926,23.330379999999998,12.5212,25.54,10,26.223100000000002L10,30C10,30,19.61545,28.232,20,20.79888L20,14.999999999999993Z" fill-rule="evenodd" fill="${rgbToRgba(borderColor, 1)}" fill-opacity="1"/></g></g></svg><div class="en-text-1-title" style="${styleString}">${title}</div>`
})
text1Dom[i].before(el)
text1Dom[i].remove()
}
... ... @@ -171,19 +271,36 @@ class DomUtil {
for (let i = 0; i < text2Dom.length; i++) {
let title = ''
let borderColor = ''
let styleString = ''
let contentStyle = {}
const el = document.createElement('div')
el.classList.add('en-text-2')
const borderEl = text2Dom[i].querySelector('div#border')
const titleEl = text2Dom[i].querySelector('div#content')
if (titleEl) {
title = titleEl.textContent
title = jqHtml(titleEl, { type: 'get' })
const inlineStyles = titleEl.style
for (let i = 0; i < inlineStyles.length; i++) {
const property = inlineStyles[i]
// 你可以选择性地过滤或直接复制所有内联样式
if (!property.startsWith('padding') && !property.includes('margin') && !property.includes('width') && !property.includes(
'height') && property !== 'line-height' && property !== 'font-size' && property !== 'font-family') {
contentStyle[property] = inlineStyles.getPropertyValue(property)
}
}
for (const property in contentStyle) {
if (contentStyle.hasOwnProperty(property)) {
styleString += `${property}: ${contentStyle[property]}; `
}
}
}
if (borderEl) {
borderColor = borderEl.style.borderColor
}
el.style.borderColor = borderColor
el.innerHTML = `<div class="en-text-2-title" style="border-color: ${borderColor}">${title}</div>`
jqHtml(el, { type: 'set', str: `<div class="en-text-2-title" style="${styleString}">${title}</div>` })
text2Dom[i].before(el)
text2Dom[i].remove()
}
... ... @@ -192,16 +309,33 @@ class DomUtil {
for (let i = 0; i < text3Dom.length; i++) {
let title = ''
let content = ''
let titleColor = ''
let borderColor = ''
let styleString = ''
let titleStyleStr = ''
let titleStyle = {}
let contentStyle = {}
const el = document.createElement('div')
el.classList.add('en-text-3')
const borderEl = text3Dom[i].querySelector('div#border')
const titleEl = text3Dom[i].querySelector('span#title')
const contentEl = text3Dom[i].querySelector('p#content')
if (titleEl) {
titleColor = titleEl.style.color
title = titleEl.textContent
title = jqHtml(titleEl, { type: 'get' })
const inlineStyles = titleEl.style
for (let i = 0; i < inlineStyles.length; i++) {
const property = inlineStyles[i]
// 你可以选择性地过滤或直接复制所有内联样式
if (!property.startsWith('padding') && !property.includes('margin') && !property.includes('width') && !property.includes(
'height') && property !== 'line-height' && property !== 'font-size' && property !== 'font-family') {
titleStyle[property] = inlineStyles.getPropertyValue(property)
}
}
for (const property in titleStyle) {
if (titleStyle.hasOwnProperty(property)) {
titleStyleStr += `${property}: ${titleStyle[property]}; `
}
}
}
if (borderEl) {
... ... @@ -209,11 +343,29 @@ class DomUtil {
}
if (contentEl) {
content = contentEl.textContent
content = jqHtml(contentEl, { type: 'get' })
const inlineStyles = contentEl.style
for (let i = 0; i < inlineStyles.length; i++) {
const property = inlineStyles[i]
// 你可以选择性地过滤或直接复制所有内联样式
if (!property.startsWith('padding') && !property.includes('margin') && !property.includes('width') && !property.includes(
'height') && property !== 'line-height' && property !== 'font-size' && property !== 'font-family') {
contentStyle[property] = inlineStyles.getPropertyValue(property)
}
}
for (const property in contentStyle) {
if (contentStyle.hasOwnProperty(property)) {
styleString += `${property}: ${contentStyle[property]}; `
}
}
}
el.style.borderColor = borderColor
el.innerHTML = `<div class="en-text-3-title " style="color: ${titleColor}"><i class="en-text-3-point" style="background: ${borderColor}"></i>${title}</div><div class="en-text-3-content">${content}</div>`
jqHtml(el, {
type: 'set',
str: `<div class="en-text-3-title" style="${titleStyleStr}"><i class="en-text-3-point" style="background: ${borderColor}"></i>${title}</div><div class="en-text-3-content" style="${styleString}">${content}</div>`
})
text3Dom[i].before(el)
text3Dom[i].remove()
}
... ... @@ -222,20 +374,38 @@ class DomUtil {
for (let i = 0; i < text4Dom.length; i++) {
let title = ''
let bgHex = ''
let titleColor = ''
let styleString = ''
let contentStyle = {}
const el = document.createElement('div')
el.classList.add('en-text-4')
const borderEl = text4Dom[i].querySelector('div#border')
const titleEl = text4Dom[i].querySelector('h4#title')
if (titleEl) {
title = titleEl.textContent
titleColor = titleEl.style.color
title = jqHtml(titleEl, { type: 'get' })
const inlineStyles = titleEl.style
for (let i = 0; i < inlineStyles.length; i++) {
const property = inlineStyles[i]
// 你可以选择性地过滤或直接复制所有内联样式
if (!property.startsWith('padding') && !property.includes('margin') && !property.includes('width') && !property.includes(
'height') && property !== 'line-height' && property !== 'font-size' && property !== 'font-family') {
contentStyle[property] = inlineStyles.getPropertyValue(property)
}
}
for (const property in contentStyle) {
if (contentStyle.hasOwnProperty(property)) {
styleString += `${property}: ${contentStyle[property]}; `
}
}
}
if (borderEl) {
bgHex = borderEl.style.backgroundColor
}
el.innerHTML = `<div class="en-text-4-block" style="background-color: ${bgHex}"><div class="en-text-4-title " style="color: ${titleColor}">${title}</div><div class="en-text-4-end" style="background: ${bgHex}"></div></div>`
jqHtml(el, {
type: 'set',
str: `<div class="en-text-4-block" style="background-color: ${bgHex}"><div class="en-text-4-title" style="${styleString}">${title}</div><div class="en-text-4-end" style="background: ${bgHex}"></div></div>`
})
text4Dom[i].before(el)
text4Dom[i].remove()
}
... ... @@ -244,10 +414,11 @@ class DomUtil {
for (let i = 0; i < text5Dom.length; i++) {
let title = ''
let titleBg = ''
let titleColor = ''
let num = ''
let numBg = ''
let numColor = ''
let styleString = ''
let contentStyle = {}
const el = document.createElement('div')
el.classList.add('en-text-5')
const borderEl = text5Dom[i].querySelector('div#border')
... ... @@ -259,14 +430,31 @@ class DomUtil {
}
const titleEl = text5Dom[i].querySelector('h4#title')
if (titleEl) {
title = titleEl.textContent
titleColor = titleEl.style.color
title = jqHtml(titleEl, { type: 'get' })
const inlineStyles = titleEl.style
for (let i = 0; i < inlineStyles.length; i++) {
const property = inlineStyles[i]
// 你可以选择性地过滤或直接复制所有内联样式
if (!property.startsWith('padding') && !property.includes('margin') && !property.includes('width') && !property.includes(
'height') && property !== 'line-height' && property !== 'font-size' && property !== 'font-family') {
contentStyle[property] = inlineStyles.getPropertyValue(property)
}
}
for (const property in contentStyle) {
if (contentStyle.hasOwnProperty(property)) {
styleString += `${property}: ${contentStyle[property]}; `
}
}
}
if (borderEl) {
titleBg = borderEl.style.backgroundColor
}
el.innerHTML = `<div class="en-text-5-block"><div class="en-text-5-num " style="color: ${numColor}; background: ${numBg}">${num}</div><div style="color: ${titleColor}; background: ${titleBg}" class="en-text-5-title">${title}</div></div>`
jqHtml(el, {
type: 'set',
str: `<div class="en-text-5-block"><div class="en-text-5-num " style="color: ${numColor}; background: ${numBg}">${num}</div><div style="${styleString}" class="en-text-5-title">${title}</div></div>`
})
text5Dom[i].before(el)
text5Dom[i].remove()
}
... ... @@ -280,9 +468,11 @@ class DomUtil {
if (titleEl) {
title = titleEl.textContent
}
const tableHtml = tableDom[i].querySelector('table').innerHTML
const tableHtml = jqHtml(tableDom[i].querySelector('table'), { type: 'get' })
const tableStyle = tableDom[i].querySelector('table').getAttribute('style')
el.innerHTML = `<div class="en-table-title ">${title}</div><table style="${tableStyle}">${tableHtml}</table>`
jqHtml(el, {
type: 'set', str: `<div class="en-table-title ">${title}</div><table style="${tableStyle}">${tableHtml}</table>`
})
tableDom[i].before(el)
tableDom[i].remove()
}
... ... @@ -303,7 +493,10 @@ class DomUtil {
if (imgEl) {
imgSrc = imgEl.getAttribute('src') || imgEl.getAttribute('data-src')
}
el.innerHTML = `<div class="scroll-text-left"><img class="not-preview-image local-image" data-src="${imgSrc || './image/scrollText.svg'}" src="${imgSrc || './image/scrollText.svg'}" alt=""></div><div class="swiper-txet">${text}</div>`
jqHtml(el, {
type: 'set',
str: `<div class="scroll-text-left"><img class="not-preview-image local-image" data-src="${imgSrc || './image/scrollText.svg'}" src="${imgSrc || './image/scrollText.svg'}" alt=""></div><div class="swiper-txet">${text}</div>`
})
swiperText[i].before(el)
swiperText[i].remove()
}
... ... @@ -448,16 +641,13 @@ class DomUtil {
html += `<div class="swiper-slide"><img data-src="${el}" class="not-preview-image local-image" src="${el}" alt=""></div>`
})
el.innerHTML = html + `</div><div class="swiper-pagination"></div>`
jqHtml(el, { type: 'set', str: html + `</div><div class="swiper-pagination"></div>` })
swiperDom[i].before(el)
swiperDom[i].remove()
nextCallback(3, {
id: `#${id}`,
isLoop,
length: urlList.length,
time: parseInt(time)
id: `#${id}`, isLoop, length: urlList.length, time: parseInt(time)
})
}
... ... @@ -493,16 +683,13 @@ class DomUtil {
html += `<div class="swiper-slide"><img data-src="${el}" class="not-preview-image local-image" src="${el}" alt=""></div>`
})
el.innerHTML = html + `</div><div class="swiper-pagination"></div>`
jqHtml(el, { type: 'set', str: html + `</div><div class="swiper-pagination"></div>` })
swiper2Dom[i].before(el)
swiper2Dom[i].remove()
nextCallback(4, {
id: `#${id}`,
isLoop,
length: urlList.length,
time: parseInt(time)
id: `#${id}`, isLoop, length: urlList.length, time: parseInt(time)
})
}
... ... @@ -537,9 +724,15 @@ class DomUtil {
linkIcon = `icon_Y_lianjie`
}
if (imageUrl) {
el.innerHTML = `<div class="left"><img data-src="${imageUrl}" class="not-preview-image local-image" src="${imageUrl}" alt=""></div><div class="right"><div class="preview-link-title "><img class="not-preview-image local-image" data-src="./image/${linkIcon}.svg" src="./image/${linkIcon}.svg" alt="">${title}</div><div class="preview-link"><span>${hrefUrl || ''}</span></div></div>`
jqHtml(el, {
type: 'set',
str: `<div class="left"><img data-src="${imageUrl}" class="not-preview-image local-image" src="${imageUrl}" alt=""></div><div class="right"><div class="preview-link-title "><img class="not-preview-image local-image" data-src="./image/${linkIcon}.svg" src="./image/${linkIcon}.svg" alt="">${title}</div><div class="preview-link"><span>${hrefUrl || ''}</span></div></div>`
})
} else {
el.innerHTML = `<div class="preview-link-title "><img class="not-preview-image local-image" src="./image/${linkIcon}.svg" data-src="./image/${linkIcon}.svg" alt="">${title}</div><div class="preview-link"><span>${hrefUrl || ''}</span></div>`
jqHtml(el, {
type: 'set',
str: `<div class="preview-link-title "><img class="not-preview-image local-image" src="./image/${linkIcon}.svg" data-src="./image/${linkIcon}.svg" alt="">${title}</div><div class="preview-link"><span>${hrefUrl || ''}</span></div>`
})
}
linkCardDom[i].before(el)
... ... @@ -603,15 +796,21 @@ class DomUtil {
}
const noCoverTitle = `<div class="audio-title "><div class="audio-notice-title">${title}</div></div>`
if (cover) {
el.innerHTML = `<audio src="${audioSrc}" class="audio-block hidden"></audio><div class="left"><img class="not-preview-image local-image" data-src="${cover}" src="" alt=""></div><div class="right"><div class="audio-title" data-cover="cover"><div class="audio-notice-title">${title}</div></div><div class="audio-extra"><div class="audio-time"><span class="audio-current droidSerif">00:00</span><span class="droidSerif audio-current">/</span><span class="audio-durtion droidSerif">00:00</span></div><div class="audio-extral-iocn"><div class="audio-bg"><img data-src="${publicImageUrl}/audioBg.svg" src="${publicImageUrl}/audioBg.svg" alt="" class="not-preview-image local-image" /><img class="audio-play-icon active not-preview-image local-image" data-src="${publicImageUrl}/${pauseIcon}.svg" src="${publicImageUrl}/${pauseIcon}.svg" alt=""><img class="not-preview-image audio-pause-icon local-image" src="${publicImageUrl}/${playIcon}.svg" data-src="${publicImageUrl}/${playIcon}.svg" alt=""></div></div></div></div>`
jqHtml(el, {
type: 'set',
str: `<audio src="${audioSrc}" class="audio-block hidden"></audio><div class="left"><img class="not-preview-image local-image" data-src="${cover}" src="" alt=""></div><div class="right"><div class="audio-title" data-cover="cover"><div class="audio-notice-title">${title}</div></div><div class="audio-extra"><div class="audio-time"><span class="audio-current droidSerif">00:00</span><span class="droidSerif audio-current">/</span><span class="audio-durtion droidSerif">00:00</span></div><div class="audio-extral-iocn"><div class="audio-bg"><img data-src="${publicImageUrl}/audioBg.svg" src="${publicImageUrl}/audioBg.svg" alt="" class="not-preview-image local-image" /><img class="audio-play-icon active not-preview-image local-image" data-src="${publicImageUrl}/${pauseIcon}.svg" src="${publicImageUrl}/${pauseIcon}.svg" alt=""><img class="not-preview-image audio-pause-icon local-image" src="${publicImageUrl}/${playIcon}.svg" data-src="${publicImageUrl}/${playIcon}.svg" alt=""></div></div></div></div>`
})
} else {
el.innerHTML = `<audio src="${audioSrc}" class="audio-block hidden"></audio><div class="left"><img class="audio-play-icon not-preview-image local-image active mobileIcon" data-src="${publicImageUrl}/${pauseIcon}.svg" src="${publicImageUrl}/${pauseIcon}.svg" alt=""><img class="audio-pause-icon not-preview-image local-image mobileIcon" src="${publicImageUrl}/${playIcon}.svg" data-src="${publicImageUrl}/${playIcon}.svg" alt=""></div><div class="right" style="margin-top: ${title
? '0'
: `${11 / 37.5}rem`}">${title
? noCoverTitle
: ''}<div class="audio-progress-block"><div class="audio-progressed"></div></div><div class="audio-time" style="margin-top: ${title
? `${4 / 37.5}rem`
: `${8 / 37.5}rem`}"><span class="audio-current droidSerif">00:00</span><span class="audio-durtion droidSerif">00:00</span></div></div>`
jqHtml(el, {
type: 'set',
str: `<audio src="${audioSrc}" class="audio-block hidden"></audio><div class="left"><img class="audio-play-icon not-preview-image local-image active mobileIcon" data-src="${publicImageUrl}/${pauseIcon}.svg" src="${publicImageUrl}/${pauseIcon}.svg" alt=""><img class="audio-pause-icon not-preview-image local-image mobileIcon" src="${publicImageUrl}/${playIcon}.svg" data-src="${publicImageUrl}/${playIcon}.svg" alt=""></div><div class="right" style="margin-top: ${title
? '0'
: `${11 / 37.5}rem`}">${title
? noCoverTitle
: ''}<div class="audio-progress-block"><div class="audio-progressed"></div></div><div class="audio-time" style="margin-top: ${title
? `${4 / 37.5}rem`
: `${8 / 37.5}rem`}"><span class="audio-current droidSerif">00:00</span><span class="audio-durtion droidSerif">00:00</span></div></div>`
})
}
if (audioSrc) {
... ... @@ -654,13 +853,10 @@ class DomUtil {
const imageSrc = isDark ? './image/placeHoldVlogo.svg' : './image/placeholdLogo.svg'
const errorSrc = isDark ? './image/errorDark.svg' : './image/error.svg'
let className = src ? netstutas == 1 || loadlmageOnlyWifiSwitch == '2'
? 'preview-image-block loading'
: networkStatus.includes(Number(netstutas))
? `preview-image-block loading no-network`
: netstutas === 0
? 'preview-image-block loading error'
: 'preview-image-block loading no-network'
: 'preview-image-block loading error'
? 'preview-image-block loading'
: networkStatus.includes(Number(netstutas)) ? `preview-image-block loading no-network` : netstutas === 0
? 'preview-image-block loading error'
: 'preview-image-block loading no-network' : 'preview-image-block loading error'
let linkIocnHtml = ''
if (isLink) {
className = className + ' link-image'
... ... @@ -696,7 +892,10 @@ class DomUtil {
el.setAttribute('status', 'loading')
el.style.height = width && height ? overMaxWidth ? `${parentWidth * height / width}px` : `${height}px` : ''
if (!height) el.classList.add('minHeight')
el.innerHTML = `<img class="image-player none image-player-${i}" src="" alt="" data-src="${previewSrc}" data-origin-src="${src}" data-image="image"><img class="preview-image-placehold local-image not-preview-image" src="${imageSrc}" alt=""><img class="preview-image-error not-preview-image local-image none" src="${errorSrc}" alt=""><span class="no-network-text">点击查看原图</span>${linkIocnHtml}`
jqHtml(el, {
type: 'set',
str: `<img class="image-player none image-player-${i}" src="" alt="" data-src="${previewSrc}" data-origin-src="${src}" data-image="image"><img class="preview-image-placehold local-image not-preview-image" src="${imageSrc}" alt=""><img class="preview-image-error not-preview-image local-image none" src="${errorSrc}" alt=""><span class="no-network-text">点击查看原图</span>${linkIocnHtml}`
})
try {
if (parentNode && parentNode.tagName == 'A') {
... ... @@ -766,18 +965,12 @@ class DomUtil {
if (!src) break
if (videoEl && videoEl.style.display === 'none') break
if (videoDomList[i].getAttribute('style')) {
const style = videoDomList[i]
? videoDomList[i].getAttribute('style').split(';')
: []
const style = videoDomList[i] ? videoDomList[i].getAttribute('style').split(';') : []
style.forEach(el => {
if (el.includes('width') && !el.includes('max')) {
width = el.includes('width: ')
? el.split('width: ')[1]
: el.split('width:')[1]
width = el.includes('width: ') ? el.split('width: ')[1] : el.split('width:')[1]
} else if (el.includes('height') && !el.includes('max')) {
height = el.includes('height: ')
? el.split('height: ')[1]
: el.split('height:')[1]
height = el.includes('height: ') ? el.split('height: ')[1] : el.split('height:')[1]
}
})
}
... ... @@ -810,8 +1003,10 @@ class DomUtil {
const el = document.createElement('div')
el.setAttribute('class', 'preview-video init')
el.innerHTML = `<div id="video-player-${i}" class="video-player video-player-${i}" style="height: ${styleHeight}px" data-height="${height || '0'
}" data-width="${width || '0'}" data-id="${id}"></div>`
jqHtml(el, {
type: 'set',
str: `<div id="video-player-${i}" class="video-player video-player-${i}" style="height: ${styleHeight}px" data-height="${height || '0'}" data-width="${width || '0'}" data-id="${id}"></div>`
})
const sibling = videoDomList[i].nextElementSibling || videoDomList[i].previousElementSibling
if (parentNode) {
... ... @@ -844,8 +1039,7 @@ class DomUtil {
aEl[i].style.textDecoration = 'underline'
}
const olstyleEl = document.querySelectorAll(
'#newsContent [style*="list-style-type: decimal"] li')
const olstyleEl = document.querySelectorAll('#newsContent [style*="list-style-type: decimal"] li')
for (let i = 0; i < olstyleEl.length; i++) {
olstyleEl[i].style.marginLeft = `${21 / 37.5}rem`
}
... ... @@ -886,7 +1080,8 @@ class DomUtil {
}
const lastEle = document.querySelector('#newsContent')
? document.querySelector('#newsContent').lastElementChild : null
? document.querySelector('#newsContent').lastElementChild
: null
if (lastEle && lastEle.lastChild && lastEle.lastChild.classList && lastEle.lastChild.classList.contains(
'preview-image-block')) {
... ... @@ -904,5 +1099,8 @@ class DomUtil {
lastEle.style.setProperty('margin-bottom', '0', 'important')
}
}
let html = jqHtml(document.querySelector('#newsContent'), { type: 'get' })
jqHtml(document.querySelector('#newsContent'), { type: 'set', str: html })
}
}
... ...
... ... @@ -24,11 +24,11 @@ function shallowMerge(target, ...sources) {
sources.forEach(source => {
for (let key in source) {
if (source.hasOwnProperty(key)) {
newTarget[key] = source[key];
newTarget[key] = source[key]
}
}
});
return newTarget;
})
return newTarget
}
/**
... ... @@ -483,7 +483,7 @@ function channelExposure({
summary_type,
summary_id,
content_show_channel_id: channelId,
level2channel_id: secondId,
level2channel_id: secondId
}, traceOptions)
}
)
... ... @@ -556,7 +556,7 @@ function contentClick({
summary_type,
summary_id,
content_show_channel_id: channelId,
level2channel_id: secondId,
level2channel_id: secondId
}, traceOptions)
}
)
... ... @@ -630,7 +630,7 @@ function contentListExposure({
summary_type,
summary_id,
content_show_channel_id: channelId,
level2channel_id: secondId,
level2channel_id: secondId
}, traceOptions)
}
)
... ... @@ -735,7 +735,7 @@ function playeErrorPoint({
summary_type,
summary_id,
content_show_channel_id: channelId,
level2channel_id: secondId,
level2channel_id: secondId
}, traceOptions)
}
)
... ... @@ -810,7 +810,7 @@ function playVideoErrorPoint({
summary_type,
summary_id,
content_show_channel_id: channelId,
level2channel_id: secondId,
level2channel_id: secondId
}, traceOptions)
}
)
... ... @@ -818,21 +818,21 @@ function playVideoErrorPoint({
}
function customConcat() {
const result = [];
const result = []
for (let i = 0; i < arguments.length; i++) {
const currentElement = arguments[i];
const currentElement = arguments[i]
if (Array.isArray(currentElement)) {
for (let j = 0; j < currentElement.length; j++) {
result.push(currentElement[j]);
result.push(currentElement[j])
}
} else {
result.push(currentElement);
result.push(currentElement)
}
}
return result;
return result
}
function shareClickPoint({
... ... @@ -886,7 +886,7 @@ function shareClickPoint({
content_type: Number(newsType),
author_name,
content_show_channel_id: channelId,
level2channel_id: secondId,
level2channel_id: secondId
}, traceOptions)
}
)
... ... @@ -946,7 +946,7 @@ function shareTypePoint({
content_type: Number(newsType),
author_name,
content_show_channel_id: channelId,
level2channel_id: secondId,
level2channel_id: secondId
}, traceOptions)
}
)
... ... @@ -1008,7 +1008,7 @@ function followTypePoint({
contentName: newsTitle,
contentType: newsType,
channelSourceId: channelId,
contentShowChannelId: channelId,
contentShowChannelId: channelId
}, traceOptions, useInfos)
}
)
... ... @@ -1373,12 +1373,129 @@ function jumpAppInnerFun(record, url) {
}
)
} else if (record.contentType == 8) {
sendNative(
'jsCall_appInnerLinkMethod',
{
appInnerLink: `rmrbapp://rmrb.app/openwith?type=article&subType=h5_template_article&contentId=${record.contentId}&relId=${record.relId}&skipType=1`
}
)
try {
sendNative('jsCall_currentPageOperate', {
operateType: '47'
}, () => {})
} catch (e) {}
if (window.config.VUE_BASE_NODE === 'dev') {
axiosRequest({
url: '/content/zh/c/content/detail',
methot: 'post',
appStatus: false,
// isMock: true,
// weakNetwork: true,
// mockTimeOut: 10,
//环境
environment: window.config.VUE_BASE_HEADER.environment,
//接口前缀
prefix: '/api/rmrb-bff-display-zh',
//给接口传的数据
data: {
contents: [
{
//内容id
contentId: record.contentId,
relId: record.relId
}
]
},
//请求头信息
headers: shallowMerge({
system: judgTerminal() === 1 ? 'Android' : 'ios'
}, window.config.VUE_BASE_HEADER)
}).then(response => {
if (response.success) {
if (response.data) {
const details = response.data.length > 0 ? response.data[0] : {}
const newsLinkUrl = details.newsLinkUrl
console.log(details)
if (newsLinkUrl) {
window.open(newsLinkUrl)
}
} else {
toast('网络出小差了,请检查网络后重试')
}
} else {
toast('网络出小差了,请检查网络后重试')
}
})
} else {
try {
sendNative(
'jsCall_callAppService',
{
method: 'post',
url: '/api/rmrb-bff-display-zh/content/zh/c/content/detail',
parameters: {
contents: [
{
//内容id
contentId: record.contentId,
relId: record.relId
}
]
}
},
(res) => {
try {
const refResponse =
typeof res === 'object' ? res : JSON.parse(res)
const netError = refResponse.netError
try {
sendNative('jsCall_currentPageOperate', {
operateType: '48'
}, () => {
})
} catch (e) {}
if (netError == 0) {
const refResponseMap =
typeof refResponse.responseMap === 'object'
? refResponse.responseMap
: JSON.parse(refResponse.responseMap)
if (refResponseMap.data && refResponseMap.code) {
const code = refResponseMap.code
const data = refResponseMap.data[0]
if ([ 200, '0' ].includes(code) && data) {
if (Object.keys(data).length > 0) {
const newsLinkUrl = data.newsLinkUrl
if (newsLinkUrl) {
try {
sendNative(
'jsCall_appInnerLinkMethod',
{
appInnerLink: `rmrbapp://rmrb.app/openwith?type=article&subType=h5&url=${encodeURIComponent(
url)}&contentId=${record.contentId}&relId=${record.relId}&skipType=1`
}
)
} catch (e) {}
} else {
try {
sendNative(
'jsCall_appInnerLinkMethod',
{
appInnerLink: `rmrbapp://rmrb.app/openwith?type=article&subType=h5_template_article&contentId=${record.contentId}&relId=${record.relId}&skipType=1`
}
)
} catch (e) {}
}
}
} else {
toast('网络出小差了,请检查网络后重试')
}
} else {
toast('网络出小差了,请检查网络后重试')
}
} else {
toast('网络出小差了,请检查网络后重试')
}
} catch (e) {
logInfo('error', e)
}
}
)
} catch (e) {}
}
} else if (record.contentType == 9) {
sendNative(
'jsCall_appInnerLinkMethod',
... ... @@ -1431,13 +1548,49 @@ function jumpAppInnerFun(record, url) {
)
}
} catch (e) {
sendNative(
'jsCall_appInnerLinkMethod',
{
appInnerLink: `rmrbapp://rmrb.app/openwith?type=h5&url=${encodeURIComponent(url)}&skipType=4`
console.error(e)
// sendNative(
// 'jsCall_appInnerLinkMethod',
// {
// appInnerLink: `rmrbapp://rmrb.app/openwith?type=h5&url=${encodeURIComponent(url)}&skipType=4`
// }
// )
}
}
function toast(str) {
try {
//调取App弹窗通用提示
sendNative('jsCall_showGeneralTips', {
//1、Toast提示 2、Alert提示
tipStyle: '1',
// 提示字符串
tipString: str
})
} catch (e) { }
}
function jqHtml(el, options) {
if (el && options) {
if (options.type === 'set') {
if (options.str) {
$(el).html(options.str)
}
)
} else if (options.type === 'get') {
return $(el).html()
}
}
}
function rgbToRgba(rgb, alpha) {
// 从字符串中提取出 r、g、b 值
const rgbValues = rgb.match(/\d+/g).map(Number);
// 确保 r、g、b 值都是有效的数字
if (rgbValues.length === 3) {
const [r, g, b] = rgbValues;
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
} else {
throw new Error("Invalid RGB input");
}
}
... ...
... ... @@ -5,7 +5,7 @@ import { TopPlayComponent } from '../widgets/details/video/TopPlayComponet';
import { DisplayDirection } from 'wdConstant/Index';
import mediaquery from '@ohos.mediaquery';
import { CustomToast, Logger, WindowModel } from 'wdKit/Index';
import { router, window } from '@kit.ArkUI';
import { display, router, window } from '@kit.ArkUI';
import { WDAliPlayerController } from 'wdPlayer/Index';
import { LiveOperRowListView } from 'wdComponent';
import { publishCommentModel } from 'wdComponent/src/main/ets/components/comment/model/PublishCommentModel';
... ... @@ -49,8 +49,9 @@ export struct DetailPlayLivePage {
@Provide banComment: boolean = true
@State isEnd: boolean = false
@Consume liveDetailPageLogic: LiveDetailPageLogic
@State toastText: ResourceStr = "这是一个非Wi-Fi环境。请注意流量消耗"
@State topPlayHeight:number = this.getTopPlayHeight()
@StorageProp('currentBreakpoint') @Watch("currentChanged")currentBreakpoint: string = 'sm';
dialogToast: CustomDialogController = new CustomDialogController({
builder: CustomToast({
bgColor: 0xB3000000,
... ... @@ -162,7 +163,7 @@ export struct DetailPlayLivePage {
build() {
Column() {
TopPlayComponent({ playerController: this.playerController, isEnd: this.isEnd, lastLiveControl: this.lastLiveControl })
.height(this.displayDirection == DisplayDirection.VERTICAL ? 211 : '100%')
.height(this.displayDirection == DisplayDirection.VERTICAL ? this.topPlayHeight : '100%')
.margin({
top: this.displayDirection == DisplayDirection.VERTICAL ? px2vp(this.topSafeHeight) : 0
})
... ... @@ -274,4 +275,14 @@ export struct DetailPlayLivePage {
})
}
getTopPlayHeight() {
let screenWidth = display.getDefaultDisplaySync().width
return px2vp(screenWidth) * 9/16.0
}
currentChanged() {
this.topPlayHeight = this.getTopPlayHeight()
}
}
\ No newline at end of file
... ...
... ... @@ -78,7 +78,7 @@ export struct TabChatComponent {
} else if (this.pageModel.viewType == ViewType.ERROR) {
ErrorComponent()
} else if (this.pageModel.viewType == ViewType.EMPTY) {
EmptyComponent({ emptyType: WDViewDefaultType.WDViewDefaultType_NoComment1 })
EmptyComponent({ emptyType: WDViewDefaultType.WDViewDefaultType_NoComment1, showBackButton:false})
} else {
CustomPullToRefresh({
... ...
... ... @@ -75,7 +75,7 @@ export struct TabLiveComponent {
} else if (this.pageModel.viewType == ViewType.ERROR) {
ErrorComponent()
} else if (this.pageModel.viewType == ViewType.EMPTY) {
EmptyComponent({ emptyType: WDViewDefaultType.WDViewDefaultType_NoContent1 })
EmptyComponent({ emptyType: WDViewDefaultType.WDViewDefaultType_NoContent1, showBackButton:false })
} else {
CustomPullToRefresh({
alldata: this.liveList,
... ...
... ... @@ -68,6 +68,7 @@ export struct PlayerUIComponent {
Stack() {
// 标题
PlayerTitleComponent({ playerController: this.playerController })
.visibility(!this.isFullScreen ? Visibility.Visible : (this.isShowControl && this.displayDirection == DisplayDirection.VIDEO_HORIZONTAL ? Visibility.Visible : Visibility.Hidden))
PlayerCommentComponent()
.visibility(this.isShowControl ? Visibility.Hidden : Visibility.Visible)
... ...
... ... @@ -18,7 +18,7 @@ export struct PlayerVideoControlComponent {
@Consume contentDetailData: ContentDetailDTO
@Consume isSmall:boolean
@Consume isFullScreen: boolean
@State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') || 0
aboutToAppear(): void {
if (this.playerController) {
//播放进度监听
... ... @@ -100,7 +100,7 @@ export struct PlayerVideoControlComponent {
left: 10,
right: 10,
top: 15,
bottom: 15
bottom:`${this.bottomSafeHeight}px`
})
}
... ...
... ... @@ -109,6 +109,7 @@ export struct DetailPlayShortVideoPage {
* 监听下标变化手动创建或销毁视频
*/
async currentIndexChange() {
// console.log(TAG, 'currentIndex:', this.currentIndex,'index:', this.index)
if (this.currentIndex != this.index) {
this.playerController.pause()
if (this.index <= this.currentIndex - 2 && this.playerController.getPlayer()) {
... ... @@ -156,7 +157,7 @@ export struct DetailPlayShortVideoPage {
}
// 已登录->查询用户对作品点赞、收藏状态
ContentDetailRequest.postBatchLikeAndCollectStatus(params).then(res => {
console.log('查询点赞、收藏状态==', JSON.stringify(res.data))
// console.log('查询点赞、收藏状态==', JSON.stringify(res.data))
if (res.data) {
this.newsStatusOfUser = res.data[0]
}
... ... @@ -167,7 +168,7 @@ export struct DetailPlayShortVideoPage {
}
// 已登录->批量查作品是否被号主关注
ContentDetailRequest.postBatchAttentionStatus(params1).then(res => {
console.log('批量查号主是否为用户关注==', JSON.stringify(res.data))
// console.log('批量查号主是否为用户关注==', JSON.stringify(res.data))
if (res.data) {
this.followStatus = res.data[0]?.status
}
... ... @@ -182,10 +183,11 @@ export struct DetailPlayShortVideoPage {
contentType: this.contentDetailData?.newsType || 0,
}]
}
ContentDetailRequest.postInteractBrowsOperate(params2).then(res => {
console.log('记录浏览历史==', JSON.stringify(res.data))
})
ContentDetailRequest.postInteractBrowsOperate(params2)
// .then(res => {
// // console.log('记录浏览历史==', JSON.stringify(res.data))
//
// })
}
}
... ... @@ -195,7 +197,7 @@ export struct DetailPlayShortVideoPage {
if (!this.onlyWifiLoadVideo) {
this.onlyWifiLoadVideo = await onlyWifiLoadVideo()
this.toastTextVisible = this.onlyWifiLoadVideo ? false : true
console.log(TAG, 'this.onlyWifiLoadVideo', this.onlyWifiLoadVideo)
// console.log(TAG, 'this.onlyWifiLoadVideo', this.onlyWifiLoadVideo)
}
this.videoLandScape = this.contentDetailData.videoInfo[0]?.videoLandScape
... ... @@ -241,12 +243,12 @@ export struct DetailPlayShortVideoPage {
} else if (this.contentDetailData.newsType == 14 || this.contentDetailData.newsType == 15) {
this.PageName = TrackConstants.PageName.DynamicDetail // 动态图文/动态视频
}
console.log('视频详情页', JSON.stringify(this.pageParam))
console.log('视频详情页2', JSON.stringify(this.PageName))
// console.log('视频详情页', JSON.stringify(this.pageParam))
// console.log('视频详情页2', JSON.stringify(this.PageName))
}
async aboutToDisappear(): Promise<void> {
console.log(TAG, 'aboutToDisappear', this.index)
// console.log(TAG, 'aboutToDisappear', this.index)
await this.playerController?.pause()
// await this.playerController?.stop()
// await this.playerController?.release();
... ... @@ -310,11 +312,11 @@ export struct DetailPlayShortVideoPage {
}
})
this.playerViewBuilder()
if (this.index === this.currentIndex) {
PlayerBottomView({
playerController: this.playerController
})
}
PlayerBottomView({
playerController: this.playerController,
index: this.index,
currentIndex: this.currentIndex,
})
PlayerRightView({
playerController: this.playerController
... ... @@ -349,6 +351,7 @@ export struct DetailPlayShortVideoPage {
operationButtonList: ['comment',],
contentDetailData: this.contentDetailData,
publishCommentModel: this.publishCommentModel,
interactData:this.interactData,
showCommentIcon: false,
onBack: () => {
// WindowModel.shared.setWindowLayoutFullScreen(false)
... ...
... ... @@ -420,18 +420,16 @@ export struct DetailVideoListPage {
this.GestureLoadStrategy = 1
})
// 手势动画 初次进入显示
LottieView({
name: 'slider_up_view_more',
path: "lottie/slider_up_view_more.json",
lottieWidth: 167,
lottieHeight: 167,
autoplay: true,
loop: true
})
.visibility(this.GestureLoadStrategy == 0 ? Visibility.Visible : Visibility.Hidden)
.onTouch(() => {
this.GestureLoadStrategy = 1
if(this.GestureLoadStrategy == 0) {
LottieView({
name: 'slider_up_view_more',
path: "lottie/slider_up_view_more.json",
lottieWidth: 167,
lottieHeight: 167,
autoplay: true,
loop: true
})
}
}
}
.width('100%')
... ...
... ... @@ -16,7 +16,6 @@ import { window } from '@kit.ArkUI';
import { EmptyComponent, WDViewDefaultType } from 'wdComponent/Index';
import { TrackConstants, TrackingPageBrowse } from 'wdTracking/Index';
import { LottieView } from 'wdComponent/Index'
import lottie from '@ohos/lottie';
interface loadMoreData {
pageNum: number;
... ... @@ -99,7 +98,7 @@ export struct VideoChannelDetail {
this.switchVideoStatus = false
this.closeFullScreen()
console.log(TAG, '一级视频隐藏')
// console.log(TAG, '一级视频隐藏')
this.pageHideTime = DateTimeUtils.getTimeStamp()
let duration = 0
duration = Math.floor((this.pageHideTime - this.pageShowTime) / 1000)
... ... @@ -111,7 +110,7 @@ export struct VideoChannelDetail {
* 监听视频频道激活或失活
*/
navIndexChange() {
console.log('navIndexChange', this.bottomNavIndex, this.topNavIndex)
// console.log('navIndexChange', this.bottomNavIndex, this.topNavIndex)
if (this.bottomNavIndex === 2 && this.topNavIndex === 0) {
// this.barBackgroundColor = Color.Black
this.switchVideoStatus = true
... ... @@ -140,12 +139,12 @@ export struct VideoChannelDetail {
aboutToAppear() {
this.getDetail()
Logger.info(TAG, 'aboutToAppear');
// Logger.info(TAG, 'aboutToAppear');
}
aboutToDisappear(): void {
this.closeFullScreen()
Logger.info(TAG, 'aboutToDisappear');
// Logger.info(TAG, 'aboutToDisappear');
}
/**
... ... @@ -210,7 +209,7 @@ export struct VideoChannelDetail {
await ContentDetailRequest.getRecCompInfo(params).then(async res => {
this.isOffLine = res.data == null ? true : false
console.log('根据视频频道传参查询视频楼层信息totalCount', res.data?.totalCount + '')
// console.log('根据视频频道传参查询视频楼层信息totalCount', res.data?.totalCount + '')
this.totalCount = res.data?.totalCount || 0
const list1: batchContentDetailParams = {
... ... @@ -260,7 +259,7 @@ export struct VideoChannelDetail {
this.data = this.data.concat(res.data)
this.dataContentDetail.addItems(res.data)
}
console.log('根据视频楼层信息批量查询视频列表', JSON.stringify(res.data))
// console.log('根据视频楼层信息批量查询视频列表', JSON.stringify(res.data))
}).finally(() => {
setTimeout(() => {
this.isRequesting = false
... ... @@ -281,7 +280,7 @@ export struct VideoChannelDetail {
if (res.data) {
this.interactDataList = this.interactDataList.concat(res.data)
}
console.log('根据视频信息批量查询点赞、收藏状态', res.data)
// console.log('根据视频信息批量查询点赞、收藏状态', res.data)
})
}
}
... ... @@ -329,7 +328,7 @@ export struct VideoChannelDetail {
.height('100%')
.onChange((index: number) => {
this.currentIndex = index
console.info('onChange==', index.toString())
// console.info('onChange==', index.toString())
if (this.currentIndex === this.data.length - 1) {
this.pageNum++
... ... @@ -349,20 +348,16 @@ export struct VideoChannelDetail {
this.GestureLoadStrategy = 1
})
// 手势动画 初次进入显示
LottieView({
name: 'slider_up_view_more',
path: "lottie/slider_up_view_more.json",
lottieWidth: 167,
lottieHeight: 167,
autoplay: true,
loop: true
})
.visibility(this.isMouted && this.GestureLoadStrategy == 0 ? Visibility.Visible : Visibility.None)
.onTouch(() => {
this.GestureLoadStrategy = 1
lottie.destroy('slider_up_view_more')
if(this.isMouted && this.GestureLoadStrategy == 0) {
LottieView({
name: 'slider_up_view_more',
path: "lottie/slider_up_view_more.json",
lottieWidth: 167,
lottieHeight: 167,
autoplay: true,
loop: true
})
}
}
}
.width('100%')
... ...
... ... @@ -13,15 +13,20 @@ export struct PlayerBottomView {
@Consume isDragging?: boolean
@Consume contentDetailData: ContentDetailDTO
@Consume displayDirection: DisplayDirection
@Prop index: number = 0
@Prop currentIndex: number = 0
aboutToAppear(): void {
}
build() {
Column() {
PlayerTitleView()
PlayerProgressView({ playerController: this.playerController })
PlayerProgressView({
playerController: this.playerController,
index: this.index,
currentIndex: this.currentIndex,
})
}
.width('100%')
.alignItems(HorizontalAlign.Start)
... ...
... ... @@ -2,7 +2,7 @@ import { ContentDetailDTO } from 'wdBean/Index'
import { WDShare } from 'wdShare/Index'
import { PlayerProgressFullScreenView } from './PlayerProgressFullScreenView'
import { PlayerConstants, WDPlayerController } from 'wdPlayer/Index'
import { DateTimeUtils, Logger, WindowModel } from 'wdKit/Index'
import { DateTimeUtils, EmitterEventId, EmitterUtils, Logger, WindowModel } from 'wdKit/Index'
import { DisplayDirection } from 'wdConstant/Index'
import { window } from '@kit.ArkUI'
... ... @@ -93,6 +93,7 @@ export struct PlayerFullScreenView {
WindowModel.shared.setPreferredOrientation(this.displayDirection == DisplayDirection.VERTICAL ?
window.Orientation.PORTRAIT :
window.Orientation.LANDSCAPE)
EmitterUtils.sendEvent(EmitterEventId.FULL_SCREEN, 0)
})
Text(this.getTitle())
.fontSize(18)
... ...
... ... @@ -16,14 +16,13 @@ export struct PlayerProgressView {
@State loadingWidth: number | string = 1
@State showLoading: boolean = false
@Consume onlyWifiLoadVideo: boolean
@Prop index: number = 0
@Prop @Watch('currentIndexChange') currentIndex: number = 0
timer: number = 0
aboutToAppear() {
if (this.playerController) {
this.playerController.onSeekDone = (status: number) => {
this.playerController?.play()
}
currentIndexChange() {
// console.log('DetailPlayShortVideoPage PlayerProgressView', 'currentIndex:', this.currentIndex,'index:', this.index)
if (this.playerController && this.index == this.currentIndex) {
this.playerController.onLoaded = (loaded: number) => {
if (loaded == 1) {
this.loadingWidth = '95%'
... ... @@ -44,6 +43,14 @@ export struct PlayerProgressView {
}
}
aboutToAppear() {
if (this.playerController) {
this.playerController.onSeekDone = (status: number) => {
this.playerController?.play()
}
}
}
/**
*
* loading 动效
... ... @@ -71,7 +78,7 @@ export struct PlayerProgressView {
.zIndex(2000)
.height(10)
.visibility(this.showLoading ? Visibility.Visible : Visibility.Hidden)
.margin({ bottom: 10 })
.margin({ bottom: 14 })
// .markAnchor({ x: 0, y: '100%' })
}
... ... @@ -130,11 +137,12 @@ export struct PlayerProgressView {
this.isDragging = false
}
this.playerController?.setSeekTime(value, mode);
console.log('slider onChange:', value, mode)
// console.log('slider onChange:', value, mode)
})
}
.width('100%')
.padding({ left: 6, right: 6 })
.height(24)
.justifyContent(FlexAlign.Center)
... ...
import measure from '@ohos.measure'
import { ContentDetailDTO } from 'wdBean/Index'
import { ContentDetailDTO, Params } from 'wdBean/Index'
import { DetailDialog } from './DetailDialog'
import { DateTimeUtils } from 'wdKit'
import { DateTimeUtils, ToastUtils } from 'wdKit'
import { WDRouterPage, WDRouterRule } from 'wdRouter'
const TAG = 'PlayerTitleView';
... ... @@ -94,7 +95,7 @@ export struct PlayerTitleView {
}
clipStr += strArr[i]
}
console.log(TAG, 'clipStr:', clipStr)
// console.log(TAG, 'clipStr:', clipStr)
return clipStr
}
... ... @@ -130,7 +131,7 @@ export struct PlayerTitleView {
}
clipStr += strArr[i]
}
console.log(TAG, 'clipTitleText clipStr:', clipStr)
// console.log(TAG, 'clipTitleText clipStr:', clipStr)
return clipStr
}
... ... @@ -145,8 +146,8 @@ export struct PlayerTitleView {
})
this.titleHeight = info?.height as number || 0
console.log('titleHeight:', this.titleHeight,)
console.log(TAG, 'this.contentDetailData:', JSON.stringify(this.contentDetailData))
// console.log('titleHeight:', this.titleHeight,)
// console.log(TAG, 'this.contentDetailData:', JSON.stringify(this.contentDetailData))
this.summary = this.getSummary()
}
... ... @@ -174,7 +175,23 @@ export struct PlayerTitleView {
if (this.getIcon()) {
Image(this.getIcon()).height(11).margin({ left: 4, top: 3 })
}
}.margin({ bottom: 8 })
}
.zIndex(100)
.margin({ bottom: 8 })
.onClick(() => {
// console.log(TAG, '点击号主@信息')
// 跳转到号主页
if (this.contentDetailData.rmhInfo?.cnMainControl === 1) {
const params: Params = {
creatorId: this.contentDetailData.rmhInfo.rmhId,
pageID: ''
}
WDRouterRule.jumpWithPage(WDRouterPage.peopleShipHomePage, params)
}
// else {
// ToastUtils.showToast("暂时无法查看该创作者主页", 2000);
// }
})
}
... ...
... ... @@ -6,6 +6,7 @@ import { AccountManagerUtils, SPHelper } from 'wdKit/Index'
import { LoginViewModel } from './pages/login/LoginViewModel'
import { SpConstants } from 'wdConstant/Index'
import { ReportDeviceInfo } from './reportDeviceInfo/ReportDeviceInfo'
import { common } from '@kit.AbilityKit'
class LoginJumpHandler implements JumpInterceptorAction {
... ... @@ -42,12 +43,17 @@ export class LoginModule {
}
// 启动进入主页 和 每次登录成功调用
static reportDeviceInfo() {
static reportDeviceInfo(context?: common.UIAbilityContext) {
ReportDeviceInfo.reportDeviceInfo().then((res) => {
let nickName = res.touristNickName
if (res.touristNickName) {
SPHelper.default.save(SpConstants.TOURIST_NICK_NAME, res.touristNickName)
}
if (res.blockStatus == -2) {
// Exit the application.
context?.terminateSelf();
}
})
}
}
\ No newline at end of file
... ...
... ... @@ -38,4 +38,5 @@ export class ReportDeviceInfo {
export class ReportDeviceInfoRes {
clean : number = 0
touristNickName : string = ""
blockStatus: number = 0 // 当等于-2时,表示拉黑
}
\ No newline at end of file
... ...
... ... @@ -39,6 +39,7 @@ export class WDShare {
desc: program.shareInfo.shareSummary,
link: program.shareInfo.shareUrl,
deeplink:AppInnerLinkGenerator.generateDeepLinkWithProgram(program),
posterImg:$r("app.media.test_share_poster")
}
})
}
... ...
... ... @@ -11,7 +11,7 @@
"version": "1.0.0",
"dependencies": {
"@ohos/pulltorefresh": "^2.0.6-rc.0",
"@ohos/lottie": "v2.0.11-rc.6",
"@ohos/lottie": "^v2.0.13",
"@ohos/imageknife": "^2.1.2",
},
"dynamicDependencies": {}
... ...
import { Action } from 'wdBean';
import { ImageAndTextPageComponent } from 'wdComponent'
import { Logger } from 'wdKit'
import { Logger,EmitterUtils,EmitterEventId } from 'wdKit'
import router from '@ohos.router';
import { TrackConstants } from 'wdTracking/Index';
... ...
... ... @@ -89,7 +89,7 @@ struct LaunchAdvertisingPage {
}else {
//显示图片
Image(this.defaultModel.bootScreenUrl)
.objectFit(this.isPad?ImageFit.Cover:ImageFit.Fill)
.objectFit(this.isPad?ImageFit.Contain:ImageFit.Cover)
// .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])
.width('100%')
.height('100%')
... ...