陈剑华

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 { @@ -40,6 +40,7 @@ interface dataObject {
40 videoLandscape?: string 40 videoLandscape?: string
41 imgListData?: string 41 imgListData?: string
42 statusBarMode?: string 42 statusBarMode?: string
  43 + color?:string
43 } 44 }
44 45
45 /** 46 /**
@@ -169,8 +169,6 @@ export class BridgeWebViewControl extends webview.WebviewController { @@ -169,8 +169,6 @@ export class BridgeWebViewControl extends webview.WebviewController {
169 // messageJson = messageJson.replace("%7B", encodeURIComponent("%7B")); 169 // messageJson = messageJson.replace("%7B", encodeURIComponent("%7B"));
170 // messageJson = messageJson.replace("%7D", encodeURIComponent("%7D")); 170 // messageJson = messageJson.replace("%7D", encodeURIComponent("%7D"));
171 // messageJson = messageJson.replace("%22", encodeURIComponent("%22")); 171 // messageJson = messageJson.replace("%22", encodeURIComponent("%22"));
172 - // 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");  
173 -  
174 172
175 let javascriptCommand: string = StringUtils.formatStringForJS(BridgeUtil.JS_HANDLE_MESSAGE_FROM_JAVA, messageJson); 173 let javascriptCommand: string = StringUtils.formatStringForJS(BridgeUtil.JS_HANDLE_MESSAGE_FROM_JAVA, messageJson);
176 // hilog.error(0xFF00, TAG, 'dispatchMessage111 '+ javascriptCommand.slice(0,2000)); 174 // hilog.error(0xFF00, TAG, 'dispatchMessage111 '+ javascriptCommand.slice(0,2000));
@@ -189,7 +189,7 @@ export class ProcessUtils { @@ -189,7 +189,7 @@ export class ProcessUtils {
189 if (typeof type == "number") { 189 if (typeof type == "number") {
190 type = `${type}` 190 type = `${type}`
191 } 191 }
192 - // console.log(TAG, 'objectType', `${JSON.stringify(content)}`); 192 + // Logger.debug(TAG, `objectType, ${JSON.stringify(content)}`);
193 switch (type) { 193 switch (type) {
194 case ContentConstants.TYPE_NONE: 194 case ContentConstants.TYPE_NONE:
195 // Logger.debug(TAG, "processPage, do nothing"); 195 // Logger.debug(TAG, "processPage, do nothing");
@@ -432,7 +432,8 @@ export class ProcessUtils { @@ -432,7 +432,8 @@ export class ProcessUtils {
432 commentId: content?.commentInfo?.commentId, 432 commentId: content?.commentInfo?.commentId,
433 title: content?.newsTitle 433 title: content?.newsTitle
434 } as ExtraDTO, 434 } as ExtraDTO,
435 - targetLayout: content.customParamTargetLayout 435 + targetLayout: content.customParamTargetLayout,
  436 + clickComment: content.clickComment
436 } as Params, 437 } as Params,
437 }; 438 };
438 WDRouterRule.jumpWithAction(taskAction) 439 WDRouterRule.jumpWithAction(taskAction)
@@ -454,7 +455,8 @@ export class ProcessUtils { @@ -454,7 +455,8 @@ export class ProcessUtils {
454 sourcePage: '5', 455 sourcePage: '5',
455 commentId: content?.commentInfo?.commentId 456 commentId: content?.commentInfo?.commentId
456 } as ExtraDTO, 457 } as ExtraDTO,
457 - targetLayout: content.customParamTargetLayout 458 + targetLayout: content.customParamTargetLayout,
  459 + clickComment: content.clickComment
458 } as Params, 460 } as Params,
459 }; 461 };
460 WDRouterRule.jumpWithAction(taskAction) 462 WDRouterRule.jumpWithAction(taskAction)
  1 +
  2 +export interface eventParams {
  3 + event: string;
  4 +}
  5 +
  6 +export const enum NativeCallH5Event {
  7 + NativeCallH5EventPageWillAppear = '1',
  8 + NativeCallH5EventPageWillDisAppear = '2',
  9 + NativeCallH5EventAppWillEnterForeground = '3',
  10 + NativeCallH5EventAppEnterBackground = '4',
  11 + NativeCallH5EventAppPlayingAudio = '5',
  12 + NativeCallH5EventUpdateBrowseCount = '6',
  13 + NativeCallH5EventStartLoadingOnReuse = '7',
  14 +
  15 + NativeCallH5EventNightModel = '9',
  16 + NativeCallH5EventFontSizesChange = '10',
  17 + NativeCallH5EventFollowEvent = '11',
  18 + NativeCallH5EventLikeEvent = '12'
  19 +
  20 +}
  21 +
1 /** 22 /**
2 * native调用h5,事件id枚举 23 * native调用h5,事件id枚举
3 * app主动调用h5方法 24 * app主动调用h5方法
4 */ 25 */
5 export const enum NativeCallH5Type { 26 export const enum NativeCallH5Type {
6 jsCall_receiveAppData = 'jsCall_receiveAppData', 27 jsCall_receiveAppData = 'jsCall_receiveAppData',
  28 + jsCall_appNotifyEvent = 'jsCall_appNotifyEvent',
7 // TODO 业务自行新增类型,自行调用,例: 29 // TODO 业务自行新增类型,自行调用,例:
8 // TODO this.webviewControl.callHandle(NativeCallH5Type.jsCall_receiveAppData,xxxx) 30 // TODO this.webviewControl.callHandle(NativeCallH5Type.jsCall_receiveAppData,xxxx)
9 31
@@ -16,7 +16,7 @@ export struct WdWebComponent { @@ -16,7 +16,7 @@ export struct WdWebComponent {
16 webviewControl: BridgeWebViewControl = new BridgeWebViewControl() 16 webviewControl: BridgeWebViewControl = new BridgeWebViewControl()
17 onWebPrepared: () => void = () => { 17 onWebPrepared: () => void = () => {
18 } 18 }
19 - receiveH5SendToNativeData: (dataString:string | undefined) => void = () =>{ 19 + receiveH5SendToNativeData: (data: Message | undefined) => void = () =>{
20 20
21 } 21 }
22 @Prop isDefaultPage: boolean = false; 22 @Prop isDefaultPage: boolean = false;
@@ -96,7 +96,7 @@ export struct WdWebComponent { @@ -96,7 +96,7 @@ export struct WdWebComponent {
96 } 96 }
97 if (data.handlerName === H5CallNativeType.jsCall_receiveH5Data) { 97 if (data.handlerName === H5CallNativeType.jsCall_receiveH5Data) {
98 if (data.data?.dataSource === WDH5WebDataSource.WDH5WebDataSourceTopicPageInfo) { 98 if (data.data?.dataSource === WDH5WebDataSource.WDH5WebDataSourceTopicPageInfo) {
99 - this.receiveH5SendToNativeData(data.data?.dataJson) 99 + this.receiveH5SendToNativeData(data)
100 return 100 return
101 } 101 }
102 } 102 }
@@ -110,6 +110,13 @@ export struct WdWebComponent { @@ -110,6 +110,13 @@ export struct WdWebComponent {
110 private jsCall_currentPageOperate(data: Message) { 110 private jsCall_currentPageOperate(data: Message) {
111 if (data.data?.operateType == WDH5WebPageOperationType.WDH5WebPageOperationTypeSetStatusBar) { 111 if (data.data?.operateType == WDH5WebPageOperationType.WDH5WebPageOperationTypeSetStatusBar) {
112 WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: data.data?.statusBarMode =='2'?'#ffffff':'#000000'}) 112 WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: data.data?.statusBarMode =='2'?'#ffffff':'#000000'})
  113 + return
  114 + }
  115 +
  116 + if (data.data?.operateType == WDH5WebPageOperationType.WDH5WebPageOperationTypeBottomBarMaskViewShow ||
  117 + data.data?.operateType == WDH5WebPageOperationType.WDH5WebPageOperationTypeBottomBarMaskViewHidden) {
  118 + this.receiveH5SendToNativeData(data)
  119 + return
113 } 120 }
114 } 121 }
115 122
@@ -4,8 +4,9 @@ import { Logger, WindowModel } from 'wdKit/Index'; @@ -4,8 +4,9 @@ import { Logger, WindowModel } from 'wdKit/Index';
4 import { performJSCallNative } from './JsBridgeBiz'; 4 import { performJSCallNative } from './JsBridgeBiz';
5 import { H5CallNativeType } from './H5CallNativeType'; 5 import { H5CallNativeType } from './H5CallNativeType';
6 import { Message } from 'wdJsBridge/src/main/ets/bean/Message'; 6 import { Message } from 'wdJsBridge/src/main/ets/bean/Message';
7 -import { DateTimeUtils } from 'wdKit' 7 +import { DateTimeUtils,EmitterUtils,EmitterEventId } from 'wdKit'
8 import { window } from '@kit.ArkUI'; 8 import { window } from '@kit.ArkUI';
  9 +import { NativeCallH5Type,NativeCallH5Event,eventParams } from './NativeCallH5Type';
9 10
10 const TAG = 'WdWebLocalComponent'; 11 const TAG = 'WdWebLocalComponent';
11 12
@@ -29,13 +30,20 @@ export struct WdWebLocalComponent { @@ -29,13 +30,20 @@ export struct WdWebLocalComponent {
29 @State sliderStartTime: string = ''; 30 @State sliderStartTime: string = '';
30 @State currentTime: number = 0; 31 @State currentTime: number = 0;
31 @State durationTime: number = 0; 32 @State durationTime: number = 0;
  33 + @State progressOpacity: number = 1
32 @State durationStringTime: string = ''; 34 @State durationStringTime: string = '';
  35 + private progressTimerNumber: number = 0
33 @State isPause: boolean = true; 36 @State isPause: boolean = true;
34 controller: VideoController = new VideoController() 37 controller: VideoController = new VideoController()
35 @StorageProp('currentBreakpoint') @Watch("currentChanged")currentBreakpoint: string = 'sm'; 38 @StorageProp('currentBreakpoint') @Watch("currentChanged")currentBreakpoint: string = 'sm';
36 39
37 @State isFullScreen: boolean = false; 40 @State isFullScreen: boolean = false;
38 @State isEndPlay: boolean = false; 41 @State isEndPlay: boolean = false;
  42 + @State mode: CacheMode = CacheMode.None;
  43 +
  44 + @Consume @Watch('pageShowForUpdateData') pageShow :number
  45 + @Consume @Watch('pageHideForUpdateData') pageHide :number
  46 +
39 currentChanged(){ 47 currentChanged(){
40 ///折叠屏转换 暂停播放器 48 ///折叠屏转换 暂停播放器
41 this.controller.pause() 49 this.controller.pause()
@@ -46,6 +54,22 @@ export struct WdWebLocalComponent { @@ -46,6 +54,22 @@ export struct WdWebLocalComponent {
46 this.webviewControl.refresh() 54 this.webviewControl.refresh()
47 } 55 }
48 56
  57 + pageShowForUpdateData(){
  58 +
  59 + Logger.debug(TAG, 'APP_PAGE_SHOW'+this.isPageEnd);
  60 + let params = {'event':NativeCallH5Event.NativeCallH5EventPageWillAppear} as eventParams;
  61 + let jsonString = JSON.stringify(params);
  62 + if (this.isPageEnd) {
  63 + this.webviewControl.callHandle(NativeCallH5Type.jsCall_appNotifyEvent, jsonString, (data: string) => {
  64 + Logger.debug(TAG, "from js data = " + data);
  65 + })
  66 + }
  67 + }
  68 +
  69 + pageHideForUpdateData(){
  70 +
  71 + }
  72 +
49 build() { 73 build() {
50 Column() { 74 Column() {
51 Row() { 75 Row() {
@@ -75,6 +99,7 @@ export struct WdWebLocalComponent { @@ -75,6 +99,7 @@ export struct WdWebLocalComponent {
75 .imageAccess(true) 99 .imageAccess(true)
76 .mixedMode(MixedMode.All) 100 .mixedMode(MixedMode.All)
77 .onlineImageAccess(true) 101 .onlineImageAccess(true)
  102 + .cacheMode(this.mode)
78 // .enableNativeEmbedMode(true) 103 // .enableNativeEmbedMode(true)
79 // .layoutMode(WebLayoutMode.FIT_CONTENT) 104 // .layoutMode(WebLayoutMode.FIT_CONTENT)
80 .nestedScroll({ 105 .nestedScroll({
@@ -94,12 +119,12 @@ export struct WdWebLocalComponent { @@ -94,12 +119,12 @@ export struct WdWebLocalComponent {
94 url = url.replace("%(?![0-9a-fA-F]{2})", "%25") 119 url = url.replace("%(?![0-9a-fA-F]{2})", "%25")
95 .replace("\\+", "%2B"); 120 .replace("\\+", "%2B");
96 url = decodeURIComponent(url) 121 url = decodeURIComponent(url)
  122 + Logger.debug(TAG, 'Web onLoadIntercept url: ' + url);
97 if (url.startsWith(BridgeUtil.YY_RETURN_DATA)) { 123 if (url.startsWith(BridgeUtil.YY_RETURN_DATA)) {
98 this.webviewControl.handlerReturnData(url) 124 this.webviewControl.handlerReturnData(url)
99 return true 125 return true
100 } 126 }
101 if (url.startsWith(BridgeUtil.YY_OVERRIDE_SCHEMA)) { 127 if (url.startsWith(BridgeUtil.YY_OVERRIDE_SCHEMA)) {
102 - Logger.debug(TAG, 'flushMessageQueue:'+url);  
103 // this.webviewControl.flushMessageQueue() 128 // this.webviewControl.flushMessageQueue()
104 this.webviewControl.receiveDataFromH5(url) 129 this.webviewControl.receiveDataFromH5(url)
105 return true 130 return true
@@ -170,7 +195,7 @@ export struct WdWebLocalComponent { @@ -170,7 +195,7 @@ export struct WdWebLocalComponent {
170 this.positionLeft = Number(data?.data?.positionLeft) || 0 195 this.positionLeft = Number(data?.data?.positionLeft) || 0
171 this.positionTop = Number(data?.data?.positionTop) || 0 196 this.positionTop = Number(data?.data?.positionTop) || 0
172 this.videoLandscape = data?.data?.videoLandscape || '1' 197 this.videoLandscape = data?.data?.videoLandscape || '1'
173 - this.controller.start() 198 + this.startPlay()
174 } 199 }
175 } 200 }
176 /** 201 /**
@@ -179,6 +204,7 @@ export struct WdWebLocalComponent { @@ -179,6 +204,7 @@ export struct WdWebLocalComponent {
179 private defaultPerformJSCallNative: (data: Message, f: Callback) => void = (data: Message, f: Callback) => { 204 private defaultPerformJSCallNative: (data: Message, f: Callback) => void = (data: Message, f: Callback) => {
180 performJSCallNative(data, f) 205 performJSCallNative(data, f)
181 } 206 }
  207 +
182 onPageBegin: (url?: string) => void = () => { 208 onPageBegin: (url?: string) => void = () => {
183 Logger.debug(TAG, 'onPageBegin'); 209 Logger.debug(TAG, 'onPageBegin');
184 this.registerHandlers(); 210 this.registerHandlers();
@@ -192,6 +218,7 @@ export struct WdWebLocalComponent { @@ -192,6 +218,7 @@ export struct WdWebLocalComponent {
192 this.onWebPrepared() 218 this.onWebPrepared()
193 this.isPageEnd = true 219 this.isPageEnd = true
194 } 220 }
  221 +
195 onLoadIntercept: (url?: string) => boolean = () => { 222 onLoadIntercept: (url?: string) => boolean = () => {
196 Logger.debug(TAG, 'onLoadIntercept return false'); 223 Logger.debug(TAG, 'onLoadIntercept return false');
197 return false 224 return false
@@ -204,6 +231,26 @@ export struct WdWebLocalComponent { @@ -204,6 +231,26 @@ export struct WdWebLocalComponent {
204 } 231 }
205 } 232 }
206 233
  234 + startPlay() {
  235 + this.cancelProgressTimer()
  236 + this.controller.start()
  237 + this.startProgressTimer()
  238 + }
  239 +
  240 + startProgressTimer() {
  241 + this.progressTimerNumber = setTimeout(() => {
  242 + animateTo({duration: 1000}, () => {
  243 + this.progressOpacity = 0
  244 + })
  245 + }, 3000)
  246 + }
  247 + cancelProgressTimer() {
  248 + if (this.progressTimerNumber > 0) {
  249 + clearTimeout(this.progressTimerNumber)
  250 + this.progressTimerNumber = 0
  251 + }
  252 + }
  253 +
207 @Builder 254 @Builder
208 videoComp(){ 255 videoComp(){
209 Video({ 256 Video({
@@ -219,6 +266,7 @@ export struct WdWebLocalComponent { @@ -219,6 +266,7 @@ export struct WdWebLocalComponent {
219 .objectFit(ImageFit.Contain) 266 .objectFit(ImageFit.Contain)
220 .onFinish(()=>{ 267 .onFinish(()=>{
221 this.isEndPlay = true 268 this.isEndPlay = true
  269 + this.currentTime = 0
222 }) 270 })
223 .onStart(() => { 271 .onStart(() => {
224 this.isPause = false 272 this.isPause = false
@@ -246,13 +294,23 @@ export struct WdWebLocalComponent { @@ -246,13 +294,23 @@ export struct WdWebLocalComponent {
246 WindowModel.shared.setPreferredOrientation(window.Orientation.PORTRAIT) 294 WindowModel.shared.setPreferredOrientation(window.Orientation.PORTRAIT)
247 } 295 }
248 }) 296 })
  297 + .onClick(() => {
  298 + animateTo({duration: 1000}, () => {
  299 + if (this.progressOpacity <= 0) {
  300 + this.progressOpacity = 1
  301 + } else {
  302 + this.progressOpacity = 0
  303 + }
  304 + })
  305 + })
249 306
250 if (this.isEndPlay){ 307 if (this.isEndPlay){
251 Column(){ 308 Column(){
252 Image($r('app.media.icon_replay')).width(40).height(40) 309 Image($r('app.media.icon_replay')).width(40).height(40)
253 .onClick(() => { 310 .onClick(() => {
254 this.isEndPlay = false 311 this.isEndPlay = false
255 - this.controller.start() 312 + this.progressOpacity = 1
  313 + this.startPlay()
256 }) 314 })
257 315
258 Text('重播').fontColor(Color.White).fontSize(14) 316 Text('重播').fontColor(Color.White).fontSize(14)
@@ -269,9 +327,10 @@ export struct WdWebLocalComponent { @@ -269,9 +327,10 @@ export struct WdWebLocalComponent {
269 .height(24) 327 .height(24)
270 .onClick(() => { 328 .onClick(() => {
271 if (this.isPause) { 329 if (this.isPause) {
272 - this.controller.start() 330 + this.startPlay()
273 } else { 331 } else {
274 this.controller.pause() 332 this.controller.pause()
  333 + this.cancelProgressTimer()
275 } 334 }
276 }) 335 })
277 Row() { 336 Row() {
@@ -296,6 +355,13 @@ export struct WdWebLocalComponent { @@ -296,6 +355,13 @@ export struct WdWebLocalComponent {
296 .blockSize({ width: 18, height: 12 }) 355 .blockSize({ width: 18, height: 12 })
297 .onChange((value: number, mode: SliderChangeMode) => { 356 .onChange((value: number, mode: SliderChangeMode) => {
298 this.controller.setCurrentTime(value); 357 this.controller.setCurrentTime(value);
  358 + if (mode == SliderChangeMode.End) {
  359 + if (this.isPause) {
  360 + this.startPlay()
  361 + } else {
  362 + this.startProgressTimer()
  363 + }
  364 + }
299 }) 365 })
300 Text(DateTimeUtils.getFormattedDuration(this.durationTime * 1000)) 366 Text(DateTimeUtils.getFormattedDuration(this.durationTime * 1000))
301 .fontSize(12) 367 .fontSize(12)
@@ -311,7 +377,11 @@ export struct WdWebLocalComponent { @@ -311,7 +377,11 @@ export struct WdWebLocalComponent {
311 // this.controller.requestFullscreen(true) 377 // this.controller.requestFullscreen(true)
312 // }) 378 // })
313 } 379 }
314 - .opacity(0.8) 380 + .opacity(this.progressOpacity)
  381 + .linearGradient({
  382 + direction: GradientDirection.Top, // 渐变方向
  383 + colors: [[0x20000000, 0.0], [Color.Transparent, 1.0]] // [0x80000000, 0.5],
  384 + })
315 .width("100%") 385 .width("100%")
316 .justifyContent(FlexAlign.SpaceAround) 386 .justifyContent(FlexAlign.SpaceAround)
317 } 387 }
@@ -77,6 +77,7 @@ export class ContentDTO implements BaseDTO { @@ -77,6 +77,7 @@ export class ContentDTO implements BaseDTO {
77 relType: string = ''; 77 relType: string = '';
78 newsTitle: string = ''; //单图卡/2行标题/3行标题 78 newsTitle: string = ''; //单图卡/2行标题/3行标题
79 publishTime: string = ''; 79 publishTime: string = '';
  80 + updateTime: string = '';
80 publishTimestamp: string = ''; 81 publishTimestamp: string = '';
81 visitorComment: number = 0; 82 visitorComment: number = 0;
82 fullColumnImgUrls: FullColumnImgUrlDTO[] = []; 83 fullColumnImgUrls: FullColumnImgUrlDTO[] = [];
@@ -143,6 +144,7 @@ export class ContentDTO implements BaseDTO { @@ -143,6 +144,7 @@ export class ContentDTO implements BaseDTO {
143 isMourning?: boolean = false; 144 isMourning?: boolean = false;
144 145
145 author: string = ""; ///撰稿人 146 author: string = ""; ///撰稿人
  147 + clickComment:boolean = false;
146 148
147 static clone(old: ContentDTO): ContentDTO { 149 static clone(old: ContentDTO): ContentDTO {
148 let content = new ContentDTO(); 150 let content = new ContentDTO();
@@ -24,6 +24,6 @@ export interface Params { @@ -24,6 +24,6 @@ export interface Params {
24 videoCoverUrl?: string; 24 videoCoverUrl?: string;
25 pageId?: string; 25 pageId?: string;
26 backVisibility?: boolean; //展示顶部返回栏 26 backVisibility?: boolean; //展示顶部返回栏
27 - 27 + clickComment?:boolean;//点击评论按钮进入稿件详情页定位到评论区
28 targetLayout?: string; // "comment" 表示进入对应页面后,跳转至评论区 28 targetLayout?: string; // "comment" 表示进入对应页面后,跳转至评论区
29 } 29 }
@@ -59,6 +59,7 @@ export struct CardParser { @@ -59,6 +59,7 @@ export struct CardParser {
59 Column() { 59 Column() {
60 // Text('CardParser') 60 // Text('CardParser')
61 // Text(JSON.stringify(this.contentDTO.appStyle)) 61 // Text(JSON.stringify(this.contentDTO.appStyle))
  62 + // Text(this.contentDTO.newsTitle)
62 this.contentBuilder(this.contentDTO); 63 this.contentBuilder(this.contentDTO);
63 } 64 }
64 } 65 }
@@ -101,6 +101,7 @@ export struct CarderInteraction { @@ -101,6 +101,7 @@ export struct CarderInteraction {
101 } 101 }
102 .justifyContent(FlexAlign.Center) 102 .justifyContent(FlexAlign.Center)
103 .onClick(() => { 103 .onClick(() => {
  104 + this.contentDTO.clickComment = true
104 ProcessUtils.processPage(this.contentDTO); 105 ProcessUtils.processPage(this.contentDTO);
105 }) 106 })
106 } 107 }
@@ -86,6 +86,9 @@ export struct DynamicDetailComponent { @@ -86,6 +86,9 @@ export struct DynamicDetailComponent {
86 @State isScrollTop: boolean = true 86 @State isScrollTop: boolean = true
87 @State executedStartTime: number = new Date().getTime() 87 @State executedStartTime: number = new Date().getTime()
88 88
  89 + @State onePicW: number = 0; // 只有一张图时候图片的宽度
  90 + @State onePicH: number = 0; // 只有一张图时候图片的高度
  91 +
89 pageParam: ParamType = {} 92 pageParam: ParamType = {}
90 commentListAreaInfo?: Area 93 commentListAreaInfo?: Area
91 lastTimeoutId?: number 94 lastTimeoutId?: number
@@ -361,17 +364,37 @@ export struct DynamicDetailComponent { @@ -361,17 +364,37 @@ export struct DynamicDetailComponent {
361 ProcessUtils.gotoMultiPictureListPage(this.contentDetailData.photoList, index) 364 ProcessUtils.gotoMultiPictureListPage(this.contentDetailData.photoList, index)
362 }) 365 })
363 } else { 366 } else {
  367 + // GridCol({
  368 + // span: { xs: 8 }
  369 + // }) {
  370 + // Image(item.picPath)
  371 + // .width('100%')
  372 + // .borderRadius(this.caclImageRadius(index))
  373 + // .autoResize(true)
  374 + // .opacity(!item.width && !item.height ? 0 : 1)
  375 + // .onComplete(callback => {
  376 + // item.width = callback?.width || 0;
  377 + // item.height = callback?.height || 0;
  378 + // })
  379 + // }
364 GridCol({ 380 GridCol({
365 - span: { xs: 8 } 381 + span: this.onePicW > this.onePicH ? 12 : 8
366 }) { 382 }) {
367 Image(item.picPath) 383 Image(item.picPath)
  384 + .backgroundColor(0xf5f5f5)
368 .width('100%') 385 .width('100%')
369 - .borderRadius(this.caclImageRadius(index))  
370 .autoResize(true) 386 .autoResize(true)
  387 + .objectFit(ImageFit.Cover)
  388 + .autoResize(true)
  389 + .aspectRatio(3/4)
  390 + .borderRadius(this.caclImageRadius(index))
  391 + .borderStyle(BorderStyle.Solid)
  392 + .borderWidth(0.5)
  393 + .borderColor($r('app.color.color_0D000000'))
371 .opacity(!item.width && !item.height ? 0 : 1) 394 .opacity(!item.width && !item.height ? 0 : 1)
372 - .onComplete(callback => {  
373 - item.width = callback?.width || 0;  
374 - item.height = callback?.height || 0; 395 + .onComplete((event?) => {
  396 + this.onePicW = event?.width || 0;
  397 + this.onePicH = event?.height || 0;
375 }) 398 })
376 } 399 }
377 .onClick(async (event: ClickEvent) => { 400 .onClick(async (event: ClickEvent) => {
@@ -199,6 +199,9 @@ export struct H5NewsWebPageComponent { @@ -199,6 +199,9 @@ export struct H5NewsWebPageComponent {
199 199
200 // 已登录->查询用户对作品点赞、收藏状态 200 // 已登录->查询用户对作品点赞、收藏状态
201 private async getInteractDataStatus() { 201 private async getInteractDataStatus() {
  202 + if (!HttpUtils.isLogin()) {
  203 + return
  204 + }
202 try { 205 try {
203 const params: batchLikeAndCollectParams = { 206 const params: batchLikeAndCollectParams = {
204 contentList: [ 207 contentList: [
@@ -40,7 +40,7 @@ import { LottieView } from '../components/lottie/LottieView'; @@ -40,7 +40,7 @@ import { LottieView } from '../components/lottie/LottieView';
40 40
41 const PATTERN_DATE_CN_RN: string = 'yyyy年MM月dd日 HH:mm'; 41 const PATTERN_DATE_CN_RN: string = 'yyyy年MM月dd日 HH:mm';
42 42
43 -const TAG: string = 'ImageAndTextPageComponent' 43 +const TAG: string = 'ImageAndTextWebComponent'
44 /** 44 /**
45 * 图文详情页 45 * 图文详情页
46 * */ 46 * */
@@ -52,7 +52,7 @@ export struct ImageAndTextPageComponent { @@ -52,7 +52,7 @@ export struct ImageAndTextPageComponent {
52 @State recommendList: ContentDTO[] = [] 52 @State recommendList: ContentDTO[] = []
53 @State newsStatusOfUser: batchLikeAndCollectResult | undefined = undefined // 点赞、收藏状态 53 @State newsStatusOfUser: batchLikeAndCollectResult | undefined = undefined // 点赞、收藏状态
54 @State interactData: InteractDataDTO = {} as InteractDataDTO 54 @State interactData: InteractDataDTO = {} as InteractDataDTO
55 - @State isPageEnd: boolean = false 55 + // @State isPageEnd: boolean = false
56 @State publishTime: string = '' 56 @State publishTime: string = ''
57 @State publishCommentModel: publishCommentModel = new publishCommentModel() 57 @State publishCommentModel: publishCommentModel = new publishCommentModel()
58 // @State operationButtonList: string[] = ['comment', 'collect', 'share'] 58 // @State operationButtonList: string[] = ['comment', 'collect', 'share']
@@ -77,6 +77,7 @@ export struct ImageAndTextPageComponent { @@ -77,6 +77,7 @@ export struct ImageAndTextPageComponent {
77 lastTimeoutId?: number 77 lastTimeoutId?: number
78 @State needAnimation: boolean = false; 78 @State needAnimation: boolean = false;
79 79
  80 + @State @Watch("webPageIsPageEnd") isPageEnd: boolean = false
80 @Consume @Watch('pageShowForUpdateData') pageShow :number 81 @Consume @Watch('pageShowForUpdateData') pageShow :number
81 @Consume @Watch('pageHideForUpdateData') pageHide :number 82 @Consume @Watch('pageHideForUpdateData') pageHide :number
82 83
@@ -92,6 +93,15 @@ export struct ImageAndTextPageComponent { @@ -92,6 +93,15 @@ export struct ImageAndTextPageComponent {
92 TrackingPageBrowse.trackCommonPageExposureEnd(TrackConstants.PageName.Customer_Personal,TrackConstants.PageName.Customer_Personal,duration) 93 TrackingPageBrowse.trackCommonPageExposureEnd(TrackConstants.PageName.Customer_Personal,TrackConstants.PageName.Customer_Personal,duration)
93 } 94 }
94 95
  96 + webPageIsPageEnd() {
  97 + if (this.action.params?.clickComment) {
  98 + setTimeout(()=>{
  99 + this.pageScrollToCommonent()
  100 + },
  101 + 800)
  102 + }
  103 + }
  104 +
95 build() { 105 build() {
96 Stack({ alignContent: Alignment.Top }) { 106 Stack({ alignContent: Alignment.Top }) {
97 Stack({ alignContent: Alignment.Bottom }) { 107 Stack({ alignContent: Alignment.Bottom }) {
@@ -198,8 +208,8 @@ export struct ImageAndTextPageComponent { @@ -198,8 +208,8 @@ export struct ImageAndTextPageComponent {
198 208
199 .onAreaChange((oldValue: Area, newValue: Area) => { 209 .onAreaChange((oldValue: Area, newValue: Area) => {
200 this.info = newValue 210 this.info = newValue
201 - console.log(TAG, "总页面滑动偏移量", this.scroller.currentOffset().yOffset)  
202 - console.log(TAG, "总页面滑动偏移量111", newValue.globalPosition.y as number) 211 + // console.log(TAG, "总页面滑动偏移量", this.scroller.currentOffset().yOffset)
  212 + // console.log(TAG, "总页面滑动偏移量111", newValue.globalPosition.y as number)
203 this.checkToScrollCommentArea() 213 this.checkToScrollCommentArea()
204 }) 214 })
205 // .onMeasureSize() 215 // .onMeasureSize()
@@ -245,30 +255,7 @@ export struct ImageAndTextPageComponent { @@ -245,30 +255,7 @@ export struct ImageAndTextPageComponent {
245 showMainText:this.showMainText, 255 showMainText:this.showMainText,
246 styleType: 1, 256 styleType: 1,
247 onCommentIconClick: () => { 257 onCommentIconClick: () => {
248 - const info = componentUtils.getRectangleById('comment');  
249 - console.log(TAG, "点击滑动页面", JSON.stringify(info))  
250 -  
251 - //评论区当前位置  
252 - let currentCommonentOffSetY = this.info?.globalPosition.y as number  
253 - let offSetY = 0  
254 - if (currentCommonentOffSetY >= (this.screenHeight-this.bottomHeight) ) {  
255 - offSetY = currentCommonentOffSetY-200  
256 - }  
257 -  
258 - // if (!this.offsetY) {  
259 - // this.offsetY = componentUtils.getRectangleById('comment').windowOffset.y  
260 - // }  
261 - // 定位到评论区域  
262 - if (this.isScrollTop) {  
263 - this.scroller.scrollTo({  
264 - xOffset: 0,  
265 - yOffset: offSetY,  
266 - animation: { duration: 1000, curve: Curve.Ease }  
267 - })  
268 - } else {  
269 - this.scroller.scrollEdge(Edge.Top)  
270 - }  
271 - this.isScrollTop = !this.isScrollTop 258 + this.pageScrollToCommonent()
272 } 259 }
273 }) 260 })
274 } 261 }
@@ -288,6 +275,7 @@ export struct ImageAndTextPageComponent { @@ -288,6 +275,7 @@ export struct ImageAndTextPageComponent {
288 Text(this.publishTime) 275 Text(this.publishTime)
289 .fontColor($r('app.color.color_B0B0B0')) 276 .fontColor($r('app.color.color_B0B0B0'))
290 .fontSize(13) 277 .fontSize(13)
  278 + .height(20)
291 } 279 }
292 } 280 }
293 .width(CommonConstants.FULL_WIDTH) 281 .width(CommonConstants.FULL_WIDTH)
@@ -410,6 +398,9 @@ export struct ImageAndTextPageComponent { @@ -410,6 +398,9 @@ export struct ImageAndTextPageComponent {
410 398
411 // 已登录->查询用户对作品点赞、收藏状态 399 // 已登录->查询用户对作品点赞、收藏状态
412 private async getInteractDataStatus() { 400 private async getInteractDataStatus() {
  401 + if (!HttpUtils.isLogin()) {
  402 + return
  403 + }
413 try { 404 try {
414 const params: batchLikeAndCollectParams = { 405 const params: batchLikeAndCollectParams = {
415 contentList: [ 406 contentList: [
@@ -511,7 +502,31 @@ export struct ImageAndTextPageComponent { @@ -511,7 +502,31 @@ export struct ImageAndTextPageComponent {
511 } 502 }
512 } 503 }
513 504
  505 + private pageScrollToCommonent() {
  506 + const info = componentUtils.getRectangleById('comment');
  507 + console.log(TAG, "点击滑动页面", JSON.stringify(info))
  508 + //评论区当前位置
  509 + let currentCommonentOffSetY = this.info?.globalPosition.y as number
  510 + let offSetY = 0
  511 + if (currentCommonentOffSetY >= (this.screenHeight-this.bottomHeight) ) {
  512 + offSetY = currentCommonentOffSetY-200
  513 + }
  514 +
  515 + // 定位到评论区域
  516 + if (this.isScrollTop) {
  517 + this.scroller.scrollTo({
  518 + xOffset: 0,
  519 + yOffset: offSetY,
  520 + animation: { duration: 1000, curve: Curve.Ease }
  521 + })
  522 + } else {
  523 + this.scroller.scrollEdge(Edge.Top)
  524 + }
  525 + this.isScrollTop = !this.isScrollTop
  526 + }
  527 +
514 aboutToAppear() { 528 aboutToAppear() {
  529 + Logger.debug(TAG, '文章详情页 aboutToAppear,开始请求接口数据');
515 this.getDetail() 530 this.getDetail()
516 this.screenHeight = DisplayUtils.getDeviceHeight() 531 this.screenHeight = DisplayUtils.getDeviceHeight()
517 this.initAnimationConfig(); 532 this.initAnimationConfig();
@@ -24,6 +24,7 @@ export struct ImageAndTextWebComponent { @@ -24,6 +24,7 @@ export struct ImageAndTextWebComponent {
24 private webPrepared = false; 24 private webPrepared = false;
25 private dataPrepared = false; 25 private dataPrepared = false;
26 async onDetailDataUpdated() { 26 async onDetailDataUpdated() {
  27 + Logger.debug(TAG, '详情内容已获取接口数据');
27 if (this.action) { 28 if (this.action) {
28 let contentId: string = '' 29 let contentId: string = ''
29 let contentType: string = '' 30 let contentType: string = ''
@@ -92,6 +93,10 @@ export struct ImageAndTextWebComponent { @@ -92,6 +93,10 @@ export struct ImageAndTextWebComponent {
92 93
93 } 94 }
94 95
  96 + aboutToAppear(): void {
  97 + Logger.debug(TAG, 'H5模板加载控件 aboutToAppear');
  98 + }
  99 +
95 build() { 100 build() {
96 Column() { 101 Column() {
97 WdWebLocalComponent({ 102 WdWebLocalComponent({
@@ -115,15 +120,16 @@ export struct ImageAndTextWebComponent { @@ -115,15 +120,16 @@ export struct ImageAndTextWebComponent {
115 } 120 }
116 121
117 private onWebPrepared() { 122 private onWebPrepared() {
  123 + Logger.debug(TAG, 'H5模板已加载,prepared');
118 this.webPrepared = true 124 this.webPrepared = true
119 this.trySendData2H5() 125 this.trySendData2H5()
120 } 126 }
121 127
122 private sendContentData2H5(h5ReceiveAppData: H5ReceiveDetailBean) { 128 private sendContentData2H5(h5ReceiveAppData: H5ReceiveDetailBean) {
123 let jsonString = JSON.stringify(h5ReceiveAppData); 129 let jsonString = JSON.stringify(h5ReceiveAppData);
124 - Logger.debug('ImageAndTextWebComponent', 'jsCall_receiveAppData',jsonString); 130 + Logger.debug(TAG, '传递html数据至H5 jsCall_receiveAppData',jsonString);
125 this.webviewControl.callHandle(NativeCallH5Type.jsCall_receiveAppData, jsonString, (data: string) => { 131 this.webviewControl.callHandle(NativeCallH5Type.jsCall_receiveAppData, jsonString, (data: string) => {
126 - Logger.debug('ImageAndTextWebComponent', "from js data = " + data); 132 + Logger.debug(TAG, "from js data = " + data);
127 }) 133 })
128 } 134 }
129 } 135 }
@@ -327,7 +327,7 @@ export struct MorningEveningPaperComponent { @@ -327,7 +327,7 @@ export struct MorningEveningPaperComponent {
327 compListItem: this.compListItem, 327 compListItem: this.compListItem,
328 }) 328 })
329 .margin({ 329 .margin({
330 - top: this.isHasTopView || this.audioPlayUrl.length > 0 ? 10 : 44+this.topSafeHeight 330 + top: this.isHasTopView || this.audioPlayUrl.length > 0 ? 0 : 44+this.topSafeHeight
331 }) 331 })
332 } 332 }
333 } 333 }
@@ -155,8 +155,8 @@ export struct MultiPictureDetailItemComponent { @@ -155,8 +155,8 @@ export struct MultiPictureDetailItemComponent {
155 build() { 155 build() {
156 Swiper(this.swiperControllerItem){ 156 Swiper(this.swiperControllerItem){
157 Row(){ // 居中显示 157 Row(){ // 居中显示
158 - // List(){  
159 - // ListItem(){ 158 + List(){
  159 + ListItem(){
160 if(this.imageUri != null && (this.imageUri.includes('.gif') || this.imageUri.includes('.GIF'))){ 160 if(this.imageUri != null && (this.imageUri.includes('.gif') || this.imageUri.includes('.GIF'))){
161 Image(this.imageUri)// TODO:知识点:宽高只根据其尺寸设置一个,通过保持宽高比来设置另一个属性 161 Image(this.imageUri)// TODO:知识点:宽高只根据其尺寸设置一个,通过保持宽高比来设置另一个属性
162 .alt($r('app.media.datail_imageLoading_w')) 162 .alt($r('app.media.datail_imageLoading_w'))
@@ -194,10 +194,10 @@ export struct MultiPictureDetailItemComponent { @@ -194,10 +194,10 @@ export struct MultiPictureDetailItemComponent {
194 this.imageWidth = '100%' 194 this.imageWidth = '100%'
195 }) 195 })
196 } 196 }
197 - // }  
198 - // }  
199 - // .alignListItem(ListItemAlign.Center)  
200 - // .scrollBarWidth(0) 197 + }
  198 + }
  199 + .alignListItem(ListItemAlign.Center)
  200 + .scrollBarWidth(0)
201 } 201 }
202 .justifyContent(FlexAlign.Center) 202 .justifyContent(FlexAlign.Center)
203 } 203 }
@@ -26,6 +26,7 @@ import PageAdModel from '../viewmodel/PageAdvModel'; @@ -26,6 +26,7 @@ import PageAdModel from '../viewmodel/PageAdvModel';
26 import { ProcessUtils } from 'wdRouter/Index'; 26 import { ProcessUtils } from 'wdRouter/Index';
27 import { GrayManageModel } from '../viewmodel/GrayManageModel'; 27 import { GrayManageModel } from '../viewmodel/GrayManageModel';
28 import router from '@ohos.router'; 28 import router from '@ohos.router';
  29 +import { Message,WDH5WebDataSource,WDH5WebPageOperationType } from 'wdJsBridge/src/main/ets/bean/Message';
29 30
30 const TAG: string = 'SpacialTopicPageComponent' 31 const TAG: string = 'SpacialTopicPageComponent'
31 32
@@ -58,6 +59,8 @@ export struct SpacialTopicPageComponent { @@ -58,6 +59,8 @@ export struct SpacialTopicPageComponent {
58 @State private pageAdvModel: PageAdModel = new PageAdModel(); 59 @State private pageAdvModel: PageAdModel = new PageAdModel();
59 @State shareInfo: ShareInfoDTO = {} as ShareInfoDTO 60 @State shareInfo: ShareInfoDTO = {} as ShareInfoDTO
60 @State showBottomView: boolean = false; 61 @State showBottomView: boolean = false;
  62 + @State showBottomMaskView: boolean = false;
  63 + @State bgColor: ResourceColor = ''
61 @State executedStartTime: number = new Date().getTime() 64 @State executedStartTime: number = new Date().getTime()
62 65
63 // 国殇灰度管理 66 // 国殇灰度管理
@@ -84,56 +87,77 @@ export struct SpacialTopicPageComponent { @@ -84,56 +87,77 @@ export struct SpacialTopicPageComponent {
84 }) 87 })
85 } 88 }
86 89
87 - private receiveH5SendToNativeData(dataString: string | undefined) {  
88 - // this.topicDetail = JSON.parse(dataString);  
89 - if (dataString == undefined) { 90 + private receiveH5SendToNativeData(data: Message | undefined) {
  91 +
  92 + if (data == undefined) {
  93 + return
  94 + }
  95 +
  96 + if (data.data?.dataSource === WDH5WebDataSource.WDH5WebDataSourceTopicPageInfo) {
  97 + if (data.data?.dataJson == undefined) {
  98 + return
  99 + }
  100 + this.topicDetail = JSON.parse(data.data?.dataJson);
  101 + this.topicInfo = this.topicDetail.topicInfo;
  102 + this.pageAdvModel.analysisTopicAdvSource(this.topicDetail)
  103 + if (this.topicInfo) {
  104 + // 转换详情数据
  105 + this.contentDetailData.openComment = Number(this.topicInfo.commentFlag)
  106 + this.contentDetailData.commentDisplay = Number(this.topicInfo.commentShowFlag)
  107 + this.contentDetailData.newsId = Number(this.topicInfo.topicId)
  108 + this.contentDetailData.newsType = this.topicInfo.topicType
  109 + this.contentDetailData.newsTitle = this.topicInfo.title;
  110 + this.contentDetailData.newsType = this.topicInfo.topicType;
  111 + this.contentDetailData.visitorComment = this.topicInfo.visitorComment;
  112 +
  113 + //转换分享数据
  114 + this.shareInfo.shareCoverUrl = this.topicInfo.shareCoverUrl
  115 + this.shareInfo.shareOpen = this.topicInfo.shareOpen
  116 + this.shareInfo.sharePosterCoverUrl = this.topicInfo.sharePosterCoverUrl
  117 + this.shareInfo.shareSummary = this.topicInfo.shareSummary
  118 + this.shareInfo.shareTitle = this.topicInfo.shareTitle
  119 + this.shareInfo.shareUrl = this.topicInfo.shareUrl
  120 + this.contentDetailData.shareInfo = this.shareInfo
  121 +
  122 + // if(this.topicInfo.shareOpen === 1){
  123 + // if (!this.operationButtonList.includes('share')) {
  124 + // this.operationButtonList.push('share');
  125 + // }
  126 + // } else {
  127 + // this.operationButtonList = this.operationButtonList.filter(e =>e !== 'share')
  128 + // }
  129 +
  130 + // 转换评论数据
  131 + this.publishCommentModel.targetId = String(this.contentDetailData?.newsId || '')
  132 + this.publishCommentModel.targetRelId = String(this.contentDetailData?.reLInfo?.relId || '')
  133 + this.publishCommentModel.targetTitle = this.contentDetailData?.newsTitle
  134 + this.publishCommentModel.targetRelType = String(this.contentDetailData?.reLInfo?.relType || '')
  135 + this.publishCommentModel.targetRelObjectId = String(this.contentDetailData?.reLInfo?.relObjectId || '')
  136 + this.publishCommentModel.keyArticle = String(this.contentDetailData?.keyArticle || '')
  137 + this.publishCommentModel.targetType = String(this.contentDetailData?.newsType || '')
  138 + this.publishCommentModel.visitorComment = String(this.contentDetailData?.visitorComment || '')
  139 + this.showBottomView = true
  140 +
  141 + }
  142 + // this.viewBlogInsightIntentShare();
90 return 143 return
91 } 144 }
92 - Logger.debug('SpacialTopicPageComponent111', dataString);  
93 -  
94 - this.topicDetail = JSON.parse(dataString);  
95 - this.topicInfo = this.topicDetail.topicInfo;  
96 - this.pageAdvModel.analysisTopicAdvSource(this.topicDetail)  
97 - if (this.topicInfo) {  
98 - // 转换详情数据  
99 - this.contentDetailData.openComment = Number(this.topicInfo.commentFlag)  
100 - this.contentDetailData.commentDisplay = Number(this.topicInfo.commentShowFlag)  
101 - this.contentDetailData.newsId = Number(this.topicInfo.topicId)  
102 - this.contentDetailData.newsType = this.topicInfo.topicType  
103 - this.contentDetailData.newsTitle = this.topicInfo.title;  
104 - this.contentDetailData.newsType = this.topicInfo.topicType;  
105 - this.contentDetailData.visitorComment = this.topicInfo.visitorComment;  
106 -  
107 - //转换分享数据  
108 - this.shareInfo.shareCoverUrl = this.topicInfo.shareCoverUrl  
109 - this.shareInfo.shareOpen = this.topicInfo.shareOpen  
110 - this.shareInfo.sharePosterCoverUrl = this.topicInfo.sharePosterCoverUrl  
111 - this.shareInfo.shareSummary = this.topicInfo.shareSummary  
112 - this.shareInfo.shareTitle = this.topicInfo.shareTitle  
113 - this.shareInfo.shareUrl = this.topicInfo.shareUrl  
114 - this.contentDetailData.shareInfo = this.shareInfo  
115 -  
116 - // if(this.topicInfo.shareOpen === 1){  
117 - // if (!this.operationButtonList.includes('share')) {  
118 - // this.operationButtonList.push('share');  
119 - // }  
120 - // } else {  
121 - // this.operationButtonList = this.operationButtonList.filter(e =>e !== 'share')  
122 - // }  
123 -  
124 - // 转换评论数据  
125 - this.publishCommentModel.targetId = String(this.contentDetailData?.newsId || '')  
126 - this.publishCommentModel.targetRelId = String(this.contentDetailData?.reLInfo?.relId || '')  
127 - this.publishCommentModel.targetTitle = this.contentDetailData?.newsTitle  
128 - this.publishCommentModel.targetRelType = String(this.contentDetailData?.reLInfo?.relType || '')  
129 - this.publishCommentModel.targetRelObjectId = String(this.contentDetailData?.reLInfo?.relObjectId || '')  
130 - this.publishCommentModel.keyArticle = String(this.contentDetailData?.keyArticle || '')  
131 - this.publishCommentModel.targetType = String(this.contentDetailData?.newsType || '')  
132 - this.publishCommentModel.visitorComment = String(this.contentDetailData?.visitorComment || '')  
133 - this.showBottomView = true  
134 145
  146 + if (data.data?.operateType == WDH5WebPageOperationType.WDH5WebPageOperationTypeBottomBarMaskViewShow) {
  147 +
  148 + if (data.data?.color == undefined){
  149 + this.bgColor = '#80000000'
  150 + }else {
  151 + this.bgColor = data.data?.color
  152 + }
  153 + this.showBottomMaskView = true
  154 + return
  155 + }
  156 +
  157 + if (data.data?.operateType == WDH5WebPageOperationType.WDH5WebPageOperationTypeBottomBarMaskViewHidden) {
  158 + this.showBottomMaskView = false
  159 + return
135 } 160 }
136 - // this.viewBlogInsightIntentShare();  
137 } 161 }
138 162
139 //意图上报 163 //意图上报
@@ -235,6 +259,13 @@ export struct SpacialTopicPageComponent { @@ -235,6 +259,13 @@ export struct SpacialTopicPageComponent {
235 interactData: $interactData, 259 interactData: $interactData,
236 }).visibility(this.showComment ? Visibility.Visible : Visibility.Hidden) 260 }).visibility(this.showComment ? Visibility.Visible : Visibility.Hidden)
237 } 261 }
  262 +
  263 + if (this.showBottomMaskView){
  264 + Column()
  265 + .width('100%')
  266 + .backgroundColor(this.bgColor)
  267 + .height(75)
  268 + }
238 } 269 }
239 }.width(CommonConstants.FULL_WIDTH).height(CommonConstants.FULL_HEIGHT) 270 }.width(CommonConstants.FULL_WIDTH).height(CommonConstants.FULL_HEIGHT)
240 } 271 }
@@ -64,10 +64,11 @@ export struct CardSourceInfo { @@ -64,10 +64,11 @@ export struct CardSourceInfo {
64 } 64 }
65 65
66 handleTimeStr() { 66 handleTimeStr() {
  67 + let time = this.contentDTO.updateTime && this.contentDTO.updateTime.length > 0?this.contentDTO.updateTime:this.contentDTO.publishTime
67 let str = DateTimeUtils.getCommentTime( 68 let str = DateTimeUtils.getCommentTime(
68 - this.contentDTO.publishTime.includes(' ')  
69 - ? Number.parseFloat(new Date(this.contentDTO.publishTime).getTime().toString())  
70 - : Number.parseFloat(this.contentDTO.publishTime) 69 + time.includes(' ')
  70 + ? Number.parseFloat(new Date(time).getTime().toString())
  71 + : Number.parseFloat(time)
71 ) 72 )
72 console.log('cj2024 str', str) 73 console.log('cj2024 str', str)
73 return str 74 return str
@@ -7,7 +7,7 @@ import { @@ -7,7 +7,7 @@ import {
7 } from 'wdDetailPlayApi/src/main/ets/request/ContentDetailRequest'; 7 } from 'wdDetailPlayApi/src/main/ets/request/ContentDetailRequest';
8 import { RmhInfoDTO, CompDTO, ContentDTO } from 'wdBean' 8 import { RmhInfoDTO, CompDTO, ContentDTO } from 'wdBean'
9 import { CommonConstants } from 'wdConstant/Index'; 9 import { CommonConstants } from 'wdConstant/Index';
10 -import { DateTimeUtils, SPHelper, Logger, ToastUtils } from 'wdKit'; 10 +import { DateTimeUtils, SPHelper, Logger, ToastUtils, DisplayUtils } from 'wdKit';
11 import { SpConstants } from 'wdConstant/Index' 11 import { SpConstants } from 'wdConstant/Index'
12 import { ProcessUtils, WDRouterPage, WDRouterRule } from 'wdRouter/Index'; 12 import { ProcessUtils, WDRouterPage, WDRouterRule } from 'wdRouter/Index';
13 import router from '@ohos.router' 13 import router from '@ohos.router'
@@ -15,7 +15,7 @@ import { postBatchAttentionStatusParams } from 'wdBean/Index'; @@ -15,7 +15,7 @@ import { postBatchAttentionStatusParams } from 'wdBean/Index';
15 import { MultiPictureDetailViewModel } from '../../viewmodel/MultiPictureDetailViewModel' 15 import { MultiPictureDetailViewModel } from '../../viewmodel/MultiPictureDetailViewModel'
16 import { onlyWifiLoadImg } from '../../utils/lazyloadImg'; 16 import { onlyWifiLoadImg } from '../../utils/lazyloadImg';
17 import { InfomationCardClick } from '../../utils/infomationCardClick' 17 import { InfomationCardClick } from '../../utils/infomationCardClick'
18 - 18 +import measure from '@ohos.measure'
19 @Component 19 @Component
20 export struct RmhTitle { 20 export struct RmhTitle {
21 @State compDTO: CompDTO = new CompDTO() 21 @State compDTO: CompDTO = new CompDTO()
@@ -156,7 +156,7 @@ export struct RmhTitle { @@ -156,7 +156,7 @@ export struct RmhTitle {
156 .lineHeight(21) 156 .lineHeight(21)
157 .margin({bottom: 1}) 157 .margin({bottom: 1})
158 158
159 - Flex({alignContent: FlexAlign.Start, wrap: FlexWrap.NoWrap}) { 159 + // Flex({alignContent: FlexAlign.Start, wrap: FlexWrap.NoWrap}) {
160 Row() { 160 Row() {
161 if (!(this.hideTime && this.getDaysBetweenDates(Number(this.publishTime)) > 2)) { 161 if (!(this.hideTime && this.getDaysBetweenDates(Number(this.publishTime)) > 2)) {
162 if (this.publishTime) { 162 if (this.publishTime) {
@@ -182,12 +182,14 @@ export struct RmhTitle { @@ -182,12 +182,14 @@ export struct RmhTitle {
182 .textAlign(TextAlign.Start) 182 .textAlign(TextAlign.Start)
183 .height(14) 183 .height(14)
184 .lineHeight(14) 184 .lineHeight(14)
  185 + .constraintSize({maxWidth:(DisplayUtils.getDeviceWidth() - 32 - 36 - 18 - this.getTextWidth(DateTimeUtils.getCommentTime(Number.parseFloat(this.publishTime))))})
185 } 186 }
186 187
187 } 188 }
188 .height(14) 189 .height(14)
189 - }  
190 - .width('calc(100% - 36vp - 8vp)') 190 + .align(Alignment.Start)
  191 + // }
  192 + // .width('calc(100% - 36vp - 8vp)')
191 } 193 }
192 .justifyContent(FlexAlign.SpaceBetween) 194 .justifyContent(FlexAlign.SpaceBetween)
193 195
@@ -222,4 +224,13 @@ export struct RmhTitle { @@ -222,4 +224,13 @@ export struct RmhTitle {
222 224
223 }) 225 })
224 } 226 }
  227 +
  228 + // 获取文本宽度
  229 + private getTextWidth(text: string) {
  230 + let size = measure.measureTextSize({
  231 + textContent: text,
  232 + fontSize: $r("app.float.font_size_12")
  233 + })
  234 + return px2vp(Number(size.width))
  235 + }
225 } 236 }
@@ -20,11 +20,12 @@ export struct behindDivider { @@ -20,11 +20,12 @@ export struct behindDivider {
20 Divider().strokeWidth(5).color('#f5f5f5').width('120%').margin({left: -6}) 20 Divider().strokeWidth(5).color('#f5f5f5').width('120%').margin({left: -6})
21 } 21 }
22 } else if (this.compDTO.compStyle === CompStyle.Zh_Carousel_Layout_01) { 22 } else if (this.compDTO.compStyle === CompStyle.Zh_Carousel_Layout_01) {
23 - if (this.compIndex === 0) {  
24 - Divider().strokeWidth(1).color('#f5f5f5').width('120%').margin({left: -6})  
25 - } else {  
26 - Divider().strokeWidth(5).color('#f5f5f5').width('120%').margin({left: -6})  
27 - } 23 + // if (this.compIndex === 0) {
  24 + // Divider().strokeWidth(1).color('#f5f5f5').width('120%').margin({left: -6})
  25 + // } else {
  26 + // Divider().strokeWidth(5).color('#f5f5f5').width('120%').margin({left: -6})
  27 + // }
  28 + Divider().strokeWidth(1).color('#f5f5f5').width(CommonConstants.FULL_WIDTH).padding({ left: 10, right: 10 })
28 } else if (this.compDTO?.operDataList?.[0]?.appStyle === CompStyle.Card_10) { 29 } else if (this.compDTO?.operDataList?.[0]?.appStyle === CompStyle.Card_10) {
29 // 大专题 30 // 大专题
30 if (this.nextCompDTO?.operDataList?.[0]?.appStyle === CompStyle.Card_10) { 31 if (this.nextCompDTO?.operDataList?.[0]?.appStyle === CompStyle.Card_10) {
@@ -32,7 +33,14 @@ export struct behindDivider { @@ -32,7 +33,14 @@ export struct behindDivider {
32 } else { 33 } else {
33 Divider().strokeWidth(5).color('#f5f5f5').width('120%').margin({left: -6}) 34 Divider().strokeWidth(5).color('#f5f5f5').width('120%').margin({left: -6})
34 } 35 }
35 - } 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) { 36 + } else if (this.compDTO.compType === 'appStyle'
  37 + || this.compDTO.compStyle === CompStyle.Zh_Single_Row_01
  38 + || this.compDTO.compStyle === CompStyle.Zh_Single_Row_02
  39 + || this.compDTO.compStyle === CompStyle.Zh_Single_Row_03
  40 + || this.compDTO.compStyle === CompStyle.Card_Comp_Adv
  41 + || this.compDTO.compStyle === CompStyle.Zh_Single_Column_02
  42 + || this.compDTO.compStyle === CompStyle.Zh_Single_Column_04
  43 + ) {
36 if ( 44 if (
37 this.nextCompDTO.compStyle === CompStyle.Card_09 || 45 this.nextCompDTO.compStyle === CompStyle.Card_09 ||
38 this.nextCompDTO?.operDataList?.[0]?.appStyle === CompStyle.Card_10 || 46 this.nextCompDTO?.operDataList?.[0]?.appStyle === CompStyle.Card_10 ||
@@ -18,6 +18,7 @@ const TAG: string = 'Card2Component'; @@ -18,6 +18,7 @@ const TAG: string = 'Card2Component';
18 * @UpdateRemark: 更新说明 18 * @UpdateRemark: 更新说明
19 * @Version: 1.0 19 * @Version: 1.0
20 */ 20 */
  21 +@Preview
21 @Component 22 @Component
22 export struct CardAdvGanMiComponent { 23 export struct CardAdvGanMiComponent {
23 @State compDTO: CompDTO = {} as CompDTO 24 @State compDTO: CompDTO = {} as CompDTO
@@ -64,8 +65,8 @@ export struct CardAdvGanMiComponent { @@ -64,8 +65,8 @@ export struct CardAdvGanMiComponent {
64 .alignContent(Alignment.Top) 65 .alignContent(Alignment.Top)
65 .width(CommonConstants.FULL_WIDTH) 66 .width(CommonConstants.FULL_WIDTH)
66 }.width('100%').padding({ 67 }.width('100%').padding({
67 - left: $r('app.float.card_comp_pagePadding_lf'),  
68 - right: $r('app.float.card_comp_pagePadding_lf'), 68 + left: 10,
  69 + right: 10,
69 }) 70 })
70 71
71 72
@@ -125,8 +126,8 @@ export struct CardAdvGanMiComponent { @@ -125,8 +126,8 @@ export struct CardAdvGanMiComponent {
125 .contentEndOffset(this.advLength == 1 ? 0 : 16) 126 .contentEndOffset(this.advLength == 1 ? 0 : 16)
126 .margin({ top: 10, bottom: 10 }) 127 .margin({ top: 10, bottom: 10 })
127 .padding({ 128 .padding({
128 - left: this.advLength == 1 ? 16 : 0,  
129 - right: this.advLength == 1 ? 16 : 0, 129 + left: this.advLength == 1 ? 10 : 0,
  130 + right: this.advLength == 1 ? 10 : 0,
130 }) 131 })
131 132
132 // 更多按钮 133 // 更多按钮
@@ -174,8 +175,8 @@ export struct CardAdvGanMiComponent { @@ -174,8 +175,8 @@ export struct CardAdvGanMiComponent {
174 175
175 }) 176 })
176 }.width('100%').padding({ 177 }.width('100%').padding({
177 - left: $r('app.float.card_comp_pagePadding_lf'),  
178 - right: $r('app.float.card_comp_pagePadding_lf'), 178 + left: 10,
  179 + right: 10,
179 180
180 }) 181 })
181 182
@@ -187,30 +187,30 @@ struct createImg { @@ -187,30 +187,30 @@ struct createImg {
187 187
188 @Builder 188 @Builder
189 longPicTip(weight: number, height: number) { 189 longPicTip(weight: number, height: number) {
190 - Flex({ direction: FlexDirection.Row }) {  
191 - Image($r('app.media.icon_long_pic'))  
192 - .width(12)  
193 - .height(12)  
194 - .margin({ right: 4 })  
195 - Text('长图')  
196 - .fontSize(10)  
197 - .fontWeight(400)  
198 - .textShadow({  
199 - radius: 1,  
200 - color: `rgba(0,0,0,0.5)`,  
201 - offsetY:1,  
202 - offsetX:1  
203 - })  
204 - .fontColor(0xffffff)  
205 - .fontFamily('PingFang SC')  
206 - .visibility(  
207 - weight / height > 2 || height / weight > 2  
208 - ? Visibility.Visible : Visibility.None  
209 - )  
210 - }  
211 - .width(48)  
212 - .align(Alignment.BottomEnd)  
213 - .padding({ bottom: 8 }) 190 + // Flex({ direction: FlexDirection.Row }) {
  191 + // Image($r('app.media.icon_long_pic'))
  192 + // .width(12)
  193 + // .height(12)
  194 + // .margin({ right: 4 })
  195 + // Text('长图')
  196 + // .fontSize(10)
  197 + // .fontWeight(400)
  198 + // .textShadow({
  199 + // radius: 1,
  200 + // color: `rgba(0,0,0,0.5)`,
  201 + // offsetY:1,
  202 + // offsetX:1
  203 + // })
  204 + // .fontColor(0xffffff)
  205 + // .fontFamily('PingFang SC')
  206 + // .visibility(
  207 + // weight / height > 2 || height / weight > 2
  208 + // ? Visibility.Visible : Visibility.None
  209 + // )
  210 + // }
  211 + // .width(48)
  212 + // .align(Alignment.BottomEnd)
  213 + // .padding({ bottom: 8 })
214 } 214 }
215 215
216 build() { 216 build() {
@@ -28,7 +28,9 @@ export struct Card5Component { @@ -28,7 +28,9 @@ export struct Card5Component {
28 @State textArr: textItem[] = [] 28 @State textArr: textItem[] = []
29 29
30 async aboutToAppear(): Promise<void> { 30 async aboutToAppear(): Promise<void> {
31 - console.log('Card2Component', JSON.stringify(this.compDTO),this.contentDTO.titleShow) 31 + // console.log(TAG, JSON.stringify(this.compDTO),this.contentDTO.titleShow)
  32 + // console.log(TAG, 'this.contentDTO.title', this.contentDTO.title)
  33 + // console.log(TAG, 'this.contentDTO.newsTitle', this.contentDTO.newsTitle)
32 const curRouter = router.getState().name; 34 const curRouter = router.getState().name;
33 this.clicked = hasClicked(this.contentDTO.objectId, curRouter) 35 this.clicked = hasClicked(this.contentDTO.objectId, curRouter)
34 this.loadImg = await onlyWifiLoadImg(); 36 this.loadImg = await onlyWifiLoadImg();
@@ -578,48 +578,53 @@ struct footerExpandedView { @@ -578,48 +578,53 @@ struct footerExpandedView {
578 578
579 build() { 579 build() {
580 Row() { 580 Row() {
581 - if (this.item.expanded) {  
582 - Row() {  
583 - Text().backgroundColor($r('app.color.color_EDEDED')).width(24).height(1)  
584 - if (this.item.childsHasMore) { 581 + Row() {
  582 + if (this.item.expanded) {
  583 + Row() {
  584 + Text().backgroundColor($r('app.color.color_EDEDED')).width(24).height(1)
  585 + if (this.item.childsHasMore) {
  586 + Row() {
  587 + Text('查看更多回复').fontColor($r('app.color.color_222222')).fontSize(14)
  588 + Image($r('app.media.comment_unfold')).width(12).height(12)
  589 + }.margin({ left: 6 })
  590 + .onClick(() => {
  591 + if (this.item.isLoading) {
  592 + return
  593 + }
  594 + this.item.isLoading = true
  595 + fetchChildContentCommentList(this.contentId, this.contentType, this.item)
  596 + })
  597 + }
585 Row() { 598 Row() {
586 - Text('查看更多回复').fontColor($r('app.color.color_222222')).fontSize(14)  
587 - Image($r('app.media.comment_unfold')).width(12).height(12) 599 + Text('收起').fontColor($r('app.color.color_222222')).fontSize(14)
  600 + Image($r('app.media.comment_pickUp')).width(12).height(12)
588 }.margin({ left: 6 }) 601 }.margin({ left: 6 })
589 .onClick(() => { 602 .onClick(() => {
590 - if (this.item.isLoading) {  
591 - return  
592 - }  
593 - this.item.isLoading = true  
594 - fetchChildContentCommentList(this.contentId, this.contentType, this.item) 603 + this.item.pageNum = 1
  604 + this.item.expanded = false
  605 + this.item.childComments = []
  606 + this.item.childCommentsLazyDataSource.clear()
595 }) 607 })
596 - } 608 + }.margin({ left: 53 })
  609 + } else {
597 Row() { 610 Row() {
598 - Text('收起').fontColor($r('app.color.color_222222')).fontSize(14)  
599 - Image($r('app.media.comment_pickUp')).width(12).height(12)  
600 - }.margin({ left: 6 }) 611 + Text().backgroundColor($r('app.color.color_EDEDED')).width(24).height(1)
  612 + Text('查看更多回复').fontColor($r('app.color.color_222222')).fontSize(14).margin({ left: 6 })
  613 + Image($r('app.media.comment_unfold')).width(12).height(12)
  614 + }.margin({ left: 53 })
601 .onClick(() => { 615 .onClick(() => {
602 - this.item.pageNum = 1  
603 - this.item.expanded = false  
604 - this.item.childComments = []  
605 - this.item.childCommentsLazyDataSource.clear() 616 + if (this.item.isLoading) {
  617 + return
  618 + }
  619 + this.item.isLoading = true
  620 + fetchChildContentCommentList(this.contentId, this.contentType, this.item)
606 }) 621 })
607 - }.margin({ left: 53 })  
608 - } else {  
609 - Row() {  
610 - Text().backgroundColor($r('app.color.color_EDEDED')).width(24).height(1)  
611 - Text('查看更多回复').fontColor($r('app.color.color_222222')).fontSize(14).margin({ left: 6 })  
612 - Image($r('app.media.comment_unfold')).width(12).height(12)  
613 - }.margin({ left: 53 })  
614 - .onClick(() => {  
615 - if (this.item.isLoading) {  
616 - return  
617 - }  
618 - this.item.isLoading = true  
619 - fetchChildContentCommentList(this.contentId, this.contentType, this.item)  
620 - })  
621 - }  
622 - }.height(30) 622 + }
  623 + }.height(20)
  624 + // .backgroundColor(Color.Green)
  625 + }.height(24)
  626 + .alignItems(VerticalAlign.Top)
  627 + // .backgroundColor(Color.Gray)
623 } 628 }
624 } 629 }
625 630
@@ -34,6 +34,7 @@ export struct CommentListDialogView { @@ -34,6 +34,7 @@ export struct CommentListDialogView {
34 height: this.maxHeight + 'px', 34 height: this.maxHeight + 'px',
35 preferType: SheetType.BOTTOM, 35 preferType: SheetType.BOTTOM,
36 showClose: false, 36 showClose: false,
  37 + maskColor: "#50000000",
37 dragBar: false, 38 dragBar: false,
38 onDisappear: () => { 39 onDisappear: () => {
39 this.showCommentList = false 40 this.showCommentList = false
@@ -49,7 +49,8 @@ export struct LottieView { @@ -49,7 +49,8 @@ export struct LottieView {
49 onDestroyAnimation(){ 49 onDestroyAnimation(){
50 // 销毁动画,减少缓存 50 // 销毁动画,减少缓存
51 if (this.animateItem !== null) { 51 if (this.animateItem !== null) {
52 - this.animateItem.destroy(this.name); 52 + lottie.destroy(this.name)
  53 + // console.log('lottie', 'onDestroyAnimation')
53 this.animateItem = null; 54 this.animateItem = null;
54 } 55 }
55 56
@@ -68,6 +69,7 @@ export struct LottieView { @@ -68,6 +69,7 @@ export struct LottieView {
68 } 69 }
69 }) 70 })
70 .onDisAppear(()=>{ 71 .onDisAppear(()=>{
  72 + // console.log('lottie', 'onDisAppear')
71 this.onDestroyAnimation() 73 this.onDestroyAnimation()
72 }) 74 })
73 .onAppear(()=>{ 75 .onAppear(()=>{
@@ -55,8 +55,8 @@ export default struct MinePageUserSimpleInfoUI { @@ -55,8 +55,8 @@ export default struct MinePageUserSimpleInfoUI {
55 55
56 if(StringUtils.isNotEmpty(this.levelHead)){ 56 if(StringUtils.isNotEmpty(this.levelHead)){
57 Image(this.levelHead) 57 Image(this.levelHead)
58 - .width(72.86)  
59 - .height(72.86) 58 + .width(75.86)
  59 + .height(75.86)
60 .objectFit(ImageFit.Cover) 60 .objectFit(ImageFit.Cover)
61 .borderRadius(50) 61 .borderRadius(50)
62 } 62 }
@@ -80,6 +80,7 @@ export default struct MinePageUserSimpleInfoUI { @@ -80,6 +80,7 @@ export default struct MinePageUserSimpleInfoUI {
80 .textOverflow({ overflow: TextOverflow.Ellipsis }) 80 .textOverflow({ overflow: TextOverflow.Ellipsis })
81 .fontSize(20) 81 .fontSize(20)
82 .lineHeight(24) 82 .lineHeight(24)
  83 + .constraintSize({maxWidth:200})
83 84
84 Image($r('app.media.mine_user_edit')) 85 Image($r('app.media.mine_user_edit'))
85 .width(14) 86 .width(14)
@@ -101,7 +102,7 @@ export default struct MinePageUserSimpleInfoUI { @@ -101,7 +102,7 @@ export default struct MinePageUserSimpleInfoUI {
101 .fontFamily('PingFang SC-Semibold') 102 .fontFamily('PingFang SC-Semibold')
102 .fontSize(10) 103 .fontSize(10)
103 .fontWeight(600) 104 .fontWeight(600)
104 - .margin({ left: 6 }) 105 + .margin({ left: 0,top:8 })
105 .backgroundImage($r("app.media.mine_grade_bg")) 106 .backgroundImage($r("app.media.mine_grade_bg"))
106 .backgroundImageSize(ImageSize.FILL) 107 .backgroundImageSize(ImageSize.FILL)
107 .padding({left: 6,right: 6}) 108 .padding({left: 6,right: 6})
@@ -109,7 +110,6 @@ export default struct MinePageUserSimpleInfoUI { @@ -109,7 +110,6 @@ export default struct MinePageUserSimpleInfoUI {
109 } 110 }
110 } 111 }
111 .alignItems(HorizontalAlign.Start) 112 .alignItems(HorizontalAlign.Start)
112 - .width(180)  
113 }else{ 113 }else{
114 Row(){ 114 Row(){
115 Text("登录注册") 115 Text("登录注册")
@@ -58,6 +58,7 @@ export struct FollowChildComponent{ @@ -58,6 +58,7 @@ export struct FollowChildComponent{
58 .fontColor($r('app.color.color_222222')) 58 .fontColor($r('app.color.color_222222'))
59 .maxLines(1) 59 .maxLines(1)
60 .margin({bottom: 2}) 60 .margin({bottom: 2})
  61 + .textOverflow({ overflow: TextOverflow.Ellipsis })
61 62
62 Text(`粉丝${this.data.cnFansNum}`) 63 Text(`粉丝${this.data.cnFansNum}`)
63 .fontColor($r('app.color.color_B0B0B0')) 64 .fontColor($r('app.color.color_B0B0B0'))
@@ -150,7 +151,7 @@ export struct FollowChildComponent{ @@ -150,7 +151,7 @@ export struct FollowChildComponent{
150 .alignItems(VerticalAlign.Top) 151 .alignItems(VerticalAlign.Top)
151 152
152 } 153 }
153 - .height(105) 154 + // .height(105)
154 .justifyContent(FlexAlign.Start) 155 .justifyContent(FlexAlign.Start)
155 156
156 Divider() 157 Divider()
@@ -158,6 +159,7 @@ export struct FollowChildComponent{ @@ -158,6 +159,7 @@ export struct FollowChildComponent{
158 .height(1) 159 .height(1)
159 .color($r('app.color.color_F5F5F5')) 160 .color($r('app.color.color_F5F5F5'))
160 .strokeWidth(1) 161 .strokeWidth(1)
  162 + .margin({top:10})
161 }.width('100%') 163 }.width('100%')
162 164
163 }else { 165 }else {
@@ -60,12 +60,10 @@ export struct FollowFirstTabsComponent{ @@ -60,12 +60,10 @@ export struct FollowFirstTabsComponent{
60 .lineHeight(20) 60 .lineHeight(20)
61 61
62 if(this.currentIndex === index){ 62 if(this.currentIndex === index){
63 - Divider() 63 + Image($r('app.media.icon_channel_active'))//.colorFilter(ColorUtils.getDrawingColorFilter(this.getBothColor("")))
64 .width(16) 64 .width(16)
65 .height(2) 65 .height(2)
66 - .color('#ED2800')  
67 - .strokeWidth(2)  
68 - .margin({top: 35}) 66 + .margin({top: 30})
69 .id("divTag") 67 .id("divTag")
70 } 68 }
71 }.onClick(()=>{ 69 }.onClick(()=>{
@@ -37,7 +37,7 @@ export struct HomePageBottomCommentComponent { @@ -37,7 +37,7 @@ export struct HomePageBottomCommentComponent {
37 if (this.isGetRequest == true) { 37 if (this.isGetRequest == true) {
38 Text().backgroundColor($r('app.color.color_EDEDED')) 38 Text().backgroundColor($r('app.color.color_EDEDED'))
39 .width('100%') 39 .width('100%')
40 - .height(2) 40 + .height(1)
41 } 41 }
42 if (this.count === 0) { 42 if (this.count === 0) {
43 if (this.isGetRequest == true) { 43 if (this.isGetRequest == true) {
@@ -71,7 +71,7 @@ export struct HomePageBottomFollowComponent { @@ -71,7 +71,7 @@ export struct HomePageBottomFollowComponent {
71 if (this.isGetRequest == true) { 71 if (this.isGetRequest == true) {
72 Text().backgroundColor($r('app.color.color_EDEDED')) 72 Text().backgroundColor($r('app.color.color_EDEDED'))
73 .width('100%') 73 .width('100%')
74 - .height(2) 74 + .height(1)
75 } 75 }
76 76
77 if (this.count === 0) { 77 if (this.count === 0) {
@@ -8,10 +8,10 @@ export struct SubscribeListChildComponent{ @@ -8,10 +8,10 @@ export struct SubscribeListChildComponent{
8 Column(){ 8 Column(){
9 Row(){ 9 Row(){
10 Text(`${this.item.dealTime}`) 10 Text(`${this.item.dealTime}`)
11 - .margin({top:"31lpx",bottom:"23lpx"}) 11 + .margin({top:16,bottom:12})
12 .fontWeight(400) 12 .fontWeight(400)
13 - .fontSize("23lpx")  
14 - .lineHeight("33lpx") 13 + .fontSize(12)
  14 + .lineHeight(17)
15 .fontColor($r('app.color.color_999999')) 15 .fontColor($r('app.color.color_999999'))
16 }.width('100%') 16 }.width('100%')
17 .backgroundColor($r('app.color.color_F5F5F5')) 17 .backgroundColor($r('app.color.color_F5F5F5'))
@@ -20,78 +20,78 @@ export struct SubscribeListChildComponent{ @@ -20,78 +20,78 @@ export struct SubscribeListChildComponent{
20 Column(){ 20 Column(){
21 Column(){ 21 Column(){
22 Text(`${this.item.title}`) 22 Text(`${this.item.title}`)
23 - .fontSize("31lpx")  
24 - .lineHeight("46lpx") 23 + .fontSize(16)
  24 + .lineHeight(24)
25 .fontWeight(500) 25 .fontWeight(500)
26 .fontColor($r('app.color.color_333333')) 26 .fontColor($r('app.color.color_333333'))
27 - .margin({top:"27lpx",bottom:"25lpx"}) 27 + .margin({top:14,bottom:13})
28 .maxLines(1) 28 .maxLines(1)
29 29
30 Text().backgroundColor($r('app.color.color_F5F5F5')) 30 Text().backgroundColor($r('app.color.color_F5F5F5'))
31 .width('100%') 31 .width('100%')
32 - .height('1lpx') 32 + .height(0.5)
33 }.alignItems(HorizontalAlign.Start) 33 }.alignItems(HorizontalAlign.Start)
34 .width("100%") 34 .width("100%")
35 - .height("98lpx") 35 + .height(51)
36 36
37 Row(){ 37 Row(){
38 Image(`${this.item.imgUrl}`) 38 Image(`${this.item.imgUrl}`)
39 - .width('204lpx')  
40 - .height('115lpx')  
41 - .borderRadius("6lpx") 39 + .width(106)
  40 + .height(60)
  41 + .borderRadius(3)
42 .objectFit(ImageFit.Auto) 42 .objectFit(ImageFit.Auto)
43 - .margin({right:"23lpx"}) 43 + .margin({right:12})
44 44
45 Text(`${this.item.desc}`) 45 Text(`${this.item.desc}`)
46 - .fontSize("27lpx")  
47 - .lineHeight("38lpx") 46 + .fontSize(14)
  47 + .lineHeight(20)
48 .fontWeight(400) 48 .fontWeight(400)
49 .fontColor($r('app.color.color_222222')) 49 .fontColor($r('app.color.color_222222'))
50 .layoutWeight(1) 50 .layoutWeight(1)
51 }.alignItems(VerticalAlign.Center) 51 }.alignItems(VerticalAlign.Center)
52 .width("100%") 52 .width("100%")
53 - .height("160lpx") 53 + .height(84)
54 54
55 Text().backgroundColor($r('app.color.color_F5F5F5')) 55 Text().backgroundColor($r('app.color.color_F5F5F5'))
56 .width('100%') 56 .width('100%')
57 - .height('1lpx') 57 + .height(0.5)
58 58
59 Row(){ 59 Row(){
60 Text(`${this.item.time}开始`) 60 Text(`${this.item.time}开始`)
61 - .fontSize("23lpx") 61 + .fontSize(12)
62 .fontWeight(600) 62 .fontWeight(600)
63 - .lineHeight("31lpx") 63 + .fontColor($r('app.color.color_222222'))
  64 + .lineHeight(16)
64 65
65 Row(){ 66 Row(){
66 Text("查看详情") 67 Text("查看详情")
67 - .fontSize("23lpx")  
68 - .lineHeight("38lpx") 68 + .fontSize(12)
  69 + .lineHeight(20)
69 .fontWeight(400) 70 .fontWeight(400)
70 .fontColor($r('app.color.color_666666')) 71 .fontColor($r('app.color.color_666666'))
71 - .margin({right:"8lpx"}) 72 + .margin({right:4})
72 73
73 Image($r('app.media.subscribe_arrow_icon')) 74 Image($r('app.media.subscribe_arrow_icon'))
74 - .width('23lpx')  
75 - .height('13lpx') 75 + .width(12)
  76 + .height(12)
76 .objectFit(ImageFit.Auto) 77 .objectFit(ImageFit.Auto)
77 .interpolation(ImageInterpolation.High) 78 .interpolation(ImageInterpolation.High)
78 - .margin({right:"4lpx"}) 79 + .margin({right:2})
79 } 80 }
80 }.alignItems(VerticalAlign.Center) 81 }.alignItems(VerticalAlign.Center)
81 .justifyContent(FlexAlign.SpaceBetween) 82 .justifyContent(FlexAlign.SpaceBetween)
82 .width("100%") 83 .width("100%")
83 - .height("73lpx") 84 + .height(38)
84 85
85 }.backgroundColor($r('app.color.white')) 86 }.backgroundColor($r('app.color.white'))
86 - .borderRadius("8lpx")  
87 - .height("336lpx") 87 + .borderRadius(4)
  88 + .height(175)
88 .width("100%") 89 .width("100%")
89 - .padding({left:"23lpx",right:"23lpx"}) 90 + .padding({left:12,right:12})
90 } 91 }
91 .backgroundColor($r('app.color.color_F5F5F5')) 92 .backgroundColor($r('app.color.color_F5F5F5'))
92 .width("100%") 93 .width("100%")
93 - .height("423lpx")  
94 - .padding({left:"31lpx",right:"31lpx"}) 94 + .padding({left:16,right:16})
95 .alignItems(HorizontalAlign.Center) 95 .alignItems(HorizontalAlign.Center)
96 } 96 }
97 97
@@ -443,7 +443,7 @@ export struct PaperSingleColumn999CardView { @@ -443,7 +443,7 @@ export struct PaperSingleColumn999CardView {
443 Image(this.item?.coverUrl) 443 Image(this.item?.coverUrl)
444 .borderRadius(5) 444 .borderRadius(5)
445 .objectFit(ImageFit.Cover) 445 .objectFit(ImageFit.Cover)
446 - .aspectRatio(16 / 10) ///图片设计比例 446 + .aspectRatio(319 / 179) ///图片设计比例
447 .padding({ top: 10 }) 447 .padding({ top: 10 })
448 //视频 448 //视频
449 if (this.item?.videoInfo) { 449 if (this.item?.videoInfo) {
@@ -599,6 +599,7 @@ struct ChannelSubscriptionLayout { @@ -599,6 +599,7 @@ struct ChannelSubscriptionLayout {
599 } 599 }
600 .width(36) 600 .width(36)
601 .height(40) 601 .height(40)
  602 + .margin({right: 6})
602 .justifyContent(FlexAlign.Center) 603 .justifyContent(FlexAlign.Center)
603 .onClick(() => { 604 .onClick(() => {
604 this.isShow = true 605 this.isShow = true
@@ -54,7 +54,15 @@ export struct PageComponent { @@ -54,7 +54,15 @@ export struct PageComponent {
54 emptyType: this.pageModel.emptyType, 54 emptyType: this.pageModel.emptyType,
55 emptyButton: true, 55 emptyButton: true,
56 retry: () => { 56 retry: () => {
  57 + this.pageModel.viewType = ViewType.LOADING;
57 this.getData() 58 this.getData()
  59 + // this.pageModel.pageId = this.pageId;
  60 + // this.pageModel.groupId = this.pageId;
  61 + // this.pageModel.channelId = this.channelId;
  62 + // this.pageModel.currentPage = 1;
  63 + // this.pageModel.pageTotalCompSize = 0;
  64 + // this.listScroller.scrollToIndex(0)
  65 + // autoRefresh(this.pageModel, this.pageAdvModel)
58 } 66 }
59 }) 67 })
60 .backgroundColor(Color.White) 68 .backgroundColor(Color.White)
@@ -277,6 +285,7 @@ export struct PageComponent { @@ -277,6 +285,7 @@ export struct PageComponent {
277 Logger.info(TAG, 285 Logger.info(TAG,
278 `onChangezz id: ${this.pageId} , ${this.channelId} , ${this.navIndex} , navIndex: ${this.currentTopNavSelectedIndex}`); 286 `onChangezz id: ${this.pageId} , ${this.channelId} , ${this.navIndex} , navIndex: ${this.currentTopNavSelectedIndex}`);
279 if (this.navIndex === this.currentTopNavSelectedIndex) { 287 if (this.navIndex === this.currentTopNavSelectedIndex) {
  288 + Logger.debug(TAG, 'page onAutoRefresh111 ' + this.needload)
280 if (this.needload) { 289 if (this.needload) {
281 this.getData(); 290 this.getData();
282 } 291 }
@@ -42,11 +42,12 @@ struct PeopleShipHomePage { @@ -42,11 +42,12 @@ struct PeopleShipHomePage {
42 @Provide @Watch('handleChangeAttentionStata') isLoadingAttention: boolean = false 42 @Provide @Watch('handleChangeAttentionStata') isLoadingAttention: boolean = false
43 //关注显示 43 //关注显示
44 @State attentionOpacity: boolean = false 44 @State attentionOpacity: boolean = false
45 - @Provide topHeight: number = 190 45 + @Provide topHeight: number = 195
46 @State isLoading: boolean = true 46 @State isLoading: boolean = true
47 @State topSafeHeight: number = AppStorage.get<number>('topSafeHeight') || 0 47 @State topSafeHeight: number = AppStorage.get<number>('topSafeHeight') || 0
48 @State isConnectNetwork : boolean = NetworkUtil.isNetConnected() 48 @State isConnectNetwork : boolean = NetworkUtil.isNetConnected()
49 @State isHasHomePage: boolean = true 49 @State isHasHomePage: boolean = true
  50 + firstPositionY:number = 0;
50 51
51 onPageShow(): void { 52 onPageShow(): void {
52 WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#ffffff'}) 53 WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#ffffff'})
@@ -64,117 +65,141 @@ struct PeopleShipHomePage { @@ -64,117 +65,141 @@ struct PeopleShipHomePage {
64 } 65 }
65 } 66 }
66 67
67 - build() {  
68 - if(this.isConnectNetwork){  
69 - if (this.isHasHomePage){  
70 - Stack({ alignContent: Alignment.TopStart }) {  
71 - Stack({ alignContent: Alignment.Top }){  
72 - // 顶部图片  
73 - Image($r('app.media.home_page_bg'))  
74 - .width('100%')  
75 - .height('120vp')  
76 - .objectFit(ImageFit.Fill)  
77 - .objectRepeat(ImageRepeat.NoRepeat)  
78 - .backgroundColor(Color.White)  
79 - .visibility(this.isLoading ? Visibility.None : Visibility.Visible)  
80 68
81 - Row()  
82 - .height(px2vp(this.topSafeHeight))  
83 - .width("100%")  
84 - .backgroundColor($r('app.color.white'))  
85 - .visibility(this.topOpacity > 0 ? Visibility.Visible : Visibility.None)  
86 - .opacity(this.topOpacity )  
87 - } 69 + build() {
  70 + Column(){
  71 + if(this.isConnectNetwork){
  72 + if (this.isHasHomePage){
  73 + Stack({ alignContent: Alignment.Top }) {
  74 + Stack({ alignContent: Alignment.Top }){
  75 + // 顶部图片
  76 + Image($r('app.media.home_page_bg'))
  77 + .width('100%')
  78 + ///1-this.topOpacity 联动上滑
  79 + .height(this.topOpacity>1?0:120*(1-this.topOpacity))
  80 + .objectFit(ImageFit.Cover)
  81 + }
88 82
89 - Column(){  
90 - // 头部返回  
91 - PeopleShipHomePageNavComponent({  
92 - attentionOpacity: this.attentionOpacity,  
93 - topOpacity: this.topOpacity,  
94 - detailModel: this.detailModel  
95 - })  
96 - .height($r('app.float.top_bar_height'))  
97 - .backgroundColor(Color.Transparent)  
98 - if (this.detailModel && this.detailModel.userName) {  
99 - Scroll(this.scroller) {  
100 - Column() {  
101 - // 顶部相关  
102 - PeopleShipHomePageTopComponent({  
103 - creatorId: this.creatorId,  
104 - detailModel: this.detailModel,  
105 - publishCount: this.publishCount,  
106 - topHeight: this.topHeight  
107 - })  
108 - .width("100%")  
109 - // .height(this.topHeight)  
110 - // 列表  
111 - Column(){ 83 + Stack({ alignContent: Alignment.Top }){
  84 + Row()
  85 + .height(px2vp(this.topSafeHeight))
  86 + .width("100%")
  87 + .backgroundColor($r('app.color.white'))
  88 + .visibility(this.topOpacity > 0 ? Visibility.Visible : Visibility.None)
  89 + .opacity(this.topOpacity )
  90 + }
  91 + Column(){
  92 + Stack({ alignContent: Alignment.Top }){
  93 + this.peopleHomeTitleTransparent()
  94 + // 头部返回
  95 + PeopleShipHomePageNavComponent({
  96 + attentionOpacity: this.attentionOpacity,
  97 + topOpacity: this.topOpacity,
  98 + detailModel: this.detailModel
  99 + })
  100 + }
  101 + if (this.detailModel && this.detailModel.userName) {
  102 + Scroll(this.scroller) {
  103 + Column() {
  104 + // 顶部相关
  105 + PeopleShipHomePageTopComponent({
  106 + creatorId: this.creatorId,
  107 + detailModel: this.detailModel,
  108 + publishCount: this.publishCount,
  109 + topHeight: this.topHeight
  110 + })
  111 + .width("100%")
  112 + .height(this.topHeight)
  113 + // 列表
112 PeopleShipHomeListComponent({ 114 PeopleShipHomeListComponent({
113 publishCount: this.publishCount, 115 publishCount: this.publishCount,
114 creatorId: this.creatorId 116 creatorId: this.creatorId
115 }) 117 })
116 - }.height('100%')  
117 -  
118 -  
119 - }  
120 - .width("100%")  
121 - .justifyContent(FlexAlign.Start)  
122 - .alignItems(HorizontalAlign.Start)  
123 - // .height('100%')  
124 - // .height(this.publishCount == 0 ? '100%' : '')  
125 - }  
126 - .scrollable(ScrollDirection.Vertical)  
127 - // .alignSelf(ItemAlign.Start)  
128 - // .align(Alignment.Start)  
129 - .edgeEffect(EdgeEffect.None)  
130 - .friction(0.7)  
131 - .backgroundColor(Color.White)  
132 - .scrollBar(BarState.Off)  
133 - .width('100%')  
134 - .height('calc(100% - 44vp)')  
135 - // .layoutWeight(1)  
136 - .onDidScroll(() => {  
137 - // this.topOpacity = yOffset / (this.getDeviceHeight() * 0.2)  
138 - this.topOpacity = this.scroller.currentOffset().yOffset / 100  
139 - if (this.scroller.currentOffset().yOffset >= this.topHeight - 66) {  
140 - this.attentionOpacity = true  
141 - } else {  
142 - this.attentionOpacity = false 118 + // Column(){
  119 + //
  120 + //
  121 + // }.height('100%')
  122 + }
  123 + .width("100%")
  124 + .justifyContent(FlexAlign.Start)
  125 + .alignItems(HorizontalAlign.Start)
143 } 126 }
144 - Logger.debug('PeopleShipHomePage',`透明度:${this.topOpacity}`) 127 + .edgeEffect(EdgeEffect.None)
  128 + .scrollBar(BarState.Off)
  129 + .width('100%')
  130 + .layoutWeight(1)
  131 + // .scrollable(ScrollDirection.Vertical)
  132 + // .edgeEffect(EdgeEffect.None)
  133 + // .friction(0.7)
  134 + // .backgroundColor(Color.White)
  135 + // .scrollBar(BarState.Off)
  136 + // .width('100%')
  137 + // .height('calc(100% - 44vp)')
  138 + .onDidScroll(() => {
  139 + this.topOpacity = this.scroller.currentOffset().yOffset / 120
  140 + if (this.scroller.currentOffset().yOffset >= this.topHeight - 66) {
  141 + this.attentionOpacity = true
  142 + } else {
  143 + this.attentionOpacity = false
  144 + }
  145 + Logger.debug('PeopleShipHomePage',`透明度:${this.topOpacity}`)
145 146
146 - }) 147 + })
  148 + }
147 } 149 }
  150 + .margin({top:px2vp(this.topSafeHeight)})
148 } 151 }
149 - .alignItems(HorizontalAlign.Start)  
150 - .justifyContent(FlexAlign.Start)  
151 .width('100%') 152 .width('100%')
152 - .margin({top:px2vp(this.topSafeHeight)}) 153 + }else {
  154 + Column(){
  155 + CustomTitleUI({ titleName: "" })
  156 + EmptyComponent({emptyType:WDViewDefaultType.WDViewDefaultType_NoUserHomepage}).height('70%')
  157 + }.width("100%")
  158 + .height("100%")
  159 + .padding({top:px2vp(this.topSafeHeight)})
153 } 160 }
154 - .width('100%')  
155 - }else { 161 + }else{
156 Column(){ 162 Column(){
157 CustomTitleUI({ titleName: "" }) 163 CustomTitleUI({ titleName: "" })
158 - EmptyComponent({emptyType:WDViewDefaultType.WDViewDefaultType_NoUserHomepage}).height('70%') 164 + EmptyComponent({ emptyType: 1,emptyHeight:"100%" ,retry: () => {
  165 + this.isConnectNetwork = NetworkUtil.isNetConnected()
  166 + if(this.isConnectNetwork){
  167 + this.detailModel = {} as PeopleShipUserDetailData
  168 + this.getData()
  169 + }
  170 + }})
  171 + .height('calc(100% - 84lpx)')
  172 + .width('100%')
159 }.width("100%") 173 }.width("100%")
160 .height("100%") 174 .height("100%")
161 - .padding({top:px2vp(this.topSafeHeight)})  
162 } 175 }
163 - }else{  
164 - Column(){  
165 - CustomTitleUI({ titleName: "" })  
166 - EmptyComponent({ emptyType: 1,emptyHeight:"100%" ,retry: () => {  
167 - this.isConnectNetwork = NetworkUtil.isNetConnected()  
168 - if(this.isConnectNetwork){  
169 - this.detailModel = {} as PeopleShipUserDetailData  
170 - this.getData()  
171 - }  
172 - }})  
173 - .height('calc(100% - 84lpx)')  
174 - .width('100%')  
175 - }.width("100%")  
176 - .height("100%") 176 + }.width("100%")
  177 + .height("100%")
  178 + .backgroundColor(Color.White)
  179 +
  180 + }
  181 +
  182 + @Builder peopleHomeTitleTransparent() {
  183 + RelativeContainer() {
  184 + //标题栏目
  185 + Image($r('app.media.icon_arrow_left_white') )
  186 + .width(24)
  187 + .height(24)
  188 + .objectFit(ImageFit.Auto)
  189 + .id("back_icon")
  190 + .alignRules({
  191 + center: { anchor: "__container__", align: VerticalAlign.Center },
  192 + left: { anchor: "__container__", align: HorizontalAlign.Start }
  193 + })
  194 + .margin({ left: 18 })
  195 + .onClick(() => {
  196 + router.back()
  197 + })
177 } 198 }
  199 + .visibility(this.topOpacity > 0 ? 1 : 0)
  200 + .height(44)
  201 + .width('100%')
  202 + .backgroundColor($r('app.color.color_transparent'))
178 } 203 }
179 204
180 aboutToAppear() { 205 aboutToAppear() {
@@ -256,3 +281,5 @@ struct PeopleShipHomePage { @@ -256,3 +281,5 @@ struct PeopleShipHomePage {
256 } 281 }
257 } 282 }
258 283
  284 +
  285 +
1 import { PeopleShipRecommendHeadComponent } from './PeopleShipRecommendHeadComponent' 1 import { PeopleShipRecommendHeadComponent } from './PeopleShipRecommendHeadComponent'
2 import { RmhRecommendDTO } from 'wdBean'; 2 import { RmhRecommendDTO } from 'wdBean';
  3 +import { ProcessUtils } from 'wdRouter';
3 4
4 @Component 5 @Component
5 export struct PeopleShipRecommendComponent { 6 export struct PeopleShipRecommendComponent {
@@ -63,10 +64,13 @@ export struct PeopleShipRecommendComponent { @@ -63,10 +64,13 @@ export struct PeopleShipRecommendComponent {
63 ForEach(this.rmhList, (item: RmhRecommendDTO) => { 64 ForEach(this.rmhList, (item: RmhRecommendDTO) => {
64 GridItem() { 65 GridItem() {
65 PeopleShipRecommendHeadComponent({ 66 PeopleShipRecommendHeadComponent({
66 - rmhInfo: item 67 + rmhInfo: item,
  68 + clickCallback:()=>{
  69 + this.clickRecommendHeadSelected(item)
  70 + }
67 }) 71 })
68 .onClick(() => { 72 .onClick(() => {
69 - this.clickRecommendHeadSelected(item) 73 + ProcessUtils.gotoPeopleShipHomePage(item.creatorId,1,1,item.userId,item.userType)
70 }) 74 })
71 } 75 }
72 }, (item: RmhRecommendDTO) => item.creatorId) 76 }, (item: RmhRecommendDTO) => item.creatorId)
@@ -6,7 +6,8 @@ export struct PeopleShipRecommendHeadComponent { @@ -6,7 +6,8 @@ export struct PeopleShipRecommendHeadComponent {
6 @State isSelected: boolean = true 6 @State isSelected: boolean = true
7 @Consume rmhSelectedList: string[] 7 @Consume rmhSelectedList: string[]
8 @State rmhInfo: RmhRecommendDTO = {} as RmhRecommendDTO 8 @State rmhInfo: RmhRecommendDTO = {} as RmhRecommendDTO
9 - 9 + clickCallback: () => void = () => {
  10 + }
10 build() { 11 build() {
11 Column(){ 12 Column(){
12 Stack({ alignContent: Alignment.BottomEnd }) { 13 Stack({ alignContent: Alignment.BottomEnd }) {
@@ -27,7 +28,9 @@ export struct PeopleShipRecommendHeadComponent { @@ -27,7 +28,9 @@ export struct PeopleShipRecommendHeadComponent {
27 .objectFit(ImageFit.Cover) 28 .objectFit(ImageFit.Cover)
28 .margin({ 29 .margin({
29 right: '-3vp' 30 right: '-3vp'
30 - }) 31 + }).onClick(()=>{
  32 + this.clickCallback()
  33 + })
31 }.margin({ top: 4, bottom: 8 }) 34 }.margin({ top: 4, bottom: 8 })
32 35
33 Row() { 36 Row() {
@@ -23,6 +23,7 @@ import { ErrorComponent } from '../view/ErrorComponent' @@ -23,6 +23,7 @@ import { ErrorComponent } from '../view/ErrorComponent'
23 import { CustomPullToRefresh } from '../reusable/CustomPullToRefresh' 23 import { CustomPullToRefresh } from '../reusable/CustomPullToRefresh'
24 import { PeopleShipNoMoreData } from '../reusable/PeopleShipNoMoreData' 24 import { PeopleShipNoMoreData } from '../reusable/PeopleShipNoMoreData'
25 import LoadMoreLayout from '../page/LoadMoreLayout' 25 import LoadMoreLayout from '../page/LoadMoreLayout'
  26 +import { EmptyComponent, WDViewDefaultType } from '../view/EmptyComponent'
26 27
27 const TAG = 'PeopleShipHomeArticleListComponent'; 28 const TAG = 'PeopleShipHomeArticleListComponent';
28 29
@@ -49,7 +50,12 @@ export struct PeopleShipHomeArticleListComponent { @@ -49,7 +50,12 @@ export struct PeopleShipHomeArticleListComponent {
49 this.LoadingLayout() 50 this.LoadingLayout()
50 } else if (this.viewType == 2) { 51 } else if (this.viewType == 2) {
51 ErrorComponent() 52 ErrorComponent()
52 - } else { 53 + }else if(this.viewType == 4){
  54 + Column(){
  55 + EmptyComponent({emptyType:WDViewDefaultType.WDViewDefaultType_NoCreation}).height('40%')
  56 + }.width('100%')
  57 + .height('100%')
  58 + } else {
53 CustomPullToRefresh({ 59 CustomPullToRefresh({
54 alldata:this.arr, 60 alldata:this.arr,
55 scroller:this.scroller, 61 scroller:this.scroller,
@@ -182,6 +188,11 @@ export struct PeopleShipHomeArticleListComponent { @@ -182,6 +188,11 @@ export struct PeopleShipHomeArticleListComponent {
182 } 188 }
183 this.isLoading = false 189 this.isLoading = false
184 this.queryArticleContentInteractCount(listData) 190 this.queryArticleContentInteractCount(listData)
  191 +
  192 + ///展示缺省图
  193 + if (listData.totalCount === 0) {
  194 + this.viewType = 4
  195 + }
185 Logger.debug(TAG, '展示的总数'+`${this.arr.length}`) 196 Logger.debug(TAG, '展示的总数'+`${this.arr.length}`)
186 }catch (exception) { 197 }catch (exception) {
187 if (resolve) { 198 if (resolve) {
@@ -263,7 +274,7 @@ export struct PeopleShipHomeArticleListComponent { @@ -263,7 +274,7 @@ export struct PeopleShipHomeArticleListComponent {
263 // } 274 // }
264 // contentDTO.customSchedulePublishTime = element.contentPublishTasks.firstObject.schedulePublishTime; 275 // contentDTO.customSchedulePublishTime = element.contentPublishTasks.firstObject.schedulePublishTime;
265 contentDTO.fullColumnImgUrls = this.fullColumnImgUrls(element); 276 contentDTO.fullColumnImgUrls = this.fullColumnImgUrls(element);
266 - 277 + contentDTO.updateTime = element.updateTime
267 let rmhInfo = this.convertToRmhInfoWithAccountModel() 278 let rmhInfo = this.convertToRmhInfoWithAccountModel()
268 if (rmhInfo) { 279 if (rmhInfo) {
269 contentDTO.rmhInfo = rmhInfo; 280 contentDTO.rmhInfo = rmhInfo;
@@ -285,17 +296,16 @@ export struct PeopleShipHomeArticleListComponent { @@ -285,17 +296,16 @@ export struct PeopleShipHomeArticleListComponent {
285 } 296 }
286 // contentDTO.shareInfo = [self.contentShare.firstObject convertToShareInfo]; 297 // contentDTO.shareInfo = [self.contentShare.firstObject convertToShareInfo];
287 // contentDTO.shareInfo.shareUrl = self.shareUrl; 298 // contentDTO.shareInfo.shareUrl = self.shareUrl;
288 - if (element.createTime.length > 0) {  
289 - contentDTO.publishTime = this.convertPublishTimeWith(element.createTime);  
290 - } else if (element.updateTime.length > 0) { 299 + if (element.updateTime.length > 0) {
291 contentDTO.publishTime = this.convertPublishTimeWith(element.updateTime); 300 contentDTO.publishTime = this.convertPublishTimeWith(element.updateTime);
  301 + }else if (element.publishTime.length > 0) {
  302 + contentDTO.publishTime = this.convertPublishTimeWith(element.publishTime);
292 } else if (element.firstPublishTime.length > 0) { 303 } else if (element.firstPublishTime.length > 0) {
293 contentDTO.publishTime = this.convertPublishTimeWith(element.firstPublishTime); 304 contentDTO.publishTime = this.convertPublishTimeWith(element.firstPublishTime);
294 - } else if (element.publishTime.length > 0) {  
295 - contentDTO.publishTime = this.convertPublishTimeWith(element.publishTime); 305 + } else if (element.createTime.length > 0) {
  306 + contentDTO.publishTime = this.convertPublishTimeWith(element.createTime);
296 } 307 }
297 308
298 -  
299 //图集数量 309 //图集数量
300 if (element.mainPicCount) { 310 if (element.mainPicCount) {
301 contentDTO.photoNum = element.mainPicCount; 311 contentDTO.photoNum = element.mainPicCount;
@@ -124,10 +124,9 @@ export struct PeopleShipHomeListComponent { @@ -124,10 +124,9 @@ export struct PeopleShipHomeListComponent {
124 .fontWeight(this.currentIndex === index ? 500 : 400) 124 .fontWeight(this.currentIndex === index ? 500 : 400)
125 .lineHeight(22) 125 .lineHeight(22)
126 .height(22) 126 .height(22)
127 - Divider()  
128 - .width('15vp')  
129 - .strokeWidth(2)  
130 - .color('#CB0000') 127 + Image($r('app.media.icon_channel_active'))//.colorFilter(ColorUtils.getDrawingColorFilter(this.getBothColor("")))
  128 + .width(16)
  129 + .height(2)
131 .opacity(this.currentIndex === index ? 1 : 0) 130 .opacity(this.currentIndex === index ? 1 : 0)
132 } 131 }
133 .justifyContent(FlexAlign.Center) 132 .justifyContent(FlexAlign.Center)
@@ -15,129 +15,162 @@ export struct PeopleShipHomePageNavComponent { @@ -15,129 +15,162 @@ export struct PeopleShipHomePageNavComponent {
15 @Prop detailModel: PeopleShipUserDetailData = {} as PeopleShipUserDetailData 15 @Prop detailModel: PeopleShipUserDetailData = {} as PeopleShipUserDetailData
16 16
17 build() { 17 build() {
18 - Row() {  
19 - Stack({ alignContent: Alignment.TopStart }) {  
20 - Row()  
21 - .width('100%')  
22 - .height('100%')  
23 - .backgroundColor($r('app.color.white'))  
24 - .opacity(this.topOpacity)  
25 - Row() { 18 + RelativeContainer() {
  19 + Row() {
  20 + // 返回
  21 + Image((this.topOpacity > 0.5 ? $r('app.media.icon_arrow_left') : $r('app.media.icon_arrow_left_white')))
  22 + .width('24vp')
  23 + .height('24vp')
  24 + .objectFit(ImageFit.Auto)
  25 + .id("back_icon")
  26 + .alignRules({
  27 + center: { anchor: "__container__", align: VerticalAlign.Center },
  28 + left: { anchor: "__container__", align: HorizontalAlign.Start }
  29 + })
  30 + .margin({ left: 18 })
  31 + .onClick(() => {
  32 + router.back()
  33 + })
  34 + // 头像
  35 + PeopleShipHomePageHeadComponent({
  36 + diameter: 30,
  37 + iconDiameter: 10,
  38 + headPhotoUrl: (this.detailModel.headPhotoUrl && this.detailModel.headPhotoUrl.length > 0 ) ? this.detailModel.headPhotoUrl : $r('app.media.WDAccountOwnerHedaerDefaultIcon'),
  39 + authIcon: this.detailModel.authIcon
  40 + }).onClick(()=>{
  41 + let params = {
  42 + 'headPhotoUrl': this.detailModel.headPhotoUrl,
  43 + } as Record<string, string>;
  44 + WDRouterRule.jumpWithPage(WDRouterPage.showHomePageHeaderPage,params)
  45 + }).margin({
  46 + left: '10vp',
  47 + })
  48 + .id("Page_Head")
  49 + .alignRules({
  50 + center: { anchor: "__container__", align: VerticalAlign.Center },
  51 + left: { anchor: "back_icon", align: HorizontalAlign.End }
  52 + })
  53 + .visibility((this.topOpacity > 0.5 ? Visibility.Visible : Visibility.Hidden))
26 54
27 - Row() {  
28 - // 返回  
29 - Image((this.topOpacity > 0.5 ? $r('app.media.icon_arrow_left') : $r('app.media.icon_arrow_left_white')))  
30 - .width('24vp')  
31 - .height('24vp')  
32 - .objectFit(ImageFit.Auto)  
33 - .margin({ left: '10vp' })  
34 - .onClick(() => {  
35 - router.back()  
36 - })  
37 - // 头像  
38 - PeopleShipHomePageHeadComponent({  
39 - diameter: 30,  
40 - iconDiameter: 10,  
41 - headPhotoUrl: (this.detailModel.headPhotoUrl && this.detailModel.headPhotoUrl.length > 0 ) ? this.detailModel.headPhotoUrl : $r('app.media.WDAccountOwnerHedaerDefaultIcon'),  
42 - authIcon: this.detailModel.authIcon  
43 - }).onClick(()=>{  
44 - let params = {  
45 - 'headPhotoUrl': this.detailModel.headPhotoUrl,  
46 - } as Record<string, string>;  
47 - WDRouterRule.jumpWithPage(WDRouterPage.showHomePageHeaderPage,params)  
48 - }).margin({  
49 - left: '10vp',  
50 - })  
51 - .visibility((this.topOpacity > 0.5 ? Visibility.Visible : Visibility.Hidden)) 55 + // 文字
  56 + Text(this.detailModel.userName)
  57 + .height('46vp')
  58 + .fontSize($r('app.float.vp_14'))
  59 + .fontColor($r('app.color.color_222222'))
  60 + .margin({
  61 + left: '6vp'
  62 + })
  63 + .id("user_Head")
  64 + .alignRules({
  65 + center: { anchor: "__container__", align: VerticalAlign.Center },
  66 + left: { anchor: "Page_Head", align: HorizontalAlign.End }
  67 + })
  68 + .visibility((this.topOpacity > 0.5 ? Visibility.Visible : Visibility.Hidden))
52 69
53 - // 文字  
54 - Text(this.detailModel.userName)  
55 - .height('46vp')  
56 - .fontSize($r('app.float.vp_14'))  
57 - .fontColor($r('app.color.color_222222'))  
58 - .margin({  
59 - left: '6vp'  
60 - })  
61 - .visibility((this.topOpacity > 0.5 ? Visibility.Visible : Visibility.Hidden))  
62 -  
63 - if (this.isAttention == '0') {  
64 - // 关注  
65 - Button({ type: ButtonType.Normal, stateEffect: true }) {  
66 - Row(){  
67 - Image($r('app.media.people_ship_top_add'))  
68 - .objectFit(ImageFit.Auto)  
69 - .width('13vp')  
70 - .height('13pv')  
71 - .margin({  
72 - right: '3vp'  
73 - })  
74 - Text('关注')  
75 - .fontSize($r('app.float.vp_12'))  
76 - .fontColor(Color.White)  
77 - .height('100%')  
78 - }  
79 - .alignSelf(ItemAlign.Center)  
80 - .justifyContent(FlexAlign.Center)  
81 - .width('100%')  
82 - .height('100%')  
83 - }  
84 -  
85 - .borderRadius(4)  
86 - .backgroundColor($r('app.color.color_ED2800'))  
87 - .width('54vp')  
88 - .height('24vp')  
89 - .onClick(() => {  
90 - if (this.isLoadingAttention){  
91 - return  
92 - }  
93 - this.isLoadingAttention = true  
94 - }) 70 + if (this.isAttention == '0') {
  71 + // 关注
  72 + Button({ type: ButtonType.Normal, stateEffect: true }) {
  73 + Row(){
  74 + Image($r('app.media.people_ship_top_add'))
  75 + .objectFit(ImageFit.Auto)
  76 + .width('13vp')
  77 + .height('13pv')
95 .margin({ 78 .margin({
96 - left: '12vp',  
97 - })  
98 - .padding(0)  
99 - .visibility((this.attentionOpacity ? Visibility.Visible : Visibility.Hidden))  
100 - } else {  
101 - Button('已关注', { type: ButtonType.Normal, stateEffect: true })  
102 - .borderRadius(4)  
103 - .backgroundColor($r('app.color.color_F5F5F5'))  
104 - .width('54vp')  
105 - .height('24vp')  
106 - .onClick(() => {  
107 - if (this.isLoadingAttention){  
108 - return  
109 - }  
110 - this.isLoadingAttention = true 79 + right: '3vp'
111 }) 80 })
112 - .margin({  
113 - left: '12vp',  
114 - })  
115 - .padding(0) 81 + Text('关注')
116 .fontSize($r('app.float.vp_12')) 82 .fontSize($r('app.float.vp_12'))
117 - .fontColor($r('app.color.color_999999'))  
118 - .visibility((this.attentionOpacity ? Visibility.Visible : Visibility.Hidden)) 83 + .fontColor(Color.White)
  84 + .height('100%')
119 } 85 }
  86 + .alignSelf(ItemAlign.Center)
  87 + .justifyContent(FlexAlign.Center)
  88 + .width('100%')
  89 + .height('100%')
120 } 90 }
121 - .height('100%')  
122 - Blank()  
123 - // 分享 分享暂不展示  
124 - // Image((this.topOpacity > 0.5 ? $r('app.media.icon_forward') : $r('app.media.icon_share')))  
125 - // .width('24vp')  
126 - // .height('24vp')  
127 - // .objectFit(ImageFit.Auto)  
128 - // .margin({ right: '10vp' })  
129 - // .onClick(() => {  
130 - // ToastUtils.showToast('分享为公共方法,待开发', 1000);  
131 - // }) 91 +
  92 + .id("Button_Head")
  93 + .alignRules({
  94 + center: { anchor: "__container__", align: VerticalAlign.Center },
  95 + left: { anchor: "user_Head", align: HorizontalAlign.End }
  96 + })
  97 + .borderRadius(4)
  98 + .backgroundColor($r('app.color.color_ED2800'))
  99 + .width('54vp')
  100 + .height('24vp')
  101 + .onClick(() => {
  102 + if (this.isLoadingAttention){
  103 + return
  104 + }
  105 + this.isLoadingAttention = true
  106 + })
  107 + .margin({
  108 + left: '12vp',
  109 + })
  110 + .padding(0)
  111 + .visibility((this.attentionOpacity ? Visibility.Visible : Visibility.Hidden))
  112 + } else {
  113 + Button('已关注', { type: ButtonType.Normal, stateEffect: true })
  114 + .borderRadius(4)
  115 + .backgroundColor($r('app.color.color_F5F5F5'))
  116 + .width('54vp')
  117 + .height('24vp')
  118 + .onClick(() => {
  119 + if (this.isLoadingAttention){
  120 + return
  121 + }
  122 + this.isLoadingAttention = true
  123 + })
  124 + .margin({
  125 + left: '12vp',
  126 + })
  127 + .id("Button_Head")
  128 + .alignRules({
  129 + center: { anchor: "__container__", align: VerticalAlign.Center },
  130 + left: { anchor: "user_Head", align: HorizontalAlign.End }
  131 + })
  132 + .padding(0)
  133 + .fontSize($r('app.float.vp_12'))
  134 + .fontColor($r('app.color.color_999999'))
  135 + .visibility((this.attentionOpacity ? Visibility.Visible : Visibility.Hidden))
132 } 136 }
133 - .width('100%')  
134 - .height('100%')  
135 - .alignItems(VerticalAlign.Center)  
136 - .justifyContent(FlexAlign.SpaceBetween)  
137 } 137 }
138 - .zIndex(1000)  
139 - .width('100%')  
140 .height('100%') 138 .height('100%')
141 } 139 }
  140 + .height(44)
  141 + .width('100%')
  142 + .backgroundColor($r('app.color.white'))
  143 + .visibility(this.topOpacity > 0 ? 0 : 1)
  144 + .opacity(this.topOpacity )
  145 +
  146 + // Row() {
  147 + // Stack({ alignContent: Alignment.TopStart }) {
  148 + // Row()
  149 + // .width('100%')
  150 + // .height('100%')
  151 + // .backgroundColor($r('app.color.white'))
  152 + // .opacity(this.topOpacity)
  153 + // Row() {
  154 + //
  155 + // Blank()
  156 + // // 分享 分享暂不展示
  157 + // // Image((this.topOpacity > 0.5 ? $r('app.media.icon_forward') : $r('app.media.icon_share')))
  158 + // // .width('24vp')
  159 + // // .height('24vp')
  160 + // // .objectFit(ImageFit.Auto)
  161 + // // .margin({ right: '10vp' })
  162 + // // .onClick(() => {
  163 + // // ToastUtils.showToast('分享为公共方法,待开发', 1000);
  164 + // // })
  165 + // }
  166 + // .width('100%')
  167 + // .height('100%')
  168 + // .alignItems(VerticalAlign.Center)
  169 + // .justifyContent(FlexAlign.SpaceBetween)
  170 + // }
  171 + // .zIndex(1000)
  172 + // .width('100%')
  173 + // .height('100%')
  174 + // }
142 } 175 }
143 } 176 }
@@ -5,7 +5,7 @@ export struct PeopleShipHomePageAttestationComponent { @@ -5,7 +5,7 @@ export struct PeopleShipHomePageAttestationComponent {
5 build() { 5 build() {
6 Row() { 6 Row() {
7 Text(this.name) 7 Text(this.name)
8 - .lineHeight('18vp') 8 + .lineHeight('15vp')
9 .fontColor($r('app.color.color_ED2800')) 9 .fontColor($r('app.color.color_ED2800'))
10 .fontSize($r('app.float.vp_11')) 10 .fontSize($r('app.float.vp_11'))
11 .backgroundColor($r('app.color.color_1AED2800')) 11 .backgroundColor($r('app.color.color_1AED2800'))
@@ -23,7 +23,7 @@ export struct PeopleShipHomePageAttestationComponent { @@ -23,7 +23,7 @@ export struct PeopleShipHomePageAttestationComponent {
23 }) 23 })
24 24
25 Text(this.content) 25 Text(this.content)
26 - .lineHeight('18vp') 26 + .lineHeight('15vp')
27 .fontSize($r('app.float.vp_12')) 27 .fontSize($r('app.float.vp_12'))
28 .layoutWeight(1) 28 .layoutWeight(1)
29 .fontColor($r('app.color.color_222222')) 29 .fontColor($r('app.color.color_222222'))
@@ -16,8 +16,8 @@ export struct PeopleShipHomePageHeadComponent { @@ -16,8 +16,8 @@ export struct PeopleShipHomePageHeadComponent {
16 .borderRadius(this.diameter/2) 16 .borderRadius(this.diameter/2)
17 // .borderWidth('0.5vp') 17 // .borderWidth('0.5vp')
18 .border({ 18 .border({
19 - width: 2,  
20 - color: Color.White, // 5% 透明度的黑色 19 + width: 1,
  20 + color: $r('app.color.color_0D000000'), // 5% 透明度的黑色
21 style: BorderStyle.Solid 21 style: BorderStyle.Solid
22 }) 22 })
23 // .borderStyle(BorderStyle.Solid) 23 // .borderStyle(BorderStyle.Solid)
@@ -32,8 +32,8 @@ export struct PeopleShipHomePageHeadComponent { @@ -32,8 +32,8 @@ export struct PeopleShipHomePageHeadComponent {
32 .borderRadius(this.iconDiameter/2) 32 .borderRadius(this.iconDiameter/2)
33 .objectFit(ImageFit.Cover) 33 .objectFit(ImageFit.Cover)
34 .margin({ 34 .margin({
35 - right: '5vp',  
36 - bottom:'5vp' 35 + right: '0vp',
  36 + bottom:'0vp'
37 }) 37 })
38 } 38 }
39 } 39 }
@@ -28,7 +28,7 @@ export struct PeopleShipHomePageTopComponent { @@ -28,7 +28,7 @@ export struct PeopleShipHomePageTopComponent {
28 @State collapseTxt: string = '…展开'; 28 @State collapseTxt: string = '…展开';
29 private subTxt: string = ''; 29 private subTxt: string = '';
30 @State content: string = '' 30 @State content: string = ''
31 - @State topFixedHeight: number = 190 31 + @State topFixedHeight: number = 195
32 @State lineInNum: number = 1 32 @State lineInNum: number = 1
33 @Link topHeight: number 33 @Link topHeight: number
34 @State provinceName: string = '' 34 @State provinceName: string = ''
@@ -36,14 +36,6 @@ export struct PeopleShipHomePageTopComponent { @@ -36,14 +36,6 @@ export struct PeopleShipHomePageTopComponent {
36 build() { 36 build() {
37 Column() { 37 Column() {
38 Stack({ alignContent: Alignment.TopStart }) { 38 Stack({ alignContent: Alignment.TopStart }) {
39 - // 顶部图片  
40 - Image($r('app.media.home_page_bg'))  
41 - .width('100%')  
42 - .height('48vp')  
43 - .objectFit(ImageFit.Auto)  
44 - .objectRepeat(ImageRepeat.NoRepeat)  
45 - .objectFit(ImageFit.Auto)  
46 - .backgroundColor(Color.White)  
47 // 头像和名称 39 // 头像和名称
48 Row() { 40 Row() {
49 // 头像 41 // 头像
@@ -62,7 +54,6 @@ export struct PeopleShipHomePageTopComponent { @@ -62,7 +54,6 @@ export struct PeopleShipHomePageTopComponent {
62 WDRouterRule.jumpWithPage(WDRouterPage.showHomePageHeaderPage, params) 54 WDRouterRule.jumpWithPage(WDRouterPage.showHomePageHeaderPage, params)
63 }) 55 })
64 56
65 -  
66 // 文字 57 // 文字
67 Text(this.detailModel.userName) 58 Text(this.detailModel.userName)
68 .height('50vp') 59 .height('50vp')
@@ -75,7 +66,7 @@ export struct PeopleShipHomePageTopComponent { @@ -75,7 +66,7 @@ export struct PeopleShipHomePageTopComponent {
75 .layoutWeight(1) 66 .layoutWeight(1)
76 .margin({ 67 .margin({
77 left: '12vp', 68 left: '12vp',
78 - bottom: '10vp', 69 + bottom: '20vp',
79 right: '12vp' 70 right: '12vp'
80 }) 71 })
81 } 72 }
@@ -262,9 +253,14 @@ export struct PeopleShipHomePageTopComponent { @@ -262,9 +253,14 @@ export struct PeopleShipHomePageTopComponent {
262 .backgroundColor($r('app.color.color_F5F5F5')) 253 .backgroundColor($r('app.color.color_F5F5F5'))
263 .width('100%') 254 .width('100%')
264 .height('6vp') 255 .height('6vp')
  256 + ///计算顶部视图高度
  257 + .onAreaChange((oldArea: Area, newArea: Area) => {
  258 + this.topHeight = Number(newArea.position.y)+6
  259 + this.topFixedHeight = Number(newArea.position.y)+6
  260 + })
265 } 261 }
266 .width('100%') 262 .width('100%')
267 - .backgroundColor(Color.White) 263 + .backgroundColor($r('app.color.color_transparent'))
268 264
269 } 265 }
270 266
@@ -322,49 +318,51 @@ export struct PeopleShipHomePageTopComponent { @@ -322,49 +318,51 @@ export struct PeopleShipHomePageTopComponent {
322 this.content = this.subTxt 318 this.content = this.subTxt
323 } 319 }
324 } 320 }
325 - if (this.detailModel) {  
326 - this.topFixedHeight = 190  
327 - if (this.detailModel.region && this.detailModel.region.length > 0) {  
328 - this.provinceName = this.detailModel.region  
329 - } else {  
330 - this.provinceName = await this.computeIPRegion(this.detailModel.province)  
331 - }  
332 - if (this.detailModel.authId == 1 && this.detailModel.categoryAuth.length > 0) {  
333 - this.topFixedHeight += this.getTextLineNum(this.detailModel.categoryAuth, DisplayUtils.getDeviceWidth() - 90, 22, $r('app.float.vp_12')) * 18  
334 - this.topFixedHeight += 12  
335 - }  
336 - else if (this.detailModel.authId == 2) {  
337 - if (this.detailModel.authTitle && this.detailModel.authTitle.length > 0) {  
338 - this.topFixedHeight += this.getTextLineNum(this.detailModel.authTitle, DisplayUtils.getDeviceWidth() - 90, 22, $r('app.float.vp_12')) * 18  
339 - if (this.detailModel.authPersonal && this.detailModel.authPersonal.length > 0){  
340 - this.topFixedHeight += 8  
341 - }else{  
342 - this.topFixedHeight += 12  
343 - }  
344 - }  
345 - if (this.detailModel.authPersonal && this.detailModel.authPersonal.length > 0) {  
346 - this.topFixedHeight += this.getTextLineNum(this.detailModel.authPersonal, DisplayUtils.getDeviceWidth() - 90, 22, $r('app.float.vp_12')) * 18  
347 - this.topFixedHeight += 12  
348 - }  
349 - }  
350 -  
351 - // IP归属地  
352 - if (this.provinceName && this.provinceName.length > 0) {  
353 - this.topFixedHeight += 28  
354 - this.topHeight = this.topFixedHeight  
355 - }  
356 -  
357 - // 简介  
358 - if (this.detailModel.introduction && this.detailModel.introduction.length > 0 ) {  
359 - this.lineInNum = this.getTextLineNum(`简介:${this.detailModel.introduction}`, DisplayUtils.getDeviceWidth() - 32, 21, $r('app.float.vp_14'))  
360 - if (this.lineInNum <= 3) {  
361 - this.topHeight = this.topFixedHeight + (21 * this.lineInNum)  
362 - } else {  
363 - this.lineInNum = this.getTextLineNum(`简介:${this.detailModel.introduction}` + '收起', DisplayUtils.getDeviceWidth() - 32, 21, $r('app.float.vp_14'))  
364 - this.topHeight = this.topFixedHeight + (this.isCollapse ? 21 * 3 : 21 * this.lineInNum)  
365 - }  
366 - }  
367 - } 321 + // if (this.detailModel) {
  322 + // this.topFixedHeight = 160
  323 + // if (this.detailModel.region && this.detailModel.region.length > 0) {
  324 + // this.provinceName = this.detailModel.region
  325 + // } else {
  326 + // this.provinceName = await this.computeIPRegion(this.detailModel.province)
  327 + // }
  328 + // if (this.detailModel.authId == 1 && this.detailModel.categoryAuth.length > 0) {
  329 + // this.topFixedHeight += this.getTextLineNum(this.detailModel.categoryAuth, DisplayUtils.getDeviceWidth() - 90, 22, $r('app.float.vp_12')) * 18
  330 + // this.topFixedHeight += 12
  331 + // } else if (this.detailModel.authId == 2) {
  332 + // if (this.detailModel.authTitle && this.detailModel.authTitle.length > 0) {
  333 + // this.topFixedHeight += this.getTextLineNum(this.detailModel.authTitle, DisplayUtils.getDeviceWidth() - 90, 22, $r('app.float.vp_12')) * 18
  334 + // if (this.detailModel.authPersonal && this.detailModel.authPersonal.length > 0){
  335 + // this.topFixedHeight += 8
  336 + // }else{
  337 + // this.topFixedHeight += 12
  338 + // }
  339 + // }
  340 + // if (this.detailModel.authPersonal && this.detailModel.authPersonal.length > 0) {
  341 + // this.topFixedHeight += this.getTextLineNum(this.detailModel.authPersonal, DisplayUtils.getDeviceWidth() - 90, 22, $r('app.float.vp_12')) * 18
  342 + // this.topFixedHeight += 12
  343 + // }
  344 + // }else {
  345 + // this.topFixedHeight += 10
  346 + // }
  347 + //
  348 + // // IP归属地
  349 + // if (this.provinceName && this.provinceName.length > 0) {
  350 + // this.topFixedHeight += 30
  351 + // }
  352 + //
  353 + // // 简介
  354 + // if (this.detailModel.introduction && this.detailModel.introduction.length > 0 ) {
  355 + // this.lineInNum = this.getTextLineNum(`简介:${this.detailModel.introduction}`, DisplayUtils.getDeviceWidth() - 32, 21, $r('app.float.vp_14'))
  356 + // if (this.lineInNum <= 3) {
  357 + // this.topHeight = this.topFixedHeight + (21 * this.lineInNum)
  358 + // } else {
  359 + // this.lineInNum = this.getTextLineNum(`简介:${this.detailModel.introduction}` + '收起', DisplayUtils.getDeviceWidth() - 32, 21, $r('app.float.vp_14'))
  360 + // this.topHeight = this.topFixedHeight + (this.isCollapse ? 21 * 3 : 21 * this.lineInNum)
  361 + // }
  362 + // }
  363 + //
  364 + // this.topHeight = this.topFixedHeight
  365 + // }
368 } 366 }
369 367
370 private computeShowNum(count: number) { 368 private computeShowNum(count: number) {
@@ -114,6 +114,7 @@ export struct SearchComponent { @@ -114,6 +114,7 @@ export struct SearchComponent {
114 console.log(TAG, JSON.stringify(err)) 114 console.log(TAG, JSON.stringify(err))
115 }) 115 })
116 } 116 }
  117 + // console.log(TAG, 'this.relatedSearchContentsData', JSON.stringify(this.relatedSearchContentsData))
117 } 118 }
118 119
119 getSearchHint() { 120 getSearchHint() {
@@ -23,12 +23,15 @@ export struct SearchCreatorComponent{ @@ -23,12 +23,15 @@ export struct SearchCreatorComponent{
23 .alt($r('app.media.icon_default_head_mater')) 23 .alt($r('app.media.icon_default_head_mater'))
24 .height('92lpx') 24 .height('92lpx')
25 .margin({bottom:'15lpx'}) 25 .margin({bottom:'15lpx'})
  26 + .borderWidth(1)
  27 + .borderColor('#EDEDED')
26 .borderRadius(50) 28 .borderRadius(50)
27 Row(){ 29 Row(){
28 Image(this.item.authIcon) 30 Image(this.item.authIcon)
29 .width('32lpx') 31 .width('32lpx')
30 .height('32lpx') 32 .height('32lpx')
31 .objectFit(ImageFit.Cover) 33 .objectFit(ImageFit.Cover)
  34 + .margin({bottom:5})
32 }.width('92lpx') 35 }.width('92lpx')
33 .justifyContent(FlexAlign.End) 36 .justifyContent(FlexAlign.End)
34 }.width('92lpx') 37 }.width('92lpx')
1 import { SearchRelatedItem } from '../../viewmodel/SearchRelatedItem' 1 import { SearchRelatedItem } from '../../viewmodel/SearchRelatedItem'
  2 +import { SearchShowRed, titleInitRes, textItem } from '../../utils/searchShowRed';
2 3
3 const TAG = "SearchRelatedComponent" 4 const TAG = "SearchRelatedComponent"
4 5
@@ -12,6 +13,23 @@ export struct SearchRelatedComponent { @@ -12,6 +13,23 @@ export struct SearchRelatedComponent {
12 @Prop searchText: string 13 @Prop searchText: string
13 @Prop percent:number = 1 14 @Prop percent:number = 1
14 15
  16 + // 正则过滤检索词
  17 + createCaseInsensitiveRegex(str: string, pattern: string) {
  18 + let regex = new RegExp(pattern, 'gi');
  19 + return str.replace(regex, (match) => `<em>${match}</em>`);
  20 + }
  21 +
  22 + checkForPattern(str: string, pattern: string) {
  23 + let highlightedStr = this.createCaseInsensitiveRegex(str, pattern);
  24 + return highlightedStr;
  25 + }
  26 +
  27 + titleInit(str: string, pattern: string) {
  28 + const title = this.checkForPattern(str, pattern)
  29 + const titleInitRes:titleInitRes = SearchShowRed.titleInit(title)
  30 + return titleInitRes
  31 + }
  32 +
15 build() { 33 build() {
16 Column() { 34 Column() {
17 List() { 35 List() {
@@ -28,11 +46,29 @@ export struct SearchRelatedComponent { @@ -28,11 +46,29 @@ export struct SearchRelatedComponent {
28 46
29 Text(){ 47 Text(){
30 ForEach(item.data_arr,(item:string)=>{ 48 ForEach(item.data_arr,(item:string)=>{
31 - Span(item)  
32 - .fontColor(item===this.searchText?$r('app.color.color_ED2800'):$r('app.color.color_000000'))  
33 - .fontSize(`${this.calcHeight(31)}lpx`)  
34 - .fontWeight(400)  
35 - .lineHeight(`${this.calcHeight(50)}lpx`) 49 + if (this.titleInit(item, this.searchText).titleMarked) {
  50 + ForEach(this.titleInit(item, this.searchText).textArr, (textItem: textItem) => {
  51 + if (textItem.isRed) {
  52 + Span(textItem.content)
  53 + .fontColor($r('app.color.color_ED2800'))
  54 + .fontSize(`${this.calcHeight(31)}lpx`)
  55 + .fontWeight(400)
  56 + .lineHeight(`${this.calcHeight(50)}lpx`)
  57 + } else {
  58 + Span(textItem.content)
  59 + .fontColor($r('app.color.color_000000'))
  60 + .fontSize(`${this.calcHeight(31)}lpx`)
  61 + .fontWeight(400)
  62 + .lineHeight(`${this.calcHeight(50)}lpx`)
  63 + }
  64 + })
  65 + } else {
  66 + Span(item)
  67 + .fontColor($r('app.color.color_000000'))
  68 + .fontSize(`${this.calcHeight(31)}lpx`)
  69 + .fontWeight(400)
  70 + .lineHeight(`${this.calcHeight(50)}lpx`)
  71 + }
36 }) 72 })
37 } 73 }
38 .maxLines(1) 74 .maxLines(1)
@@ -63,6 +63,8 @@ export struct EmptyComponent { @@ -63,6 +63,8 @@ export struct EmptyComponent {
63 @State emptyButton: boolean = false 63 @State emptyButton: boolean = false
64 @State isBlack: boolean = false // 背景是否为黑色 默认白色 64 @State isBlack: boolean = false // 背景是否为黑色 默认白色
65 @State timeNum: number = 10 65 @State timeNum: number = 10
  66 + ///占位图上是否显示返回按钮
  67 + @State showBackButton: boolean = true
66 /** 68 /**
67 * The empty image width percentage setting. 69 * The empty image width percentage setting.
68 */ 70 */
@@ -111,16 +113,18 @@ export struct EmptyComponent { @@ -111,16 +113,18 @@ export struct EmptyComponent {
111 build() { 113 build() {
112 Stack({alignContent:Alignment.Bottom}) { 114 Stack({alignContent:Alignment.Bottom}) {
113 this.noProgrammeData(); 115 this.noProgrammeData();
114 - Image($r("app.media.icon_arrow_left_white"))  
115 - .width(24)  
116 - .height(24)  
117 - .onClick(() => {  
118 - router.back();  
119 - })  
120 - .position({  
121 - bottom: 15,  
122 - left: 16  
123 - }) 116 + if (this.showBackButton) {
  117 + Image($r("app.media.icon_arrow_left_white"))
  118 + .width(24)
  119 + .height(24)
  120 + .onClick(() => {
  121 + router.back();
  122 + })
  123 + .position({
  124 + bottom: 15,
  125 + left: 16
  126 + })
  127 + }
124 } 128 }
125 } 129 }
126 130
@@ -228,7 +228,7 @@ export struct OperRowListView { @@ -228,7 +228,7 @@ export struct OperRowListView {
228 } 228 }
229 router.back(); 229 router.back();
230 }) 230 })
231 - 231 + Blank().width(10).visibility(this.showBackIcon ? Visibility.None : Visibility.Visible)
232 232
233 if (this.contentDetailData?.newsId) { 233 if (this.contentDetailData?.newsId) {
234 ForEach(this.operationButtonList, (item: string, index: number) => { 234 ForEach(this.operationButtonList, (item: string, index: number) => {
@@ -122,11 +122,12 @@ struct MineHomePage { @@ -122,11 +122,12 @@ struct MineHomePage {
122 Row() { 122 Row() {
123 Text(`${this.userName}`) 123 Text(`${this.userName}`)
124 .fontColor($r('app.color.white')) 124 .fontColor($r('app.color.white'))
125 - .maxLines(1) 125 + .maxLines(2)
126 .textOverflow({ overflow: TextOverflow.Ellipsis }) 126 .textOverflow({ overflow: TextOverflow.Ellipsis })
127 .fontSize(20) 127 .fontSize(20)
128 .lineHeight(26) 128 .lineHeight(26)
129 .fontWeight(500) 129 .fontWeight(500)
  130 + .constraintSize({maxWidth:180})
130 .onClick(()=>{ 131 .onClick(()=>{
131 let params: editModelParams = { 132 let params: editModelParams = {
132 editContent: this.userName 133 editContent: this.userName
@@ -206,7 +207,7 @@ struct MineHomePage { @@ -206,7 +207,7 @@ struct MineHomePage {
206 .backgroundColor($r('app.color.color_transparent')) 207 .backgroundColor($r('app.color.color_transparent'))
207 .height(86) 208 .height(86)
208 .width('100%') 209 .width('100%')
209 - .padding({ left: 16 }) 210 + .padding({ left: 10 })
210 211
211 212
212 Column(){ 213 Column(){
@@ -448,15 +449,12 @@ struct MineHomePage { @@ -448,15 +449,12 @@ struct MineHomePage {
448 .fontWeight(this.currentIndex === index ? 600 : 400) 449 .fontWeight(this.currentIndex === index ? 600 : 400)
449 .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor) 450 .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor)
450 .lineHeight(20) 451 .lineHeight(20)
451 - .height(40)  
452 452
453 if(this.currentIndex === index){ 453 if(this.currentIndex === index){
454 - Divider() 454 + Image($r('app.media.icon_channel_active'))//.colorFilter(ColorUtils.getDrawingColorFilter(this.getBothColor("")))
455 .width(16) 455 .width(16)
456 .height(2) 456 .height(2)
457 - .color('#ED2800')  
458 - .strokeWidth(2)  
459 - .margin({top: 40}) 457 + .margin({top: 30})
460 .id("divTag") 458 .id("divTag")
461 } 459 }
462 }.onClick(()=>{ 460 }.onClick(()=>{
1 import { CompDTO, ContentDTO, InteractDataDTO, LiveReviewDTO, LiveRoomDataBean, PageDTO, PageInfoDTO } from 'wdBean'; 1 import { CompDTO, ContentDTO, InteractDataDTO, LiveReviewDTO, LiveRoomDataBean, PageDTO, PageInfoDTO } from 'wdBean';
2 -import { CompStyle, ViewType } from 'wdConstant/Index'; 2 +import { CompStyle, ContentConstants, ViewType } from 'wdConstant/Index';
3 import { CollectionUtils, DateTimeUtils, LazyDataSource, Logger, NetworkUtil, StringUtils, ToastUtils } from 'wdKit'; 3 import { CollectionUtils, DateTimeUtils, LazyDataSource, Logger, NetworkUtil, StringUtils, ToastUtils } from 'wdKit';
4 import { closeRefresh } from '../utils/PullDownRefresh'; 4 import { closeRefresh } from '../utils/PullDownRefresh';
5 import PageModel from './PageModel'; 5 import PageModel from './PageModel';
@@ -15,6 +15,7 @@ import { viewBlogInsightIntentShare, ActionMode } from '../utils/InsightIntentSh @@ -15,6 +15,7 @@ import { viewBlogInsightIntentShare, ActionMode } from '../utils/InsightIntentSh
15 import { common } from '@kit.AbilityKit'; 15 import { common } from '@kit.AbilityKit';
16 import { CacheData } from 'wdNetwork/Index'; 16 import { CacheData } from 'wdNetwork/Index';
17 import { closeLoadMore } from '../utils/PullUpLoadMore'; 17 import { closeLoadMore } from '../utils/PullUpLoadMore';
  18 +import { webview } from '@kit.ArkWeb';
18 19
19 const TAG = 'PageHelper'; 20 const TAG = 'PageHelper';
20 21
@@ -258,6 +259,8 @@ export class PageHelper { @@ -258,6 +259,8 @@ export class PageHelper {
258 259
259 // 批查互动数据 260 // 批查互动数据
260 this.allCompBatchRequest(pageInfo.oneRequestPageGroupCompList.convertToArray(), pageModel) 261 this.allCompBatchRequest(pageInfo.oneRequestPageGroupCompList.convertToArray(), pageModel)
  262 + // 提前预加载H5专题
  263 + this.preloadH5Topic(pageInfo.oneRequestPageGroupCompList.convertToArray())
261 // 记录第一页数量 264 // 记录第一页数量
262 this.saveFirstPageEndIndex(pageModel) 265 this.saveFirstPageEndIndex(pageModel)
263 if (!isCache) { 266 if (!isCache) {
@@ -349,6 +352,8 @@ export class PageHelper { @@ -349,6 +352,8 @@ export class PageHelper {
349 this.loadMorePageComp(pageModel, data) 352 this.loadMorePageComp(pageModel, data)
350 // 参与批查 353 // 参与批查
351 this.allCompBatchRequest(data.compList, pageModel) 354 this.allCompBatchRequest(data.compList, pageModel)
  355 + // 提前预加载H5专题
  356 + this.preloadH5Topic(data.compList)
352 } 357 }
353 }).catch((err: string | Resource) => { 358 }).catch((err: string | Resource) => {
354 promptAction.showToast({ message: err }); 359 promptAction.showToast({ message: err });
@@ -489,6 +494,28 @@ export class PageHelper { @@ -489,6 +494,28 @@ export class PageHelper {
489 } 494 }
490 495
491 /** 496 /**
  497 + * 预加载H5专题
  498 + * @param compList
  499 + */
  500 + private preloadH5Topic(compList: CompDTO[]) {
  501 +
  502 + compList.forEach((comp) => {
  503 + comp.operDataList.forEach((program) => {
  504 + if (program.objectType != ContentConstants.TYPE_SPECIAL_TOPIC) {
  505 + return
  506 + }
  507 + if (program.objectLevel == "22" || program.objectLevel == "25") { // 音频专题 和 早晚报专题
  508 + return
  509 + }
  510 + if (program.linkUrl.length > 0) {
  511 + Logger.debug(TAG, "预加载H5专题link: " + program.linkUrl)
  512 + webview.WebviewController.prepareForPageLoad(program.linkUrl, true, 2)
  513 + }
  514 + })
  515 + })
  516 + }
  517 +
  518 + /**
492 * 直播回看的批查数据 519 * 直播回看的批查数据
493 * @param list 520 * @param list
494 * @param compList 521 * @param compList
@@ -66,7 +66,7 @@ export class PageViewModel extends BaseViewModel { @@ -66,7 +66,7 @@ export class PageViewModel extends BaseViewModel {
66 * @returns 66 * @returns
67 */ 67 */
68 async getPageGroupCompData(pageModel: PageUIReqBean): Promise<PageDTO> { 68 async getPageGroupCompData(pageModel: PageUIReqBean): Promise<PageDTO> {
69 - Logger.debug(TAG, 'getPageData pageId: ' + pageModel.pageId); 69 + Logger.debug(TAG, 'getPageGroupCompData pageId: ' + pageModel.pageId);
70 if (pageModel.isRecGroup) { 70 if (pageModel.isRecGroup) {
71 return this.parseComp(PageRepository.fetchRecCompData(pageModel)) 71 return this.parseComp(PageRepository.fetchRecCompData(pageModel))
72 } else { 72 } else {
@@ -75,6 +75,7 @@ export class PageViewModel extends BaseViewModel { @@ -75,6 +75,7 @@ export class PageViewModel extends BaseViewModel {
75 } 75 }
76 76
77 private parseComp(getData: Promise<ResponseDTO<PageDTO>>): Promise<PageDTO> { 77 private parseComp(getData: Promise<ResponseDTO<PageDTO>>): Promise<PageDTO> {
  78 + Logger.debug(TAG, 'parseComp11111111 ');
78 return new Promise<PageDTO>((success, error) => { 79 return new Promise<PageDTO>((success, error) => {
79 getData 80 getData
80 .then((resDTO: ResponseDTO<PageDTO>) => { 81 .then((resDTO: ResponseDTO<PageDTO>) => {
@@ -225,6 +226,7 @@ export class PageViewModel extends BaseViewModel { @@ -225,6 +226,7 @@ export class PageViewModel extends BaseViewModel {
225 } 226 }
226 227
227 async getPageInfo(pageId: string): Promise<PageInfoDTO> { 228 async getPageInfo(pageId: string): Promise<PageInfoDTO> {
  229 + Logger.info(TAG, "getPageInfo:" + pageId);
228 return new Promise<PageInfoDTO>((success, error) => { 230 return new Promise<PageInfoDTO>((success, error) => {
229 PageRepository.fetchPageData(pageId).then((resDTO: ResponseDTO<PageInfoDTO>) => { 231 PageRepository.fetchPageData(pageId).then((resDTO: ResponseDTO<PageInfoDTO>) => {
230 if (!resDTO || !resDTO.data) { 232 if (!resDTO || !resDTO.data) {
@@ -235,6 +237,9 @@ export class PageViewModel extends BaseViewModel { @@ -235,6 +237,9 @@ export class PageViewModel extends BaseViewModel {
235 Logger.info(TAG, "getPageInfo then,resDTO.timeStamp:" + resDTO.timestamp); 237 Logger.info(TAG, "getPageInfo then,resDTO.timeStamp:" + resDTO.timestamp);
236 resDTO.data.md5 = resDTO.meta?.md5 || '' 238 resDTO.data.md5 = resDTO.meta?.md5 || ''
237 success(resDTO.data as PageInfoDTO); 239 success(resDTO.data as PageInfoDTO);
  240 + }).catch((err: Error) => {
  241 + Logger.error(TAG, `getPageInfo then,error.name : ${err.name}, error.message:${err.message}`);
  242 + error(err);
238 }); 243 });
239 }); 244 });
240 } 245 }
  1 +<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>
@@ -138,8 +138,8 @@ @@ -138,8 +138,8 @@
138 background: #F5F5F5; 138 background: #F5F5F5;
139 padding: 0.32rem; 139 padding: 0.32rem;
140 color: #666666ff; 140 color: #666666ff;
141 - font-size: 0.37333333rem;  
142 - line-height: 0.53333333rem; 141 + font-size: 0.42666667rem;
  142 + line-height: 0.64rem;
143 margin-top: 0.56rem; 143 margin-top: 0.56rem;
144 border-radius: 0.10666667rem; 144 border-radius: 0.10666667rem;
145 word-break: break-all; 145 word-break: break-all;
@@ -378,11 +378,13 @@ @@ -378,11 +378,13 @@
378 } 378 }
379 .gx-mobile #newsContent a { 379 .gx-mobile #newsContent a {
380 color: #50749A !important; 380 color: #50749A !important;
381 - word-break: break-all; 381 + word-break: break-word;
  382 + overflow-wrap: break-word;
382 } 383 }
383 .gx-mobile #newsContent a span { 384 .gx-mobile #newsContent a span {
384 color: #50749A !important; 385 color: #50749A !important;
385 - word-break: break-all; 386 + word-break: break-word;
  387 + overflow-wrap: break-word;
386 } 388 }
387 .gx-mobile #newsContent a:last-child { 389 .gx-mobile #newsContent a:last-child {
388 margin-bottom: 0 !important; 390 margin-bottom: 0 !important;
@@ -399,7 +401,8 @@ @@ -399,7 +401,8 @@
399 padding: 0; 401 padding: 0;
400 margin-bottom: 0.42666667rem !important; 402 margin-bottom: 0.42666667rem !important;
401 box-sizing: border-box; 403 box-sizing: border-box;
402 - word-break: break-all; 404 + word-break: break-word;
  405 + overflow-wrap: break-word;
403 } 406 }
404 .gx-mobile #newsContent P:empty { 407 .gx-mobile #newsContent P:empty {
405 display: none !important; 408 display: none !important;
@@ -488,9 +491,6 @@ @@ -488,9 +491,6 @@
488 padding: 0; 491 padding: 0;
489 margin-bottom: 0.42666667rem; 492 margin-bottom: 0.42666667rem;
490 } 493 }
491 -.gx-mobile #newsContent section:empty {  
492 - display: none !important;  
493 -}  
494 .gx-mobile #newsContent section:last-child { 494 .gx-mobile #newsContent section:last-child {
495 margin-bottom: 0; 495 margin-bottom: 0;
496 } 496 }
@@ -2018,19 +2018,13 @@ @@ -2018,19 +2018,13 @@
2018 flex-direction: column; 2018 flex-direction: column;
2019 justify-content: space-between; 2019 justify-content: space-between;
2020 margin-left: 0.26667rem; 2020 margin-left: 0.26667rem;
2021 - height: 1.17333rem;  
2022 } 2021 }
2023 #newsContent .preview-link-card-mobile .preview-link-title { 2022 #newsContent .preview-link-card-mobile .preview-link-title {
  2023 + display: flex;
  2024 + align-items: center;
2024 font-size: 0.37333333rem; 2025 font-size: 0.37333333rem;
2025 - height: 0.53333333rem;  
2026 line-height: 0.53333333rem; 2026 line-height: 0.53333333rem;
2027 color: #50749A; 2027 color: #50749A;
2028 - overflow: hidden;  
2029 - text-overflow: ellipsis;  
2030 - display: -webkit-box;  
2031 - -webkit-line-clamp: 1;  
2032 - line-clamp: 1;  
2033 - -webkit-box-orient: vertical;  
2034 word-break: break-all; 2028 word-break: break-all;
2035 } 2029 }
2036 #newsContent .preview-link-card-mobile .preview-link { 2030 #newsContent .preview-link-card-mobile .preview-link {
@@ -2038,24 +2032,24 @@ @@ -2038,24 +2032,24 @@
2038 align-items: center; 2032 align-items: center;
2039 line-height: 0.37333rem; 2033 line-height: 0.37333rem;
2040 } 2034 }
2041 -#newsContent .preview-link-card-mobile.card-image .preview-link-title {  
2042 - -webkit-line-clamp: 2;  
2043 - line-clamp: 2;  
2044 - height: 1.06666667rem;  
2045 -}  
2046 #newsContent .preview-link-card-mobile.card-image .preview-link { 2035 #newsContent .preview-link-card-mobile.card-image .preview-link {
2047 display: none; 2036 display: none;
2048 margin-bottom: 0.13333rem; 2037 margin-bottom: 0.13333rem;
2049 } 2038 }
  2039 +#newsContent .special-no-wrap {
  2040 + white-space: nowrap;
  2041 +}
2050 #newsContent .preview-link-card-mobile .preview-link-title img { 2042 #newsContent .preview-link-card-mobile .preview-link-title img {
2051 position: relative; 2043 position: relative;
2052 - top: 0.08rem;  
2053 width: 0.42666667rem; 2044 width: 0.42666667rem;
2054 height: 0.42666667rem; 2045 height: 0.42666667rem;
2055 display: unset; 2046 display: unset;
2056 background: unset; 2047 background: unset;
2057 margin: 0; 2048 margin: 0;
2058 - margin-right: 0.16rem; 2049 + margin-right: 0.26666667rem;
  2050 +}
  2051 +#newsContent .preview-link-card-mobile.card-image .preview-link-title img {
  2052 + display: none;
2059 } 2053 }
2060 #newsContent .preview-link-card-mobile .preview-link span { 2054 #newsContent .preview-link-card-mobile .preview-link span {
2061 font-size: 0.26667rem; 2055 font-size: 0.26667rem;
@@ -2321,15 +2315,15 @@ @@ -2321,15 +2315,15 @@
2321 #newsContent .en-text-1 + .preview-image-block { 2315 #newsContent .en-text-1 + .preview-image-block {
2322 margin-top: 0 !important; 2316 margin-top: 0 !important;
2323 } 2317 }
2324 -#newsContent .en-text-1 img { 2318 +#newsContent .en-text-1 .en-text-1-img {
2325 position: absolute; 2319 position: absolute;
2326 - top: 0.16rem; 2320 + top: 0.236rem;
2327 left: 0.26666667rem; 2321 left: 0.26666667rem;
2328 width: 0.64rem; 2322 width: 0.64rem;
  2323 + height: 0.4rem;
2329 margin: 0 !important; 2324 margin: 0 !important;
2330 } 2325 }
2331 #newsContent .en-text-1-title { 2326 #newsContent .en-text-1-title {
2332 - line-height: 0.816rem;  
2333 font-size: 0.48rem; 2327 font-size: 0.48rem;
2334 color: #222; 2328 color: #222;
2335 word-break: break-all; 2329 word-break: break-all;
@@ -2346,7 +2340,6 @@ @@ -2346,7 +2340,6 @@
2346 padding: 0.29333333rem; 2340 padding: 0.29333333rem;
2347 border: 0.02666667rem solid #ED2800; 2341 border: 0.02666667rem solid #ED2800;
2348 word-break: break-all; 2342 word-break: break-all;
2349 - line-height: 0.816rem;  
2350 font-size: 0.48rem; 2343 font-size: 0.48rem;
2351 color: #222; 2344 color: #222;
2352 } 2345 }
@@ -2368,7 +2361,6 @@ @@ -2368,7 +2361,6 @@
2368 top: -0.4rem; 2361 top: -0.4rem;
2369 background: #fff; 2362 background: #fff;
2370 padding-right: 0.08rem; 2363 padding-right: 0.08rem;
2371 - line-height: 0.816rem;  
2372 font-size: 0.48rem; 2364 font-size: 0.48rem;
2373 color: #ED2800; 2365 color: #ED2800;
2374 font-weight: bold; 2366 font-weight: bold;
@@ -2379,7 +2371,6 @@ @@ -2379,7 +2371,6 @@
2379 background: #ED2800; 2371 background: #ED2800;
2380 } 2372 }
2381 #newsContent .en-text-3 .en-text-3-content { 2373 #newsContent .en-text-3 .en-text-3-content {
2382 - line-height: 0.816rem;  
2383 font-size: 0.48rem; 2374 font-size: 0.48rem;
2384 color: #222; 2375 color: #222;
2385 word-break: break-all; 2376 word-break: break-all;
@@ -2403,7 +2394,6 @@ @@ -2403,7 +2394,6 @@
2403 background-repeat: no-repeat; 2394 background-repeat: no-repeat;
2404 background-size: 100%; 2395 background-size: 100%;
2405 font-size: 0.48rem; 2396 font-size: 0.48rem;
2406 - line-height: 0.816rem;  
2407 } 2397 }
2408 #newsContent .en-text-4 .en-text-4-block .en-text-4-title { 2398 #newsContent .en-text-4 .en-text-4-block .en-text-4-title {
2409 word-break: break-all; 2399 word-break: break-all;
@@ -2441,7 +2431,6 @@ @@ -2441,7 +2431,6 @@
2441 color: #fff; 2431 color: #fff;
2442 font-weight: bold; 2432 font-weight: bold;
2443 font-size: 0.48rem; 2433 font-size: 0.48rem;
2444 - line-height: 0.816rem;  
2445 color: #FFFFFF; 2434 color: #FFFFFF;
2446 flex-shrink: 0; 2435 flex-shrink: 0;
2447 word-break: break-all; 2436 word-break: break-all;
@@ -2454,7 +2443,6 @@ @@ -2454,7 +2443,6 @@
2454 background: #f4e8e9; 2443 background: #f4e8e9;
2455 font-weight: bold; 2444 font-weight: bold;
2456 font-size: 0.48rem; 2445 font-size: 0.48rem;
2457 - line-height: 0.58666667rem;  
2458 color: #ED2800; 2446 color: #ED2800;
2459 word-break: break-all; 2447 word-break: break-all;
2460 } 2448 }
1 -{"version":3,"sources":["index.less"],"names":[],"mappings":"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","file":"index.css"}  
  1 +{"version":3,"sources":["index.less"],"names":[],"mappings":"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","file":"index.css"}
@@ -199,8 +199,8 @@ @@ -199,8 +199,8 @@
199 background: #F5F5F5; 199 background: #F5F5F5;
200 padding: 0.32rem; 200 padding: 0.32rem;
201 color: @color_1; 201 color: @color_1;
202 - font-size: (14 / 37.5rem);  
203 - line-height: (20 / 37.5rem); 202 + font-size: (16 / 37.5rem);
  203 + line-height: (24 / 37.5rem);
204 margin-top: (21 / 37.5rem); 204 margin-top: (21 / 37.5rem);
205 border-radius: (4 / 37.5rem); 205 border-radius: (4 / 37.5rem);
206 word-break: break-all; 206 word-break: break-all;
@@ -486,11 +486,13 @@ @@ -486,11 +486,13 @@
486 486
487 a { 487 a {
488 color: #50749A !important; 488 color: #50749A !important;
489 - word-break: break-all; 489 + word-break: break-word;
  490 + overflow-wrap: break-word;
490 491
491 span { 492 span {
492 color: #50749A !important; 493 color: #50749A !important;
493 - word-break: break-all; 494 + word-break: break-word;
  495 + overflow-wrap: break-word;
494 } 496 }
495 497
496 &:last-child { 498 &:last-child {
@@ -511,7 +513,8 @@ @@ -511,7 +513,8 @@
511 padding: 0; 513 padding: 0;
512 margin-bottom: (16 / 37.5rem) !important; 514 margin-bottom: (16 / 37.5rem) !important;
513 box-sizing: border-box; 515 box-sizing: border-box;
514 - word-break: break-all; 516 + word-break: break-word;
  517 + overflow-wrap: break-word;
515 518
516 &:empty { 519 &:empty {
517 display: none !important; 520 display: none !important;
@@ -626,10 +629,6 @@ @@ -626,10 +629,6 @@
626 padding: 0; 629 padding: 0;
627 margin-bottom: (16 / 37.5rem); 630 margin-bottom: (16 / 37.5rem);
628 631
629 - &:empty {  
630 - display: none !important;  
631 - }  
632 -  
633 &:last-child { 632 &:last-child {
634 margin-bottom: 0; 633 margin-bottom: 0;
635 } 634 }
@@ -2420,20 +2419,14 @@ @@ -2420,20 +2419,14 @@
2420 flex-direction: column; 2419 flex-direction: column;
2421 justify-content: space-between; 2420 justify-content: space-between;
2422 margin-left: 0.26667rem; 2421 margin-left: 0.26667rem;
2423 - height: 1.17333rem;  
2424 } 2422 }
2425 2423
2426 #newsContent .preview-link-card-mobile .preview-link-title { 2424 #newsContent .preview-link-card-mobile .preview-link-title {
  2425 + display: flex;
  2426 + align-items: center;
2427 font-size: (14 / 37.5rem); 2427 font-size: (14 / 37.5rem);
2428 - height: (20 / 37.5rem);  
2429 line-height: (20 / 37.5rem); 2428 line-height: (20 / 37.5rem);
2430 color: #50749A; 2429 color: #50749A;
2431 - overflow: hidden;  
2432 - text-overflow: ellipsis;  
2433 - display: -webkit-box;  
2434 - -webkit-line-clamp: 1;  
2435 - line-clamp: 1;  
2436 - -webkit-box-orient: vertical;  
2437 word-break: break-all; 2430 word-break: break-all;
2438 } 2431 }
2439 2432
@@ -2444,9 +2437,6 @@ @@ -2444,9 +2437,6 @@
2444 } 2437 }
2445 2438
2446 #newsContent .preview-link-card-mobile.card-image .preview-link-title { 2439 #newsContent .preview-link-card-mobile.card-image .preview-link-title {
2447 - -webkit-line-clamp: 2;  
2448 - line-clamp: 2;  
2449 - height: (40 / 37.5rem);  
2450 } 2440 }
2451 2441
2452 #newsContent .preview-link-card-mobile.card-image .preview-link { 2442 #newsContent .preview-link-card-mobile.card-image .preview-link {
@@ -2454,15 +2444,22 @@ @@ -2454,15 +2444,22 @@
2454 margin-bottom: 0.13333rem; 2444 margin-bottom: 0.13333rem;
2455 } 2445 }
2456 2446
  2447 +#newsContent .special-no-wrap {
  2448 + white-space: nowrap;
  2449 +}
  2450 +
2457 #newsContent .preview-link-card-mobile .preview-link-title img { 2451 #newsContent .preview-link-card-mobile .preview-link-title img {
2458 position: relative; 2452 position: relative;
2459 - top: (3 / 37.5rem);  
2460 width: (16 / 37.5rem); 2453 width: (16 / 37.5rem);
2461 height: (16 / 37.5rem); 2454 height: (16 / 37.5rem);
2462 display: unset; 2455 display: unset;
2463 background: unset; 2456 background: unset;
2464 margin: 0; 2457 margin: 0;
2465 - margin-right: (6 / 37.5rem); 2458 + margin-right: (10 / 37.5rem);
  2459 +}
  2460 +
  2461 +#newsContent .preview-link-card-mobile.card-image .preview-link-title img {
  2462 + display: none;
2466 } 2463 }
2467 2464
2468 #newsContent .preview-link-card-mobile .preview-link span { 2465 #newsContent .preview-link-card-mobile .preview-link span {
@@ -2797,17 +2794,17 @@ @@ -2797,17 +2794,17 @@
2797 margin-top: 0 !important; 2794 margin-top: 0 !important;
2798 } 2795 }
2799 2796
2800 - img { 2797 + .en-text-1-img {
2801 position: absolute; 2798 position: absolute;
2802 - top: (6 / 37.5rem); 2799 + top: (8.85 / 37.5rem);
2803 left: (10 / 37.5rem); 2800 left: (10 / 37.5rem);
2804 width: (24 / 37.5rem); 2801 width: (24 / 37.5rem);
  2802 + height: (15 / 37.5rem);
2805 margin: 0 !important; 2803 margin: 0 !important;
2806 } 2804 }
2807 } 2805 }
2808 2806
2809 #newsContent .en-text-1-title { 2807 #newsContent .en-text-1-title {
2810 - line-height: ((18 * 1.7) / 37.5rem);  
2811 font-size: (18 / 37.5rem); 2808 font-size: (18 / 37.5rem);
2812 color: #222; 2809 color: #222;
2813 word-break: break-all; 2810 word-break: break-all;
@@ -2827,7 +2824,6 @@ @@ -2827,7 +2824,6 @@
2827 padding: .rem(11)[@result]; 2824 padding: .rem(11)[@result];
2828 border: (1 / 37.5rem) solid #ED2800; 2825 border: (1 / 37.5rem) solid #ED2800;
2829 word-break: break-all; 2826 word-break: break-all;
2830 - line-height: ((18 * 1.7) / 37.5rem);  
2831 font-size: (18 / 37.5rem); 2827 font-size: (18 / 37.5rem);
2832 color: #222; 2828 color: #222;
2833 } 2829 }
@@ -2852,7 +2848,6 @@ @@ -2852,7 +2848,6 @@
2852 top: -(15 / 37.5rem); 2848 top: -(15 / 37.5rem);
2853 background: #fff; 2849 background: #fff;
2854 padding-right: (3 / 37.5rem); 2850 padding-right: (3 / 37.5rem);
2855 - line-height: ((18 * 1.7) / 37.5rem);  
2856 font-size: (18 / 37.5rem); 2851 font-size: (18 / 37.5rem);
2857 color: #ED2800; 2852 color: #ED2800;
2858 font-weight: bold; 2853 font-weight: bold;
@@ -2865,7 +2860,6 @@ @@ -2865,7 +2860,6 @@
2865 } 2860 }
2866 2861
2867 #newsContent .en-text-3 .en-text-3-content { 2862 #newsContent .en-text-3 .en-text-3-content {
2868 - line-height: ((18 * 1.7) / 37.5rem);  
2869 font-size: (18 / 37.5rem); 2863 font-size: (18 / 37.5rem);
2870 color: #222; 2864 color: #222;
2871 word-break: break-all; 2865 word-break: break-all;
@@ -2892,7 +2886,6 @@ @@ -2892,7 +2886,6 @@
2892 background-repeat: no-repeat; 2886 background-repeat: no-repeat;
2893 background-size: 100%; 2887 background-size: 100%;
2894 font-size: (18 / 37.5rem); 2888 font-size: (18 / 37.5rem);
2895 - line-height: ((18 * 1.7) / 37.5rem);  
2896 } 2889 }
2897 2890
2898 #newsContent .en-text-4 .en-text-4-block .en-text-4-title { 2891 #newsContent .en-text-4 .en-text-4-block .en-text-4-title {
@@ -2936,7 +2929,6 @@ @@ -2936,7 +2929,6 @@
2936 color: #fff; 2929 color: #fff;
2937 font-weight: bold; 2930 font-weight: bold;
2938 font-size: (18 / 37.5rem); 2931 font-size: (18 / 37.5rem);
2939 - line-height: ((18 * 1.7) / 37.5rem);  
2940 color: #FFFFFF; 2932 color: #FFFFFF;
2941 flex-shrink: 0; 2933 flex-shrink: 0;
2942 word-break: break-all; 2934 word-break: break-all;
@@ -2950,7 +2942,6 @@ @@ -2950,7 +2942,6 @@
2950 background: #f4e8e9; 2942 background: #f4e8e9;
2951 font-weight: bold; 2943 font-weight: bold;
2952 font-size: (18 / 37.5rem); 2944 font-size: (18 / 37.5rem);
2953 - line-height: (22 / 37.5rem);  
2954 color: #ED2800; 2945 color: #ED2800;
2955 word-break: break-all; 2946 word-break: break-all;
2956 } 2947 }
1 -<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>  
  1 +<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 @@ @@ -29,7 +29,7 @@
29 } 29 }
30 } 30 }
31 </script> 31 </script>
32 -<!-- <script src="./js/plugin/vconsole.min.js" onload="vconsoleFun(this)"></script>--> 32 + <!--<script src="./js/plugin/vconsole.min.js" onload="vconsoleFun(this)"></script>-->
33 <script src="./js/utils/initialization.js"></script> 33 <script src="./js/utils/initialization.js"></script>
34 <script src="./js/plugin/rem.js"></script> 34 <script src="./js/plugin/rem.js"></script>
35 <script src="./js/utils/nativeUtil.js"></script> 35 <script src="./js/utils/nativeUtil.js"></script>
@@ -427,86 +427,86 @@ @@ -427,86 +427,86 @@
427 </div> 427 </div>
428 428
429 <!-- 分享 --> 429 <!-- 分享 -->
430 -<!-- <div class="share" v-if="shareOpen" :style="{ marginTop: actieInfo.show ? '0.64rem' : undefined }">-->  
431 -<!-- <div-->  
432 -<!-- v-if="details.shareInfo.sharePosterOpen == 1"-->  
433 -<!-- class="sharePoster share-wrapper share-box"-->  
434 -<!-- @click="openShare('8')"-->  
435 -<!-- :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}%)` : undefined }"-->  
436 -<!-- >-->  
437 -<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/firstStart@1x.png" alt="">-->  
438 -<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/firstStart.png" alt="">-->  
439 -<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/firstCenter@1x.png" alt="">-->  
440 -<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/firstCenter.png" alt="">-->  
441 -<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/firstEnd@1x.png" alt="">-->  
442 -<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/firstEnd.png" alt="">-->  
443 -<!-- <div class="share-content">-->  
444 -<!-- <img src="./image/share/poster.svg" alt="">-->  
445 -<!-- <span>海报</span>-->  
446 -<!-- </div>-->  
447 -<!-- <img v-if="shareNewPoster" class="news" src="./image/share/posterNew.svg" alt="">-->  
448 -<!-- </div>-->  
449 -<!-- <div-->  
450 -<!-- class="share-wechat share-wrapper"-->  
451 -<!-- :class="details.shareInfo.sharePosterOpen == 1 ? 'share-box-center center' : 'share-box'"-->  
452 -<!-- @click="openShare('3')"-->  
453 -<!-- :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}% + ${5.8/37.5}rem)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"-->  
454 -<!-- >-->  
455 -<!-- -->  
456 -<!-- <template v-if="details.shareInfo.sharePosterOpen == 1">-->  
457 -<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/secondStart@1x.png" alt="">-->  
458 -<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/secondStart.png" alt="">-->  
459 -<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/secondCenter@1x.png" alt="">-->  
460 -<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/secondCenter.png" alt="">-->  
461 -<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/secondEnd@1x.png" alt="">-->  
462 -<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/secondEnd.png" alt="">-->  
463 -<!-- </template>-->  
464 -<!-- <template v-else>-->  
465 -<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/firstStart@1x.png" alt="">-->  
466 -<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/firstStart.png" alt="">-->  
467 -<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/firstCenter@1x.png" alt="">-->  
468 -<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/firstCenter.png" alt="">-->  
469 -<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/firstEnd@1x.png" alt="">-->  
470 -<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/firstEnd.png" alt="">-->  
471 -<!-- </template>-->  
472 -<!-- <div class="share-content">-->  
473 -<!-- <img src="./image/share/wechat.svg" alt="">-->  
474 -<!-- <span>微信</span>-->  
475 -<!-- </div>-->  
476 -<!-- </div>-->  
477 -<!-- <div-->  
478 -<!-- class="share-wechat-circle share-box-center share-wrapper"-->  
479 -<!-- @click="openShare('4')"-->  
480 -<!-- :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}% + ${5.8/37.5}rem)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"-->  
481 -<!-- >-->  
482 -<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/secondStart@1x.png" alt="">-->  
483 -<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/secondStart.png" alt="">-->  
484 -<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/secondCenter@1x.png" alt="">-->  
485 -<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/secondCenter.png" alt="">-->  
486 -<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/secondEnd@1x.png" alt="">-->  
487 -<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/secondEnd.png" alt="">-->  
488 -<!-- <div class="share-content">-->  
489 -<!-- <img src="./image/share/wechatCircle.svg" alt="">-->  
490 -<!-- <span>朋友圈</span>-->  
491 -<!-- </div>-->  
492 -<!-- </div>-->  
493 -<!-- <div-->  
494 -<!-- class="share-weibo share-box-last share-wrapper"-->  
495 -<!-- @click="openShare('5')"-->  
496 -<!-- :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}%)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"-->  
497 -<!-- >-->  
498 -<!-- <img v-if="darkMode === 'light'" class="image-first" src="./image/share/thirdStart@1x.png" alt="">-->  
499 -<!-- <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/thirdStart.png" alt="">-->  
500 -<!-- <img v-if="darkMode === 'light'" class="image-center" src="./image/share/thirdCenter@1x.png" alt="">-->  
501 -<!-- <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/thirdCenter.png" alt="">-->  
502 -<!-- <img v-if="darkMode === 'light'" class="image-end" src="./image/share/thirdEnd@1x.png" alt="">-->  
503 -<!-- <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/thirdEnd.png" alt="">-->  
504 -<!-- <div class="share-content">-->  
505 -<!-- <img src="./image/share/weibo.svg" alt="">-->  
506 -<!-- <span>微博</span>-->  
507 -<!-- </div>-->  
508 -<!-- </div>-->  
509 -<!-- </div>--> 430 + <!-- <div class="share" v-if="shareOpen" :style="{ marginTop: actieInfo.show ? '0.64rem' : undefined }">
  431 + <div
  432 + v-if="details.shareInfo.sharePosterOpen == 1"
  433 + class="sharePoster share-wrapper share-box"
  434 + @click="openShare('8')"
  435 + :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}%)` : undefined }"
  436 + >
  437 + <img v-if="darkMode === 'light'" class="image-first" src="./image/share/firstStart@1x.png" alt="">
  438 + <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/firstStart.png" alt="">
  439 + <img v-if="darkMode === 'light'" class="image-center" src="./image/share/firstCenter@1x.png" alt="">
  440 + <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/firstCenter.png" alt="">
  441 + <img v-if="darkMode === 'light'" class="image-end" src="./image/share/firstEnd@1x.png" alt="">
  442 + <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/firstEnd.png" alt="">
  443 + <div class="share-content">
  444 + <img src="./image/share/poster.svg" alt="">
  445 + <span>海报</span>
  446 + </div>
  447 + <img v-if="shareNewPoster" class="news" src="./image/share/posterNew.svg" alt="">
  448 + </div>
  449 + <div
  450 + class="share-wechat share-wrapper"
  451 + :class="details.shareInfo.sharePosterOpen == 1 ? 'share-box-center center' : 'share-box'"
  452 + @click="openShare('3')"
  453 + :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}% + ${5.8/37.5}rem)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"
  454 + >
  455 +
  456 + <template v-if="details.shareInfo.sharePosterOpen == 1">
  457 + <img v-if="darkMode === 'light'" class="image-first" src="./image/share/secondStart@1x.png" alt="">
  458 + <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/secondStart.png" alt="">
  459 + <img v-if="darkMode === 'light'" class="image-center" src="./image/share/secondCenter@1x.png" alt="">
  460 + <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/secondCenter.png" alt="">
  461 + <img v-if="darkMode === 'light'" class="image-end" src="./image/share/secondEnd@1x.png" alt="">
  462 + <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/secondEnd.png" alt="">
  463 + </template>
  464 + <template v-else>
  465 + <img v-if="darkMode === 'light'" class="image-first" src="./image/share/firstStart@1x.png" alt="">
  466 + <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/firstStart.png" alt="">
  467 + <img v-if="darkMode === 'light'" class="image-center" src="./image/share/firstCenter@1x.png" alt="">
  468 + <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/firstCenter.png" alt="">
  469 + <img v-if="darkMode === 'light'" class="image-end" src="./image/share/firstEnd@1x.png" alt="">
  470 + <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/firstEnd.png" alt="">
  471 + </template>
  472 + <div class="share-content">
  473 + <img src="./image/share/wechat.svg" alt="">
  474 + <span>微信</span>
  475 + </div>
  476 + </div>
  477 + <div
  478 + class="share-wechat-circle share-box-center share-wrapper"
  479 + @click="openShare('4')"
  480 + :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}% + ${5.8/37.5}rem)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"
  481 + >
  482 + <img v-if="darkMode === 'light'" class="image-first" src="./image/share/secondStart@1x.png" alt="">
  483 + <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/secondStart.png" alt="">
  484 + <img v-if="darkMode === 'light'" class="image-center" src="./image/share/secondCenter@1x.png" alt="">
  485 + <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/secondCenter.png" alt="">
  486 + <img v-if="darkMode === 'light'" class="image-end" src="./image/share/secondEnd@1x.png" alt="">
  487 + <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/secondEnd.png" alt="">
  488 + <div class="share-content">
  489 + <img src="./image/share/wechatCircle.svg" alt="">
  490 + <span>朋友圈</span>
  491 + </div>
  492 + </div>
  493 + <div
  494 + class="share-weibo share-box-last share-wrapper"
  495 + @click="openShare('5')"
  496 + :style="{ width: details.shareInfo.sharePosterOpen == 1 ? `calc(${100/4}%)` : `calc(${100/3}% + ${(7.5/3)/37.5}rem)` }"
  497 + >
  498 + <img v-if="darkMode === 'light'" class="image-first" src="./image/share/thirdStart@1x.png" alt="">
  499 + <img v-else-if="darkMode === 'dark'" class="image-first" src="./image/dark/thirdStart.png" alt="">
  500 + <img v-if="darkMode === 'light'" class="image-center" src="./image/share/thirdCenter@1x.png" alt="">
  501 + <img v-else-if="darkMode === 'dark'" class="image-center" src="./image/dark/thirdCenter.png" alt="">
  502 + <img v-if="darkMode === 'light'" class="image-end" src="./image/share/thirdEnd@1x.png" alt="">
  503 + <img v-else-if="darkMode === 'dark'" class="image-end" src="./image/dark/thirdEnd.png" alt="">
  504 + <div class="share-content">
  505 + <img src="./image/share/weibo.svg" alt="">
  506 + <span>微博</span>
  507 + </div>
  508 + </div>
  509 + </div> -->
510 <div class="reload-page" v-if="baseNode == 'dev'" @click="mockAppClearData">模拟app复用重新加载</div> 510 <div class="reload-page" v-if="baseNode == 'dev'" @click="mockAppClearData">模拟app复用重新加载</div>
511 </div> 511 </div>
512 512
@@ -533,6 +533,7 @@ @@ -533,6 +533,7 @@
533 <div id="hidden"></div> 533 <div id="hidden"></div>
534 <div id="hiddenArticle"></div> 534 <div id="hiddenArticle"></div>
535 <!-- Plugin 的 JS 文件 --> 535 <!-- Plugin 的 JS 文件 -->
  536 +<script src="./js/plugin/jquery.min.js"></script>
536 <script src="./js/plugin/vue3.min.js"></script> 537 <script src="./js/plugin/vue3.min.js"></script>
537 <script src="./js/plugin/day.min.js"></script> 538 <script src="./js/plugin/day.min.js"></script>
538 <script src="./js/plugin/relativeTime.min.js"></script> 539 <script src="./js/plugin/relativeTime.min.js"></script>
@@ -36,14 +36,14 @@ function useAudio(audioState, details) { @@ -36,14 +36,14 @@ function useAudio(audioState, details) {
36 const audioStyleTotalTime = item.querySelector('.audio-durtion') 36 const audioStyleTotalTime = item.querySelector('.audio-durtion')
37 const audioProgress = item.querySelector('.audio-progressed') 37 const audioProgress = item.querySelector('.audio-progressed')
38 const durationFun = function () { 38 const durationFun = function () {
39 - audioStyleTotalTime.innerHTML = transTime(item_audio.duration) 39 + jqHtml(audioStyleTotalTime, { type: 'set', str: transTime(item_audio.duration) })
40 } 40 }
41 item_audio.addEventListener('durationchange', durationFun) 41 item_audio.addEventListener('durationchange', durationFun)
42 42
43 audioEvent.duration.push(durationFun) 43 audioEvent.duration.push(durationFun)
44 44
45 const timeFun = function () { 45 const timeFun = function () {
46 - audioStyleCurTime.innerHTML = transTime(item_audio.currentTime) 46 + jqHtml(audioStyleCurTime, { type: 'set', str: transTime(item_audio.currentTime) })
47 if (audioProgress) { 47 if (audioProgress) {
48 audioProgress.style.width = `${(item_audio.currentTime / item_audio.duration) * 100}%` 48 audioProgress.style.width = `${(item_audio.currentTime / item_audio.duration) * 100}%`
49 } 49 }
@@ -60,7 +60,7 @@ function useAudio(audioState, details) { @@ -60,7 +60,7 @@ function useAudio(audioState, details) {
60 60
61 const errorFun = function () {} 61 const errorFun = function () {}
62 const endedFun = function () { 62 const endedFun = function () {
63 - audioStyleCurTime.innerHTML = '00:00' 63 + jqHtml(audioStyleCurTime, { type: 'set', str: '00:00' })
64 } 64 }
65 65
66 item_audio.addEventListener('error', errorFun) 66 item_audio.addEventListener('error', errorFun)
@@ -8,7 +8,7 @@ let audioTitleElList = [] @@ -8,7 +8,7 @@ let audioTitleElList = []
8 function trimContentInBlockTagsUsingDOM(html, inlineTags) { 8 function trimContentInBlockTagsUsingDOM(html, inlineTags) {
9 // 创建一个容器元素来解析HTML字符串 9 // 创建一个容器元素来解析HTML字符串
10 const container = document.createElement('div') 10 const container = document.createElement('div')
11 - container.innerHTML = html 11 + jqHtml(container, { type: 'set', str: html })
12 12
13 // 获取所有块级元素 13 // 获取所有块级元素
14 const blockTags = container.querySelectorAll('*') 14 const blockTags = container.querySelectorAll('*')
@@ -27,48 +27,49 @@ function trimContentInBlockTagsUsingDOM(html, inlineTags) { @@ -27,48 +27,49 @@ function trimContentInBlockTagsUsingDOM(html, inlineTags) {
27 }) 27 })
28 28
29 // 返回处理后的HTML字符串 29 // 返回处理后的HTML字符串
30 - return container.innerHTML 30 + return jqHtml(container, { type: 'get' })
31 } 31 }
32 32
33 function trimContentFirstUsingDOM(html) { 33 function trimContentFirstUsingDOM(html) {
34 // 创建一个容器元素来解析HTML字符串 34 // 创建一个容器元素来解析HTML字符串
35 const container = document.createElement('div') 35 const container = document.createElement('div')
36 - container.innerHTML = html 36 + jqHtml(container, { type: 'set', str: html })
37 37
38 // 获取所有块级元素 38 // 获取所有块级元素
39 - const blockTags = Array.from(container.children).map(child => child); 39 + const blockTags = Array.from(container.children).map(child => child)
40 blockTags.forEach(node => { 40 blockTags.forEach(node => {
41 - let firstChild = node.firstChild; 41 + let firstChild = node.firstChild
42 42
43 while (firstChild) { 43 while (firstChild) {
44 if (firstChild.nodeType === Node.TEXT_NODE) { 44 if (firstChild.nodeType === Node.TEXT_NODE) {
45 // 如果是文本节点,去除首行空白 45 // 如果是文本节点,去除首行空白
46 - firstChild.textContent = firstChild.textContent.replace(/^\s+/, '');  
47 - break; 46 + firstChild.textContent = firstChild.textContent.replace(/^\s+/, '')
  47 + break
48 } else if (firstChild.nodeType === Node.ELEMENT_NODE) { 48 } else if (firstChild.nodeType === Node.ELEMENT_NODE) {
49 // 如果是元素节点,继续找其第一个子元素 49 // 如果是元素节点,继续找其第一个子元素
50 - firstChild = firstChild.firstChild; 50 + firstChild = firstChild.firstChild
51 } else { 51 } else {
52 // 如果既不是文本节点也不是元素节点,跳出循环 52 // 如果既不是文本节点也不是元素节点,跳出循环
53 - break; 53 + break
54 } 54 }
55 } 55 }
56 }) 56 })
57 57
58 // 返回处理后的HTML字符串 58 // 返回处理后的HTML字符串
59 - return container.innerHTML 59 + return jqHtml(container, { type: 'get' })
60 } 60 }
61 61
62 function clearImgaeLinkStyle(html) { 62 function clearImgaeLinkStyle(html) {
63 // 创建一个容器元素来解析HTML字符串 63 // 创建一个容器元素来解析HTML字符串
64 const container = document.createElement('div') 64 const container = document.createElement('div')
65 - container.innerHTML = html 65 + jqHtml(container, { type: 'set', str: html })
66 66
67 // 获取所有块级元素 67 // 获取所有块级元素
68 const imageLinkEls = container.querySelectorAll('a[class^="imageLink_"]') 68 const imageLinkEls = container.querySelectorAll('a[class^="imageLink_"]')
69 imageLinkEls.forEach(el => el.setAttribute('style', '')) 69 imageLinkEls.forEach(el => el.setAttribute('style', ''))
70 // 返回处理后的HTML字符串 70 // 返回处理后的HTML字符串
71 - return container.innerHTML 71 +
  72 + return jqHtml(container, { type: 'get' })
72 } 73 }
73 74
74 function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitch, recordTime) { 75 function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitch, recordTime) {
@@ -188,6 +189,7 @@ function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitc @@ -188,6 +189,7 @@ function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitc
188 str = str.replace(/<VIDEO(.*?)poster="(.*?)"(.*?)>/g, '<VIDEO$1poster="" data-poster="$2"$3>') 189 str = str.replace(/<VIDEO(.*?)poster="(.*?)"(.*?)>/g, '<VIDEO$1poster="" data-poster="$2"$3>')
189 str = str.replace(/<p>\s*<\/p>/g, '') 190 str = str.replace(/<p>\s*<\/p>/g, '')
190 str = str.replace(/[\u200B-\u200D\uFEFF]/g, '') 191 str = str.replace(/[\u200B-\u200D\uFEFF]/g, '')
  192 + str = str.replace(/‘/g, '\'')
191 str = htmlDecode(str) 193 str = htmlDecode(str)
192 // 这一步去除元素与元素之间的空格 194 // 这一步去除元素与元素之间的空格
193 str = str.replace(/>\s+</g, '><') 195 str = str.replace(/>\s+</g, '><')
@@ -215,9 +217,9 @@ function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitc @@ -215,9 +217,9 @@ function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitc
215 }) 217 })
216 } 218 }
217 } 219 }
218 - document.querySelector('#newsContent').innerHTML = str  
219 - const realHtml = document.querySelector('#newsContent').innerHTML  
220 - document.querySelector('#newsContent').innerHTML = '' 220 + jqHtml('#newsContent', { type: 'set', str })
  221 + const realHtml = jqHtml('#newsContent', { type: 'get' })
  222 + jqHtml('#newsContent', { type: 'set', str: '' })
221 domUtil.handleArticleStr(realHtml, (type, option) => { 223 domUtil.handleArticleStr(realHtml, (type, option) => {
222 if (type === 1) { 224 if (type === 1) {
223 addPreview() 225 addPreview()
@@ -231,6 +233,7 @@ function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitc @@ -231,6 +233,7 @@ function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitc
231 loadCSS('./css/swiper-bundle.min.css') 233 loadCSS('./css/swiper-bundle.min.css')
232 } 234 }
233 }, details.value, netstutas.value, loadlmageOnlyWifiSwitch.value) 235 }, details.value, netstutas.value, loadlmageOnlyWifiSwitch.value)
  236 +
234 clearEmptyPel() 237 clearEmptyPel()
235 // errorBlock( 238 // errorBlock(
236 // './image/content_fail.svg', 239 // './image/content_fail.svg',
@@ -300,25 +303,17 @@ function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitc @@ -300,25 +303,17 @@ function useEditorContent(details, netstutas, audioState, loadlmageOnlyWifiSwitc
300 } 303 }
301 } catch (error) {} 304 } catch (error) {}
302 305
303 - let inner = dataInfo && (typeof dataInfo === 'undefined' 306 + const inner = dataInfo && (typeof dataInfo === 'undefined'
304 ? 'undefined' 307 ? 'undefined'
305 : typeof dataInfo === 'object' && dataInfo.jumpType && dataInfo.jumpType == 'internal') 308 : typeof dataInfo === 'object' && dataInfo.jumpType && dataInfo.jumpType == 'internal')
306 -  
307 - if (!inner) {  
308 - // TODO 这里判断第二种方法:url地址规则判断是否端内打开  
309 - }  
310 - if (window.config.VUE_BASE_NODE === 'dev') {  
311 - console.log(inner)  
312 - console.log(dataInfo)  
313 - // if (url) window.open(url)  
314 - } else {  
315 - if (inner && url) {  
316 - jumpAppInnerFun(dataInfo, url)  
317 - } else if (url) {  
318 - sendNative('jsCall_appInnerLinkMethod', {  
319 - appInnerLink: `rmrbapp://rmrb.app/openwith?type=h5&url=${encodeURIComponent(url)}&skipType=4`  
320 - })  
321 - } 309 + console.log(inner)
  310 + console.log(dataInfo)
  311 + if (inner && url) {
  312 + jumpAppInnerFun(dataInfo, url)
  313 + } else if (url) {
  314 + sendNative('jsCall_appInnerLinkMethod', {
  315 + appInnerLink: `rmrbapp://rmrb.app/openwith?type=h5&url=${encodeURIComponent(url)}&skipType=4`
  316 + })
322 } 317 }
323 } catch (e) {} 318 } catch (e) {}
324 }) 319 })
@@ -217,8 +217,8 @@ const app = Vue.createApp({ @@ -217,8 +217,8 @@ const app = Vue.createApp({
217 // document.documentElement.setAttribute('data-size', state.appFontSize) 217 // document.documentElement.setAttribute('data-size', state.appFontSize)
218 state.environment = window.config.VUE_BASE_HEADER.environment 218 state.environment = window.config.VUE_BASE_HEADER.environment
219 // channelId.value = 2038 219 // channelId.value = 2038
220 - // state.relId = 500004381239  
221 - state.contentId = 30037809321 220 + state.relId = 500004384175
  221 + state.contentId = 30037827178
222 contentId = state.contentId 222 contentId = state.contentId
223 clearInterval(time.value) 223 clearInterval(time.value)
224 setTimeout(() => { 224 setTimeout(() => {
@@ -349,7 +349,7 @@ const app = Vue.createApp({ @@ -349,7 +349,7 @@ const app = Vue.createApp({
349 url: '/content/zh/c/content/detail', 349 url: '/content/zh/c/content/detail',
350 methot: 'post', 350 methot: 'post',
351 appStatus: false, 351 appStatus: false,
352 - // isMock: true, 352 + isMock: true,
353 // weakNetwork: true, 353 // weakNetwork: true,
354 // mockTimeOut: 10, 354 // mockTimeOut: 10,
355 //环境 355 //环境
@@ -570,9 +570,6 @@ const app = Vue.createApp({ @@ -570,9 +570,6 @@ const app = Vue.createApp({
570 if (browseCnt.value && ![ '0', 'undefined', 'null' ].includes(browseCnt.value)) { 570 if (browseCnt.value && ![ '0', 'undefined', 'null' ].includes(browseCnt.value)) {
571 hasReadCount.value = true 571 hasReadCount.value = true
572 browseStr.value = `浏览量${browseCnt.value}` 572 browseStr.value = `浏览量${browseCnt.value}`
573 - // if (document.querySelector('.browseCntStr')) {  
574 - // document.querySelector('.browseCntStr').innerHTML = `浏览量${browseCnt.value}`  
575 - // }  
576 } else { 573 } else {
577 hasReadCount.value = false 574 hasReadCount.value = false
578 } 575 }
@@ -762,6 +759,7 @@ const app = Vue.createApp({ @@ -762,6 +759,7 @@ const app = Vue.createApp({
762 // break 759 // break
763 // } 760 // }
764 // } 761 // }
  762 + console.log(state.details.newLinkObject)
765 try { 763 try {
766 sendNative( 764 sendNative(
767 'jsCall_receiveH5Data', 765 'jsCall_receiveH5Data',
@@ -1593,12 +1591,7 @@ const app = Vue.createApp({ @@ -1593,12 +1591,7 @@ const app = Vue.createApp({
1593 width: calc(${oneWidth}% - 0.5px); 1591 width: calc(${oneWidth}% - 0.5px);
1594 } 1592 }
1595 }` 1593 }`
1596 - voteAnimate.innerHTML += oneCssStr  
1597 - // setTimeout(() => voteAnimate.innerHTML += oneCssStr, 100)  
1598 - // const style = document.createElement('style')  
1599 - // style.setAttribute('type', 'text/css')  
1600 - // document.head.appendChild(style)  
1601 - // style.sheet.insertRule(oneCssStr, 0) 1594 + jqHtml(voteAnimate, { type: 'set', str: jqHtml(voteAnimate, { type: 'get' }) + oneCssStr })
1602 } 1595 }
1603 1596
1604 if (twoWidth && index === 1 && state.details.voteInfo.style == 1) { 1597 if (twoWidth && index === 1 && state.details.voteInfo.style == 1) {
@@ -1611,13 +1604,7 @@ const app = Vue.createApp({ @@ -1611,13 +1604,7 @@ const app = Vue.createApp({
1611 width: calc(${twoWidth}% - 0.5px); 1604 width: calc(${twoWidth}% - 0.5px);
1612 } 1605 }
1613 }` 1606 }`
1614 - voteAnimate.innerHTML += twoCssStr  
1615 - // setTimeout(() => voteAnimate.innerHTML += twoCssStr, 100)  
1616 - // voteAnimate.innerHTML += twoCssStr  
1617 - // const style = document.createElement('style')  
1618 - // style.setAttribute('type', 'text/css')  
1619 - // document.head.appendChild(style)  
1620 - // style.sheet.insertRule(twoCssStr, 0) 1607 + jqHtml(voteAnimate, { type: 'set', str: jqHtml(voteAnimate, { type: 'get' }) + twoCssStr })
1621 } 1608 }
1622 1609
1623 const oneStyle = { 1610 const oneStyle = {
@@ -1876,17 +1863,6 @@ const app = Vue.createApp({ @@ -1876,17 +1863,6 @@ const app = Vue.createApp({
1876 * @lastTime 2024/7/5 1863 * @lastTime 2024/7/5
1877 * @description 与App交互方法 1864 * @description 与App交互方法
1878 */ 1865 */
1879 - const toast = str => {  
1880 - try {  
1881 - //调取App弹窗通用提示  
1882 - sendNative('jsCall_showGeneralTips', {  
1883 - //1、Toast提示 2、Alert提示  
1884 - tipStyle: '1',  
1885 - // 提示字符串  
1886 - tipString: str  
1887 - })  
1888 - } catch (e) { }  
1889 - }  
1890 const setAppLogin = () => { 1866 const setAppLogin = () => {
1891 // 未登录时执行,拉起app登录 1867 // 未登录时执行,拉起app登录
1892 try { 1868 try {
@@ -1931,12 +1907,9 @@ const app = Vue.createApp({ @@ -1931,12 +1907,9 @@ const app = Vue.createApp({
1931 } 1907 }
1932 // 页面离开的时候初始化 1908 // 页面离开的时候初始化
1933 const clearData = () => { 1909 const clearData = () => {
1934 - // if (document.querySelector('.browseCntStr')) {  
1935 - // document.querySelector('.browseCntStr').innerHTML = ``  
1936 - // }  
1937 clearTimeout(pageLoadOutTime) 1910 clearTimeout(pageLoadOutTime)
1938 document.querySelector('.error-block').style.display = 'none' 1911 document.querySelector('.error-block').style.display = 'none'
1939 - document.querySelector('#newsContent').innerHTML = '' 1912 + jqHtml('#newsContent', { type: 'set', str: '' })
1940 loadingBlock(true) 1913 loadingBlock(true)
1941 document.querySelector('.skeleton-loading').classList.add('active') 1914 document.querySelector('.skeleton-loading').classList.add('active')
1942 appBlock(false) 1915 appBlock(false)
@@ -707,7 +707,7 @@ function getArticleDetails() { @@ -707,7 +707,7 @@ function getArticleDetails() {
707 </section> 707 </section>
708 <p><br></p>`, 708 <p><br></p>`,
709 newsSourceName: Mock.Random.ctitle(80, 100), 709 newsSourceName: Mock.Random.ctitle(80, 100),
710 - 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>`, 710 + // newsContent: `<p>测试下测试下测试下测试下测试下测试测700测试下测试下测试下测试下测试测你“你好呢你好呢你好呢你好呢你好呢”测试下测试测吃测试测测试测测试测测试测测试测测试测测试测试“你正在洒水的”测试测测试测测试测测试测</p>`,
711 coverImgUrl: handleRandomImage(343, 197), 711 coverImgUrl: handleRandomImage(343, 197),
712 imageUrl: handleRandomImage(50, 50), 712 imageUrl: handleRandomImage(50, 50),
713 adress: 'Cai Hairuo, Liang Jun', 713 adress: 'Cai Hairuo, Liang Jun',
@@ -48,7 +48,7 @@ class Events { @@ -48,7 +48,7 @@ class Events {
48 } 48 }
49 this.layerDom.toggleCommonLayer(this.player.template.$loading, false) 49 this.layerDom.toggleCommonLayer(this.player.template.$loading, false)
50 50
51 - this.player.template.$bottomDuration.innerHTML = `${formatDuraton(this.player.player.getDuration())}` 51 + $(this.player.template.$bottomDuration).html(`${formatDuraton(this.player.player.getDuration())}`)
52 52
53 if (hasClass(this.player.template.$container.parentNode, 'init')) { 53 if (hasClass(this.player.template.$container.parentNode, 'init')) {
54 this.player.template.$cover.querySelector('.player-state-icon').style.display = 'none' 54 this.player.template.$cover.querySelector('.player-state-icon').style.display = 'none'
@@ -45,7 +45,7 @@ class TouchInt { @@ -45,7 +45,7 @@ class TouchInt {
45 ? player.player.getDuration() : currentTime < 0 ? 0 : currentTime 45 ? player.player.getDuration() : currentTime < 0 ? 0 : currentTime
46 46
47 // 设置 player-loaded 的宽度为百分比值 47 // 设置 player-loaded 的宽度为百分比值
48 - player.template.$bottomCurrent.innerHTML = `${formatDuraton(currentTime)}` 48 + jqHtml(player.template.$bottomCurrent, { type: 'set', str: `${formatDuraton(currentTime)}` })
49 player.template.$bottomLoaded.style.width = `${percentage}%` 49 player.template.$bottomLoaded.style.width = `${percentage}%`
50 player.template.$miniProgressLoaded.style.width = `${percentage}%` 50 player.template.$miniProgressLoaded.style.width = `${percentage}%`
51 } else { 51 } else {
@@ -74,8 +74,7 @@ class TouchInt { @@ -74,8 +74,7 @@ class TouchInt {
74 74
75 player.template.$video.currentTime = currentTime > player.player.getDuration() 75 player.template.$video.currentTime = currentTime > player.player.getDuration()
76 ? player.player.getDuration() : currentTime < 0 ? 0 : currentTime 76 ? player.player.getDuration() : currentTime < 0 ? 0 : currentTime
77 -  
78 - player.template.$bottomCurrent.innerHTML = `${formatDuraton(currentTime)}` 77 + jqHtml(player.template.$bottomCurrent, { type: 'set', str: `${formatDuraton(currentTime)}` })
79 player.template.$bottomLoaded.style.width = `${width * 100}%` 78 player.template.$bottomLoaded.style.width = `${width * 100}%`
80 player.template.$miniProgressLoaded.style.width = `${width * 100}%` 79 player.template.$miniProgressLoaded.style.width = `${width * 100}%`
81 80
@@ -101,8 +100,7 @@ class TouchInt { @@ -101,8 +100,7 @@ class TouchInt {
101 ? player.player.getDuration() : currentTime < 0 ? 0 : currentTime 100 ? player.player.getDuration() : currentTime < 0 ? 0 : currentTime
102 101
103 event.layerDom.tooglePlayerBottom(false, 3000) 102 event.layerDom.tooglePlayerBottom(false, 3000)
104 -  
105 - player.template.$bottomCurrent.innerHTML = `${formatDuraton(currentTime)}` 103 + jqHtml(player.template.$bottomCurrent, { type: 'set', str: `${formatDuraton(currentTime)}` })
106 player.template.$bottomLoaded.style.width = `${percentage}%` 104 player.template.$bottomLoaded.style.width = `${percentage}%`
107 player.template.$miniProgressLoaded.style.width = `${percentage}%` 105 player.template.$miniProgressLoaded.style.width = `${percentage}%`
108 this.progressType = 'click' 106 this.progressType = 'click'
@@ -24,12 +24,12 @@ class Template { @@ -24,12 +24,12 @@ class Template {
24 } 24 }
25 25
26 init() { 26 init() {
27 - document.querySelector('#hidden').innerHTML = Template.html 27 + jqHtml('#hidden', { type: 'set', str: Template.html })
28 const childrenList = document.querySelector('#hidden').children 28 const childrenList = document.querySelector('#hidden').children
29 for (let i = 0; i < childrenList.length; i += 1) { 29 for (let i = 0; i < childrenList.length; i += 1) {
30 this.$container.append(childrenList[i].cloneNode(true)) 30 this.$container.append(childrenList[i].cloneNode(true))
31 } 31 }
32 - document.querySelector('#hidden').innerHTML = '' 32 + jqHtml('#hidden', { type: 'set', str: '' })
33 33
34 this.$video = this.query('video', this.$container) 34 this.$video = this.query('video', this.$container)
35 this.$error = this.query('.player-error', this.$container) 35 this.$error = this.query('.player-error', this.$container)
@@ -2,16 +2,96 @@ class DomUtil { @@ -2,16 +2,96 @@ class DomUtil {
2 //dom:"#newsContent" 2 //dom:"#newsContent"
3 constructor(dom) { 3 constructor(dom) {
4 this.dom = dom 4 this.dom = dom
  5 + this.regxList = [ '“', "‘", '"', "'" ]
5 } 6 }
6 7
7 $dom(dom, all) { 8 $dom(dom, all) {
8 - return document[all ? 'querySelectorAll' : 'querySelector'](  
9 - dom || this.dom  
10 - ) 9 + return document[all ? 'querySelectorAll' : 'querySelector'](dom || this.dom)
11 } 10 }
12 11
13 clearHtml() { 12 clearHtml() {
14 - document.querySelector('.gx-mobile #newsContent').innerHTML = '' 13 + jqHtml('.gx-mobile #newsContent', { type: 'set', str: '' })
  14 + }
  15 +
  16 + wrapNumbersInTags(html, regx) {
  17 + const container = document.createElement('div')
  18 + jqHtml(container, { type: 'set', str: html })
  19 +
  20 + const textNodes = []
  21 + // Function to recursively find all text nodes
  22 + function getTextNodes(node) {
  23 + if (node.nodeType === Node.TEXT_NODE) {
  24 + textNodes.push(node)
  25 + } else {
  26 + node.childNodes.forEach(child => getTextNodes(child))
  27 + }
  28 + }
  29 +
  30 + getTextNodes(container)
  31 +
  32 + textNodes.forEach(textNode => {
  33 + this.wrapNumbersInTextNode(textNode, regx)
  34 + })
  35 +
  36 + return jqHtml(container, { type: 'get' })
  37 + }
  38 +
  39 + wrapNumbersInTextNode(textNode, regx) {
  40 + // 获取当前的文本内容
  41 + const textContent = textNode.nodeValue
  42 + // 正则表达式匹配所有数字
  43 + let numberPattern
  44 +
  45 + switch (regx) {
  46 + case 'd':
  47 + numberPattern = /\d+/g
  48 + break
  49 + case '“':
  50 + numberPattern = /“([^]+)”/g
  51 + break
  52 + case '‘':
  53 + numberPattern = /‘([^]+)’/g
  54 + break
  55 + case '"':
  56 + numberPattern = /"([^"]+)"/g
  57 + break
  58 + case "'":
  59 + numberPattern = /'([^']+)'/g
  60 + break
  61 + }
  62 +
  63 + // 创建 DocumentFragment 来替换文本节点
  64 + const fragment = document.createDocumentFragment()
  65 +
  66 + // 使用正则表达式分割文本并找到所有数字
  67 + let lastIndex = 0
  68 + let match
  69 +
  70 + while ((match = numberPattern.exec(textContent)) !== null) {
  71 + // 在找到的数字之前的文本
  72 + const beforeText = textContent.slice(lastIndex, match.index)
  73 + if (beforeText) {
  74 + fragment.appendChild(document.createTextNode(beforeText))
  75 + }
  76 +
  77 + // 创建包含所需数字的 span 元素
  78 + const span = document.createElement('span')
  79 + span.className = 'special-no-wrap'
  80 + span.textContent = match[0]
  81 + fragment.appendChild(span)
  82 +
  83 + // 更新 lastIndex 以继续查找剩余文本中的数字
  84 + lastIndex = match.index + match[0].length
  85 + }
  86 +
  87 + // 添加剩余的文本内容
  88 + const afterText = textContent.slice(lastIndex)
  89 + if (afterText) {
  90 + fragment.appendChild(document.createTextNode(afterText))
  91 + }
  92 +
  93 + // 用 fragment 替换原来的文本节点
  94 + textNode.parentNode.replaceChild(fragment, textNode)
15 } 95 }
16 96
17 handleArticleStr(str, nextCallback, details, netstutas, loadlmageOnlyWifiSwitch) { 97 handleArticleStr(str, nextCallback, details, netstutas, loadlmageOnlyWifiSwitch) {
@@ -26,7 +106,7 @@ class DomUtil { @@ -26,7 +106,7 @@ class DomUtil {
26 } 106 }
27 107
28 const contentWidth = document.querySelector('body').getBoundingClientRect().width - padding * 2 108 const contentWidth = document.querySelector('body').getBoundingClientRect().width - padding * 2
29 - document.querySelector('#newsContent').innerHTML = str 109 + jqHtml('#newsContent', { type: 'set', str })
30 110
31 const audioOringin = document.querySelectorAll('#newsContent audio') 111 const audioOringin = document.querySelectorAll('#newsContent audio')
32 for (let i = 0; i < audioOringin.length; i++) { 112 for (let i = 0; i < audioOringin.length; i++) {
@@ -148,12 +228,29 @@ class DomUtil { @@ -148,12 +228,29 @@ class DomUtil {
148 let title = '' 228 let title = ''
149 let bgHex = '' 229 let bgHex = ''
150 let borderColor = '' 230 let borderColor = ''
  231 + let styleString = ''
  232 + let contentStyle = {}
151 const el = document.createElement('div') 233 const el = document.createElement('div')
152 el.classList.add('en-text-1') 234 el.classList.add('en-text-1')
153 const borderEl = text1Dom[i].querySelector('div#border') 235 const borderEl = text1Dom[i].querySelector('div#border')
154 const titleEl = text1Dom[i].querySelector('p#content') 236 const titleEl = text1Dom[i].querySelector('p#content')
155 if (titleEl) { 237 if (titleEl) {
156 - title = titleEl.textContent 238 + title = jqHtml(titleEl, { type: 'get' })
  239 + const inlineStyles = titleEl.style
  240 + for (let i = 0; i < inlineStyles.length; i++) {
  241 + const property = inlineStyles[i]
  242 +
  243 + // 你可以选择性地过滤或直接复制所有内联样式
  244 + if (!property.startsWith('padding') && !property.includes('margin') && !property.includes('width') && !property.includes(
  245 + 'height') && property !== 'line-height' && property !== 'font-size' && property !== 'font-family') {
  246 + contentStyle[property] = inlineStyles.getPropertyValue(property)
  247 + }
  248 + }
  249 + for (const property in contentStyle) {
  250 + if (contentStyle.hasOwnProperty(property)) {
  251 + styleString += `${property}: ${contentStyle[property]}; `
  252 + }
  253 + }
157 } 254 }
158 255
159 if (borderEl) { 256 if (borderEl) {
@@ -162,7 +259,10 @@ class DomUtil { @@ -162,7 +259,10 @@ class DomUtil {
162 } 259 }
163 el.style.borderLeftColor = borderColor 260 el.style.borderLeftColor = borderColor
164 el.style.backgroundColor = bgHex 261 el.style.backgroundColor = bgHex
165 - 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>` 262 + jqHtml(el, {
  263 + type: 'set',
  264 + 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>`
  265 + })
166 text1Dom[i].before(el) 266 text1Dom[i].before(el)
167 text1Dom[i].remove() 267 text1Dom[i].remove()
168 } 268 }
@@ -171,19 +271,36 @@ class DomUtil { @@ -171,19 +271,36 @@ class DomUtil {
171 for (let i = 0; i < text2Dom.length; i++) { 271 for (let i = 0; i < text2Dom.length; i++) {
172 let title = '' 272 let title = ''
173 let borderColor = '' 273 let borderColor = ''
  274 + let styleString = ''
  275 + let contentStyle = {}
174 const el = document.createElement('div') 276 const el = document.createElement('div')
175 el.classList.add('en-text-2') 277 el.classList.add('en-text-2')
176 const borderEl = text2Dom[i].querySelector('div#border') 278 const borderEl = text2Dom[i].querySelector('div#border')
177 const titleEl = text2Dom[i].querySelector('div#content') 279 const titleEl = text2Dom[i].querySelector('div#content')
178 if (titleEl) { 280 if (titleEl) {
179 - title = titleEl.textContent 281 + title = jqHtml(titleEl, { type: 'get' })
  282 + const inlineStyles = titleEl.style
  283 + for (let i = 0; i < inlineStyles.length; i++) {
  284 + const property = inlineStyles[i]
  285 +
  286 + // 你可以选择性地过滤或直接复制所有内联样式
  287 + if (!property.startsWith('padding') && !property.includes('margin') && !property.includes('width') && !property.includes(
  288 + 'height') && property !== 'line-height' && property !== 'font-size' && property !== 'font-family') {
  289 + contentStyle[property] = inlineStyles.getPropertyValue(property)
  290 + }
  291 + }
  292 + for (const property in contentStyle) {
  293 + if (contentStyle.hasOwnProperty(property)) {
  294 + styleString += `${property}: ${contentStyle[property]}; `
  295 + }
  296 + }
180 } 297 }
181 298
182 if (borderEl) { 299 if (borderEl) {
183 borderColor = borderEl.style.borderColor 300 borderColor = borderEl.style.borderColor
184 } 301 }
185 el.style.borderColor = borderColor 302 el.style.borderColor = borderColor
186 - el.innerHTML = `<div class="en-text-2-title" style="border-color: ${borderColor}">${title}</div>` 303 + jqHtml(el, { type: 'set', str: `<div class="en-text-2-title" style="${styleString}">${title}</div>` })
187 text2Dom[i].before(el) 304 text2Dom[i].before(el)
188 text2Dom[i].remove() 305 text2Dom[i].remove()
189 } 306 }
@@ -192,16 +309,33 @@ class DomUtil { @@ -192,16 +309,33 @@ class DomUtil {
192 for (let i = 0; i < text3Dom.length; i++) { 309 for (let i = 0; i < text3Dom.length; i++) {
193 let title = '' 310 let title = ''
194 let content = '' 311 let content = ''
195 - let titleColor = ''  
196 let borderColor = '' 312 let borderColor = ''
  313 + let styleString = ''
  314 + let titleStyleStr = ''
  315 + let titleStyle = {}
  316 + let contentStyle = {}
197 const el = document.createElement('div') 317 const el = document.createElement('div')
198 el.classList.add('en-text-3') 318 el.classList.add('en-text-3')
199 const borderEl = text3Dom[i].querySelector('div#border') 319 const borderEl = text3Dom[i].querySelector('div#border')
200 const titleEl = text3Dom[i].querySelector('span#title') 320 const titleEl = text3Dom[i].querySelector('span#title')
201 const contentEl = text3Dom[i].querySelector('p#content') 321 const contentEl = text3Dom[i].querySelector('p#content')
202 if (titleEl) { 322 if (titleEl) {
203 - titleColor = titleEl.style.color  
204 - title = titleEl.textContent 323 + title = jqHtml(titleEl, { type: 'get' })
  324 + const inlineStyles = titleEl.style
  325 + for (let i = 0; i < inlineStyles.length; i++) {
  326 + const property = inlineStyles[i]
  327 +
  328 + // 你可以选择性地过滤或直接复制所有内联样式
  329 + if (!property.startsWith('padding') && !property.includes('margin') && !property.includes('width') && !property.includes(
  330 + 'height') && property !== 'line-height' && property !== 'font-size' && property !== 'font-family') {
  331 + titleStyle[property] = inlineStyles.getPropertyValue(property)
  332 + }
  333 + }
  334 + for (const property in titleStyle) {
  335 + if (titleStyle.hasOwnProperty(property)) {
  336 + titleStyleStr += `${property}: ${titleStyle[property]}; `
  337 + }
  338 + }
205 } 339 }
206 340
207 if (borderEl) { 341 if (borderEl) {
@@ -209,11 +343,29 @@ class DomUtil { @@ -209,11 +343,29 @@ class DomUtil {
209 } 343 }
210 344
211 if (contentEl) { 345 if (contentEl) {
212 - content = contentEl.textContent 346 + content = jqHtml(contentEl, { type: 'get' })
  347 + const inlineStyles = contentEl.style
  348 + for (let i = 0; i < inlineStyles.length; i++) {
  349 + const property = inlineStyles[i]
  350 +
  351 + // 你可以选择性地过滤或直接复制所有内联样式
  352 + if (!property.startsWith('padding') && !property.includes('margin') && !property.includes('width') && !property.includes(
  353 + 'height') && property !== 'line-height' && property !== 'font-size' && property !== 'font-family') {
  354 + contentStyle[property] = inlineStyles.getPropertyValue(property)
  355 + }
  356 + }
  357 + for (const property in contentStyle) {
  358 + if (contentStyle.hasOwnProperty(property)) {
  359 + styleString += `${property}: ${contentStyle[property]}; `
  360 + }
  361 + }
213 } 362 }
214 363
215 el.style.borderColor = borderColor 364 el.style.borderColor = borderColor
216 - 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>` 365 + jqHtml(el, {
  366 + type: 'set',
  367 + 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>`
  368 + })
217 text3Dom[i].before(el) 369 text3Dom[i].before(el)
218 text3Dom[i].remove() 370 text3Dom[i].remove()
219 } 371 }
@@ -222,20 +374,38 @@ class DomUtil { @@ -222,20 +374,38 @@ class DomUtil {
222 for (let i = 0; i < text4Dom.length; i++) { 374 for (let i = 0; i < text4Dom.length; i++) {
223 let title = '' 375 let title = ''
224 let bgHex = '' 376 let bgHex = ''
225 - let titleColor = '' 377 + let styleString = ''
  378 + let contentStyle = {}
226 const el = document.createElement('div') 379 const el = document.createElement('div')
227 el.classList.add('en-text-4') 380 el.classList.add('en-text-4')
228 const borderEl = text4Dom[i].querySelector('div#border') 381 const borderEl = text4Dom[i].querySelector('div#border')
229 const titleEl = text4Dom[i].querySelector('h4#title') 382 const titleEl = text4Dom[i].querySelector('h4#title')
230 if (titleEl) { 383 if (titleEl) {
231 - title = titleEl.textContent  
232 - titleColor = titleEl.style.color 384 + title = jqHtml(titleEl, { type: 'get' })
  385 + const inlineStyles = titleEl.style
  386 + for (let i = 0; i < inlineStyles.length; i++) {
  387 + const property = inlineStyles[i]
  388 +
  389 + // 你可以选择性地过滤或直接复制所有内联样式
  390 + if (!property.startsWith('padding') && !property.includes('margin') && !property.includes('width') && !property.includes(
  391 + 'height') && property !== 'line-height' && property !== 'font-size' && property !== 'font-family') {
  392 + contentStyle[property] = inlineStyles.getPropertyValue(property)
  393 + }
  394 + }
  395 + for (const property in contentStyle) {
  396 + if (contentStyle.hasOwnProperty(property)) {
  397 + styleString += `${property}: ${contentStyle[property]}; `
  398 + }
  399 + }
233 } 400 }
234 401
235 if (borderEl) { 402 if (borderEl) {
236 bgHex = borderEl.style.backgroundColor 403 bgHex = borderEl.style.backgroundColor
237 } 404 }
238 - 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>` 405 + jqHtml(el, {
  406 + type: 'set',
  407 + 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>`
  408 + })
239 text4Dom[i].before(el) 409 text4Dom[i].before(el)
240 text4Dom[i].remove() 410 text4Dom[i].remove()
241 } 411 }
@@ -244,10 +414,11 @@ class DomUtil { @@ -244,10 +414,11 @@ class DomUtil {
244 for (let i = 0; i < text5Dom.length; i++) { 414 for (let i = 0; i < text5Dom.length; i++) {
245 let title = '' 415 let title = ''
246 let titleBg = '' 416 let titleBg = ''
247 - let titleColor = ''  
248 let num = '' 417 let num = ''
249 let numBg = '' 418 let numBg = ''
250 let numColor = '' 419 let numColor = ''
  420 + let styleString = ''
  421 + let contentStyle = {}
251 const el = document.createElement('div') 422 const el = document.createElement('div')
252 el.classList.add('en-text-5') 423 el.classList.add('en-text-5')
253 const borderEl = text5Dom[i].querySelector('div#border') 424 const borderEl = text5Dom[i].querySelector('div#border')
@@ -259,14 +430,31 @@ class DomUtil { @@ -259,14 +430,31 @@ class DomUtil {
259 } 430 }
260 const titleEl = text5Dom[i].querySelector('h4#title') 431 const titleEl = text5Dom[i].querySelector('h4#title')
261 if (titleEl) { 432 if (titleEl) {
262 - title = titleEl.textContent  
263 - titleColor = titleEl.style.color 433 + title = jqHtml(titleEl, { type: 'get' })
  434 + const inlineStyles = titleEl.style
  435 + for (let i = 0; i < inlineStyles.length; i++) {
  436 + const property = inlineStyles[i]
  437 +
  438 + // 你可以选择性地过滤或直接复制所有内联样式
  439 + if (!property.startsWith('padding') && !property.includes('margin') && !property.includes('width') && !property.includes(
  440 + 'height') && property !== 'line-height' && property !== 'font-size' && property !== 'font-family') {
  441 + contentStyle[property] = inlineStyles.getPropertyValue(property)
  442 + }
  443 + }
  444 + for (const property in contentStyle) {
  445 + if (contentStyle.hasOwnProperty(property)) {
  446 + styleString += `${property}: ${contentStyle[property]}; `
  447 + }
  448 + }
264 } 449 }
265 450
266 if (borderEl) { 451 if (borderEl) {
267 titleBg = borderEl.style.backgroundColor 452 titleBg = borderEl.style.backgroundColor
268 } 453 }
269 - 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>` 454 + jqHtml(el, {
  455 + type: 'set',
  456 + 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>`
  457 + })
270 text5Dom[i].before(el) 458 text5Dom[i].before(el)
271 text5Dom[i].remove() 459 text5Dom[i].remove()
272 } 460 }
@@ -280,9 +468,11 @@ class DomUtil { @@ -280,9 +468,11 @@ class DomUtil {
280 if (titleEl) { 468 if (titleEl) {
281 title = titleEl.textContent 469 title = titleEl.textContent
282 } 470 }
283 - const tableHtml = tableDom[i].querySelector('table').innerHTML 471 + const tableHtml = jqHtml(tableDom[i].querySelector('table'), { type: 'get' })
284 const tableStyle = tableDom[i].querySelector('table').getAttribute('style') 472 const tableStyle = tableDom[i].querySelector('table').getAttribute('style')
285 - el.innerHTML = `<div class="en-table-title ">${title}</div><table style="${tableStyle}">${tableHtml}</table>` 473 + jqHtml(el, {
  474 + type: 'set', str: `<div class="en-table-title ">${title}</div><table style="${tableStyle}">${tableHtml}</table>`
  475 + })
286 tableDom[i].before(el) 476 tableDom[i].before(el)
287 tableDom[i].remove() 477 tableDom[i].remove()
288 } 478 }
@@ -303,7 +493,10 @@ class DomUtil { @@ -303,7 +493,10 @@ class DomUtil {
303 if (imgEl) { 493 if (imgEl) {
304 imgSrc = imgEl.getAttribute('src') || imgEl.getAttribute('data-src') 494 imgSrc = imgEl.getAttribute('src') || imgEl.getAttribute('data-src')
305 } 495 }
306 - 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>` 496 + jqHtml(el, {
  497 + type: 'set',
  498 + 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>`
  499 + })
307 swiperText[i].before(el) 500 swiperText[i].before(el)
308 swiperText[i].remove() 501 swiperText[i].remove()
309 } 502 }
@@ -448,16 +641,13 @@ class DomUtil { @@ -448,16 +641,13 @@ class DomUtil {
448 html += `<div class="swiper-slide"><img data-src="${el}" class="not-preview-image local-image" src="${el}" alt=""></div>` 641 html += `<div class="swiper-slide"><img data-src="${el}" class="not-preview-image local-image" src="${el}" alt=""></div>`
449 }) 642 })
450 643
451 - el.innerHTML = html + `</div><div class="swiper-pagination"></div>` 644 + jqHtml(el, { type: 'set', str: html + `</div><div class="swiper-pagination"></div>` })
452 645
453 swiperDom[i].before(el) 646 swiperDom[i].before(el)
454 swiperDom[i].remove() 647 swiperDom[i].remove()
455 648
456 nextCallback(3, { 649 nextCallback(3, {
457 - id: `#${id}`,  
458 - isLoop,  
459 - length: urlList.length,  
460 - time: parseInt(time) 650 + id: `#${id}`, isLoop, length: urlList.length, time: parseInt(time)
461 }) 651 })
462 } 652 }
463 653
@@ -493,16 +683,13 @@ class DomUtil { @@ -493,16 +683,13 @@ class DomUtil {
493 html += `<div class="swiper-slide"><img data-src="${el}" class="not-preview-image local-image" src="${el}" alt=""></div>` 683 html += `<div class="swiper-slide"><img data-src="${el}" class="not-preview-image local-image" src="${el}" alt=""></div>`
494 }) 684 })
495 685
496 - el.innerHTML = html + `</div><div class="swiper-pagination"></div>` 686 + jqHtml(el, { type: 'set', str: html + `</div><div class="swiper-pagination"></div>` })
497 687
498 swiper2Dom[i].before(el) 688 swiper2Dom[i].before(el)
499 swiper2Dom[i].remove() 689 swiper2Dom[i].remove()
500 690
501 nextCallback(4, { 691 nextCallback(4, {
502 - id: `#${id}`,  
503 - isLoop,  
504 - length: urlList.length,  
505 - time: parseInt(time) 692 + id: `#${id}`, isLoop, length: urlList.length, time: parseInt(time)
506 }) 693 })
507 } 694 }
508 695
@@ -537,9 +724,15 @@ class DomUtil { @@ -537,9 +724,15 @@ class DomUtil {
537 linkIcon = `icon_Y_lianjie` 724 linkIcon = `icon_Y_lianjie`
538 } 725 }
539 if (imageUrl) { 726 if (imageUrl) {
540 - 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>` 727 + jqHtml(el, {
  728 + type: 'set',
  729 + 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>`
  730 + })
541 } else { 731 } else {
542 - 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>` 732 + jqHtml(el, {
  733 + type: 'set',
  734 + 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>`
  735 + })
543 } 736 }
544 737
545 linkCardDom[i].before(el) 738 linkCardDom[i].before(el)
@@ -603,15 +796,21 @@ class DomUtil { @@ -603,15 +796,21 @@ class DomUtil {
603 } 796 }
604 const noCoverTitle = `<div class="audio-title "><div class="audio-notice-title">${title}</div></div>` 797 const noCoverTitle = `<div class="audio-title "><div class="audio-notice-title">${title}</div></div>`
605 if (cover) { 798 if (cover) {
606 - 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>` 799 + jqHtml(el, {
  800 + type: 'set',
  801 + 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>`
  802 + })
607 } else { 803 } else {
608 - 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  
609 - ? '0'  
610 - : `${11 / 37.5}rem`}">${title  
611 - ? noCoverTitle  
612 - : ''}<div class="audio-progress-block"><div class="audio-progressed"></div></div><div class="audio-time" style="margin-top: ${title  
613 - ? `${4 / 37.5}rem`  
614 - : `${8 / 37.5}rem`}"><span class="audio-current droidSerif">00:00</span><span class="audio-durtion droidSerif">00:00</span></div></div>` 804 + jqHtml(el, {
  805 + type: 'set',
  806 + 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
  807 + ? '0'
  808 + : `${11 / 37.5}rem`}">${title
  809 + ? noCoverTitle
  810 + : ''}<div class="audio-progress-block"><div class="audio-progressed"></div></div><div class="audio-time" style="margin-top: ${title
  811 + ? `${4 / 37.5}rem`
  812 + : `${8 / 37.5}rem`}"><span class="audio-current droidSerif">00:00</span><span class="audio-durtion droidSerif">00:00</span></div></div>`
  813 + })
615 } 814 }
616 815
617 if (audioSrc) { 816 if (audioSrc) {
@@ -654,13 +853,10 @@ class DomUtil { @@ -654,13 +853,10 @@ class DomUtil {
654 const imageSrc = isDark ? './image/placeHoldVlogo.svg' : './image/placeholdLogo.svg' 853 const imageSrc = isDark ? './image/placeHoldVlogo.svg' : './image/placeholdLogo.svg'
655 const errorSrc = isDark ? './image/errorDark.svg' : './image/error.svg' 854 const errorSrc = isDark ? './image/errorDark.svg' : './image/error.svg'
656 let className = src ? netstutas == 1 || loadlmageOnlyWifiSwitch == '2' 855 let className = src ? netstutas == 1 || loadlmageOnlyWifiSwitch == '2'
657 - ? 'preview-image-block loading'  
658 - : networkStatus.includes(Number(netstutas))  
659 - ? `preview-image-block loading no-network`  
660 - : netstutas === 0  
661 - ? 'preview-image-block loading error'  
662 - : 'preview-image-block loading no-network'  
663 - : 'preview-image-block loading error' 856 + ? 'preview-image-block loading'
  857 + : networkStatus.includes(Number(netstutas)) ? `preview-image-block loading no-network` : netstutas === 0
  858 + ? 'preview-image-block loading error'
  859 + : 'preview-image-block loading no-network' : 'preview-image-block loading error'
664 let linkIocnHtml = '' 860 let linkIocnHtml = ''
665 if (isLink) { 861 if (isLink) {
666 className = className + ' link-image' 862 className = className + ' link-image'
@@ -696,7 +892,10 @@ class DomUtil { @@ -696,7 +892,10 @@ class DomUtil {
696 el.setAttribute('status', 'loading') 892 el.setAttribute('status', 'loading')
697 el.style.height = width && height ? overMaxWidth ? `${parentWidth * height / width}px` : `${height}px` : '' 893 el.style.height = width && height ? overMaxWidth ? `${parentWidth * height / width}px` : `${height}px` : ''
698 if (!height) el.classList.add('minHeight') 894 if (!height) el.classList.add('minHeight')
699 - 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}` 895 + jqHtml(el, {
  896 + type: 'set',
  897 + 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}`
  898 + })
700 899
701 try { 900 try {
702 if (parentNode && parentNode.tagName == 'A') { 901 if (parentNode && parentNode.tagName == 'A') {
@@ -766,18 +965,12 @@ class DomUtil { @@ -766,18 +965,12 @@ class DomUtil {
766 if (!src) break 965 if (!src) break
767 if (videoEl && videoEl.style.display === 'none') break 966 if (videoEl && videoEl.style.display === 'none') break
768 if (videoDomList[i].getAttribute('style')) { 967 if (videoDomList[i].getAttribute('style')) {
769 - const style = videoDomList[i]  
770 - ? videoDomList[i].getAttribute('style').split(';')  
771 - : [] 968 + const style = videoDomList[i] ? videoDomList[i].getAttribute('style').split(';') : []
772 style.forEach(el => { 969 style.forEach(el => {
773 if (el.includes('width') && !el.includes('max')) { 970 if (el.includes('width') && !el.includes('max')) {
774 - width = el.includes('width: ')  
775 - ? el.split('width: ')[1]  
776 - : el.split('width:')[1] 971 + width = el.includes('width: ') ? el.split('width: ')[1] : el.split('width:')[1]
777 } else if (el.includes('height') && !el.includes('max')) { 972 } else if (el.includes('height') && !el.includes('max')) {
778 - height = el.includes('height: ')  
779 - ? el.split('height: ')[1]  
780 - : el.split('height:')[1] 973 + height = el.includes('height: ') ? el.split('height: ')[1] : el.split('height:')[1]
781 } 974 }
782 }) 975 })
783 } 976 }
@@ -810,8 +1003,10 @@ class DomUtil { @@ -810,8 +1003,10 @@ class DomUtil {
810 1003
811 const el = document.createElement('div') 1004 const el = document.createElement('div')
812 el.setAttribute('class', 'preview-video init') 1005 el.setAttribute('class', 'preview-video init')
813 - el.innerHTML = `<div id="video-player-${i}" class="video-player video-player-${i}" style="height: ${styleHeight}px" data-height="${height || '0'  
814 - }" data-width="${width || '0'}" data-id="${id}"></div>` 1006 + jqHtml(el, {
  1007 + type: 'set',
  1008 + 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>`
  1009 + })
815 1010
816 const sibling = videoDomList[i].nextElementSibling || videoDomList[i].previousElementSibling 1011 const sibling = videoDomList[i].nextElementSibling || videoDomList[i].previousElementSibling
817 if (parentNode) { 1012 if (parentNode) {
@@ -844,8 +1039,7 @@ class DomUtil { @@ -844,8 +1039,7 @@ class DomUtil {
844 aEl[i].style.textDecoration = 'underline' 1039 aEl[i].style.textDecoration = 'underline'
845 } 1040 }
846 1041
847 - const olstyleEl = document.querySelectorAll(  
848 - '#newsContent [style*="list-style-type: decimal"] li') 1042 + const olstyleEl = document.querySelectorAll('#newsContent [style*="list-style-type: decimal"] li')
849 for (let i = 0; i < olstyleEl.length; i++) { 1043 for (let i = 0; i < olstyleEl.length; i++) {
850 olstyleEl[i].style.marginLeft = `${21 / 37.5}rem` 1044 olstyleEl[i].style.marginLeft = `${21 / 37.5}rem`
851 } 1045 }
@@ -886,7 +1080,8 @@ class DomUtil { @@ -886,7 +1080,8 @@ class DomUtil {
886 } 1080 }
887 1081
888 const lastEle = document.querySelector('#newsContent') 1082 const lastEle = document.querySelector('#newsContent')
889 - ? document.querySelector('#newsContent').lastElementChild : null 1083 + ? document.querySelector('#newsContent').lastElementChild
  1084 + : null
890 1085
891 if (lastEle && lastEle.lastChild && lastEle.lastChild.classList && lastEle.lastChild.classList.contains( 1086 if (lastEle && lastEle.lastChild && lastEle.lastChild.classList && lastEle.lastChild.classList.contains(
892 'preview-image-block')) { 1087 'preview-image-block')) {
@@ -904,5 +1099,8 @@ class DomUtil { @@ -904,5 +1099,8 @@ class DomUtil {
904 lastEle.style.setProperty('margin-bottom', '0', 'important') 1099 lastEle.style.setProperty('margin-bottom', '0', 'important')
905 } 1100 }
906 } 1101 }
  1102 +
  1103 + let html = jqHtml(document.querySelector('#newsContent'), { type: 'get' })
  1104 + jqHtml(document.querySelector('#newsContent'), { type: 'set', str: html })
907 } 1105 }
908 } 1106 }
@@ -24,11 +24,11 @@ function shallowMerge(target, ...sources) { @@ -24,11 +24,11 @@ function shallowMerge(target, ...sources) {
24 sources.forEach(source => { 24 sources.forEach(source => {
25 for (let key in source) { 25 for (let key in source) {
26 if (source.hasOwnProperty(key)) { 26 if (source.hasOwnProperty(key)) {
27 - newTarget[key] = source[key]; 27 + newTarget[key] = source[key]
28 } 28 }
29 } 29 }
30 - });  
31 - return newTarget; 30 + })
  31 + return newTarget
32 } 32 }
33 33
34 /** 34 /**
@@ -483,7 +483,7 @@ function channelExposure({ @@ -483,7 +483,7 @@ function channelExposure({
483 summary_type, 483 summary_type,
484 summary_id, 484 summary_id,
485 content_show_channel_id: channelId, 485 content_show_channel_id: channelId,
486 - level2channel_id: secondId, 486 + level2channel_id: secondId
487 }, traceOptions) 487 }, traceOptions)
488 } 488 }
489 ) 489 )
@@ -556,7 +556,7 @@ function contentClick({ @@ -556,7 +556,7 @@ function contentClick({
556 summary_type, 556 summary_type,
557 summary_id, 557 summary_id,
558 content_show_channel_id: channelId, 558 content_show_channel_id: channelId,
559 - level2channel_id: secondId, 559 + level2channel_id: secondId
560 }, traceOptions) 560 }, traceOptions)
561 } 561 }
562 ) 562 )
@@ -630,7 +630,7 @@ function contentListExposure({ @@ -630,7 +630,7 @@ function contentListExposure({
630 summary_type, 630 summary_type,
631 summary_id, 631 summary_id,
632 content_show_channel_id: channelId, 632 content_show_channel_id: channelId,
633 - level2channel_id: secondId, 633 + level2channel_id: secondId
634 }, traceOptions) 634 }, traceOptions)
635 } 635 }
636 ) 636 )
@@ -735,7 +735,7 @@ function playeErrorPoint({ @@ -735,7 +735,7 @@ function playeErrorPoint({
735 summary_type, 735 summary_type,
736 summary_id, 736 summary_id,
737 content_show_channel_id: channelId, 737 content_show_channel_id: channelId,
738 - level2channel_id: secondId, 738 + level2channel_id: secondId
739 }, traceOptions) 739 }, traceOptions)
740 } 740 }
741 ) 741 )
@@ -810,7 +810,7 @@ function playVideoErrorPoint({ @@ -810,7 +810,7 @@ function playVideoErrorPoint({
810 summary_type, 810 summary_type,
811 summary_id, 811 summary_id,
812 content_show_channel_id: channelId, 812 content_show_channel_id: channelId,
813 - level2channel_id: secondId, 813 + level2channel_id: secondId
814 }, traceOptions) 814 }, traceOptions)
815 } 815 }
816 ) 816 )
@@ -818,21 +818,21 @@ function playVideoErrorPoint({ @@ -818,21 +818,21 @@ function playVideoErrorPoint({
818 } 818 }
819 819
820 function customConcat() { 820 function customConcat() {
821 - const result = []; 821 + const result = []
822 822
823 for (let i = 0; i < arguments.length; i++) { 823 for (let i = 0; i < arguments.length; i++) {
824 - const currentElement = arguments[i]; 824 + const currentElement = arguments[i]
825 825
826 if (Array.isArray(currentElement)) { 826 if (Array.isArray(currentElement)) {
827 for (let j = 0; j < currentElement.length; j++) { 827 for (let j = 0; j < currentElement.length; j++) {
828 - result.push(currentElement[j]); 828 + result.push(currentElement[j])
829 } 829 }
830 } else { 830 } else {
831 - result.push(currentElement); 831 + result.push(currentElement)
832 } 832 }
833 } 833 }
834 834
835 - return result; 835 + return result
836 } 836 }
837 837
838 function shareClickPoint({ 838 function shareClickPoint({
@@ -886,7 +886,7 @@ function shareClickPoint({ @@ -886,7 +886,7 @@ function shareClickPoint({
886 content_type: Number(newsType), 886 content_type: Number(newsType),
887 author_name, 887 author_name,
888 content_show_channel_id: channelId, 888 content_show_channel_id: channelId,
889 - level2channel_id: secondId, 889 + level2channel_id: secondId
890 }, traceOptions) 890 }, traceOptions)
891 } 891 }
892 ) 892 )
@@ -946,7 +946,7 @@ function shareTypePoint({ @@ -946,7 +946,7 @@ function shareTypePoint({
946 content_type: Number(newsType), 946 content_type: Number(newsType),
947 author_name, 947 author_name,
948 content_show_channel_id: channelId, 948 content_show_channel_id: channelId,
949 - level2channel_id: secondId, 949 + level2channel_id: secondId
950 }, traceOptions) 950 }, traceOptions)
951 } 951 }
952 ) 952 )
@@ -1008,7 +1008,7 @@ function followTypePoint({ @@ -1008,7 +1008,7 @@ function followTypePoint({
1008 contentName: newsTitle, 1008 contentName: newsTitle,
1009 contentType: newsType, 1009 contentType: newsType,
1010 channelSourceId: channelId, 1010 channelSourceId: channelId,
1011 - contentShowChannelId: channelId, 1011 + contentShowChannelId: channelId
1012 }, traceOptions, useInfos) 1012 }, traceOptions, useInfos)
1013 } 1013 }
1014 ) 1014 )
@@ -1373,12 +1373,129 @@ function jumpAppInnerFun(record, url) { @@ -1373,12 +1373,129 @@ function jumpAppInnerFun(record, url) {
1373 } 1373 }
1374 ) 1374 )
1375 } else if (record.contentType == 8) { 1375 } else if (record.contentType == 8) {
1376 - sendNative(  
1377 - 'jsCall_appInnerLinkMethod',  
1378 - {  
1379 - appInnerLink: `rmrbapp://rmrb.app/openwith?type=article&subType=h5_template_article&contentId=${record.contentId}&relId=${record.relId}&skipType=1`  
1380 - }  
1381 - ) 1376 + try {
  1377 + sendNative('jsCall_currentPageOperate', {
  1378 + operateType: '47'
  1379 + }, () => {})
  1380 + } catch (e) {}
  1381 + if (window.config.VUE_BASE_NODE === 'dev') {
  1382 + axiosRequest({
  1383 + url: '/content/zh/c/content/detail',
  1384 + methot: 'post',
  1385 + appStatus: false,
  1386 + // isMock: true,
  1387 + // weakNetwork: true,
  1388 + // mockTimeOut: 10,
  1389 + //环境
  1390 + environment: window.config.VUE_BASE_HEADER.environment,
  1391 + //接口前缀
  1392 + prefix: '/api/rmrb-bff-display-zh',
  1393 + //给接口传的数据
  1394 + data: {
  1395 + contents: [
  1396 + {
  1397 + //内容id
  1398 + contentId: record.contentId,
  1399 + relId: record.relId
  1400 + }
  1401 + ]
  1402 + },
  1403 + //请求头信息
  1404 + headers: shallowMerge({
  1405 + system: judgTerminal() === 1 ? 'Android' : 'ios'
  1406 + }, window.config.VUE_BASE_HEADER)
  1407 + }).then(response => {
  1408 + if (response.success) {
  1409 + if (response.data) {
  1410 + const details = response.data.length > 0 ? response.data[0] : {}
  1411 + const newsLinkUrl = details.newsLinkUrl
  1412 + console.log(details)
  1413 + if (newsLinkUrl) {
  1414 + window.open(newsLinkUrl)
  1415 + }
  1416 + } else {
  1417 + toast('网络出小差了,请检查网络后重试')
  1418 + }
  1419 + } else {
  1420 + toast('网络出小差了,请检查网络后重试')
  1421 + }
  1422 + })
  1423 + } else {
  1424 + try {
  1425 + sendNative(
  1426 + 'jsCall_callAppService',
  1427 + {
  1428 + method: 'post',
  1429 + url: '/api/rmrb-bff-display-zh/content/zh/c/content/detail',
  1430 + parameters: {
  1431 + contents: [
  1432 + {
  1433 + //内容id
  1434 + contentId: record.contentId,
  1435 + relId: record.relId
  1436 + }
  1437 + ]
  1438 + }
  1439 + },
  1440 + (res) => {
  1441 + try {
  1442 + const refResponse =
  1443 + typeof res === 'object' ? res : JSON.parse(res)
  1444 + const netError = refResponse.netError
  1445 + try {
  1446 + sendNative('jsCall_currentPageOperate', {
  1447 + operateType: '48'
  1448 + }, () => {
  1449 + })
  1450 + } catch (e) {}
  1451 + if (netError == 0) {
  1452 + const refResponseMap =
  1453 + typeof refResponse.responseMap === 'object'
  1454 + ? refResponse.responseMap
  1455 + : JSON.parse(refResponse.responseMap)
  1456 + if (refResponseMap.data && refResponseMap.code) {
  1457 + const code = refResponseMap.code
  1458 + const data = refResponseMap.data[0]
  1459 + if ([ 200, '0' ].includes(code) && data) {
  1460 + if (Object.keys(data).length > 0) {
  1461 + const newsLinkUrl = data.newsLinkUrl
  1462 + if (newsLinkUrl) {
  1463 + try {
  1464 + sendNative(
  1465 + 'jsCall_appInnerLinkMethod',
  1466 + {
  1467 + appInnerLink: `rmrbapp://rmrb.app/openwith?type=article&subType=h5&url=${encodeURIComponent(
  1468 + url)}&contentId=${record.contentId}&relId=${record.relId}&skipType=1`
  1469 + }
  1470 + )
  1471 + } catch (e) {}
  1472 + } else {
  1473 + try {
  1474 + sendNative(
  1475 + 'jsCall_appInnerLinkMethod',
  1476 + {
  1477 + appInnerLink: `rmrbapp://rmrb.app/openwith?type=article&subType=h5_template_article&contentId=${record.contentId}&relId=${record.relId}&skipType=1`
  1478 + }
  1479 + )
  1480 + } catch (e) {}
  1481 + }
  1482 + }
  1483 + } else {
  1484 + toast('网络出小差了,请检查网络后重试')
  1485 + }
  1486 + } else {
  1487 + toast('网络出小差了,请检查网络后重试')
  1488 + }
  1489 + } else {
  1490 + toast('网络出小差了,请检查网络后重试')
  1491 + }
  1492 + } catch (e) {
  1493 + logInfo('error', e)
  1494 + }
  1495 + }
  1496 + )
  1497 + } catch (e) {}
  1498 + }
1382 } else if (record.contentType == 9) { 1499 } else if (record.contentType == 9) {
1383 sendNative( 1500 sendNative(
1384 'jsCall_appInnerLinkMethod', 1501 'jsCall_appInnerLinkMethod',
@@ -1431,13 +1548,49 @@ function jumpAppInnerFun(record, url) { @@ -1431,13 +1548,49 @@ function jumpAppInnerFun(record, url) {
1431 ) 1548 )
1432 } 1549 }
1433 } catch (e) { 1550 } catch (e) {
1434 - sendNative(  
1435 - 'jsCall_appInnerLinkMethod',  
1436 - {  
1437 - appInnerLink: `rmrbapp://rmrb.app/openwith?type=h5&url=${encodeURIComponent(url)}&skipType=4` 1551 + console.error(e)
  1552 + // sendNative(
  1553 + // 'jsCall_appInnerLinkMethod',
  1554 + // {
  1555 + // appInnerLink: `rmrbapp://rmrb.app/openwith?type=h5&url=${encodeURIComponent(url)}&skipType=4`
  1556 + // }
  1557 + // )
  1558 + }
  1559 +}
  1560 +
  1561 +function toast(str) {
  1562 + try {
  1563 + //调取App弹窗通用提示
  1564 + sendNative('jsCall_showGeneralTips', {
  1565 + //1、Toast提示 2、Alert提示
  1566 + tipStyle: '1',
  1567 + // 提示字符串
  1568 + tipString: str
  1569 + })
  1570 + } catch (e) { }
  1571 +}
  1572 +
  1573 +function jqHtml(el, options) {
  1574 + if (el && options) {
  1575 + if (options.type === 'set') {
  1576 + if (options.str) {
  1577 + $(el).html(options.str)
1438 } 1578 }
1439 - ) 1579 + } else if (options.type === 'get') {
  1580 + return $(el).html()
  1581 + }
1440 } 1582 }
1441 } 1583 }
1442 1584
  1585 +function rgbToRgba(rgb, alpha) {
  1586 + // 从字符串中提取出 r、g、b 值
  1587 + const rgbValues = rgb.match(/\d+/g).map(Number);
1443 1588
  1589 + // 确保 r、g、b 值都是有效的数字
  1590 + if (rgbValues.length === 3) {
  1591 + const [r, g, b] = rgbValues;
  1592 + return `rgba(${r}, ${g}, ${b}, ${alpha})`;
  1593 + } else {
  1594 + throw new Error("Invalid RGB input");
  1595 + }
  1596 +}
@@ -5,7 +5,7 @@ import { TopPlayComponent } from '../widgets/details/video/TopPlayComponet'; @@ -5,7 +5,7 @@ import { TopPlayComponent } from '../widgets/details/video/TopPlayComponet';
5 import { DisplayDirection } from 'wdConstant/Index'; 5 import { DisplayDirection } from 'wdConstant/Index';
6 import mediaquery from '@ohos.mediaquery'; 6 import mediaquery from '@ohos.mediaquery';
7 import { CustomToast, Logger, WindowModel } from 'wdKit/Index'; 7 import { CustomToast, Logger, WindowModel } from 'wdKit/Index';
8 -import { router, window } from '@kit.ArkUI'; 8 +import { display, router, window } from '@kit.ArkUI';
9 import { WDAliPlayerController } from 'wdPlayer/Index'; 9 import { WDAliPlayerController } from 'wdPlayer/Index';
10 import { LiveOperRowListView } from 'wdComponent'; 10 import { LiveOperRowListView } from 'wdComponent';
11 import { publishCommentModel } from 'wdComponent/src/main/ets/components/comment/model/PublishCommentModel'; 11 import { publishCommentModel } from 'wdComponent/src/main/ets/components/comment/model/PublishCommentModel';
@@ -49,8 +49,9 @@ export struct DetailPlayLivePage { @@ -49,8 +49,9 @@ export struct DetailPlayLivePage {
49 @Provide banComment: boolean = true 49 @Provide banComment: boolean = true
50 @State isEnd: boolean = false 50 @State isEnd: boolean = false
51 @Consume liveDetailPageLogic: LiveDetailPageLogic 51 @Consume liveDetailPageLogic: LiveDetailPageLogic
52 -  
53 @State toastText: ResourceStr = "这是一个非Wi-Fi环境。请注意流量消耗" 52 @State toastText: ResourceStr = "这是一个非Wi-Fi环境。请注意流量消耗"
  53 + @State topPlayHeight:number = this.getTopPlayHeight()
  54 + @StorageProp('currentBreakpoint') @Watch("currentChanged")currentBreakpoint: string = 'sm';
54 dialogToast: CustomDialogController = new CustomDialogController({ 55 dialogToast: CustomDialogController = new CustomDialogController({
55 builder: CustomToast({ 56 builder: CustomToast({
56 bgColor: 0xB3000000, 57 bgColor: 0xB3000000,
@@ -162,7 +163,7 @@ export struct DetailPlayLivePage { @@ -162,7 +163,7 @@ export struct DetailPlayLivePage {
162 build() { 163 build() {
163 Column() { 164 Column() {
164 TopPlayComponent({ playerController: this.playerController, isEnd: this.isEnd, lastLiveControl: this.lastLiveControl }) 165 TopPlayComponent({ playerController: this.playerController, isEnd: this.isEnd, lastLiveControl: this.lastLiveControl })
165 - .height(this.displayDirection == DisplayDirection.VERTICAL ? 211 : '100%') 166 + .height(this.displayDirection == DisplayDirection.VERTICAL ? this.topPlayHeight : '100%')
166 .margin({ 167 .margin({
167 top: this.displayDirection == DisplayDirection.VERTICAL ? px2vp(this.topSafeHeight) : 0 168 top: this.displayDirection == DisplayDirection.VERTICAL ? px2vp(this.topSafeHeight) : 0
168 }) 169 })
@@ -274,4 +275,14 @@ export struct DetailPlayLivePage { @@ -274,4 +275,14 @@ export struct DetailPlayLivePage {
274 275
275 }) 276 })
276 } 277 }
  278 +
  279 + getTopPlayHeight() {
  280 + let screenWidth = display.getDefaultDisplaySync().width
  281 + return px2vp(screenWidth) * 9/16.0
  282 + }
  283 +
  284 + currentChanged() {
  285 + this.topPlayHeight = this.getTopPlayHeight()
  286 + }
  287 +
277 } 288 }
@@ -78,7 +78,7 @@ export struct TabChatComponent { @@ -78,7 +78,7 @@ export struct TabChatComponent {
78 } else if (this.pageModel.viewType == ViewType.ERROR) { 78 } else if (this.pageModel.viewType == ViewType.ERROR) {
79 ErrorComponent() 79 ErrorComponent()
80 } else if (this.pageModel.viewType == ViewType.EMPTY) { 80 } else if (this.pageModel.viewType == ViewType.EMPTY) {
81 - EmptyComponent({ emptyType: WDViewDefaultType.WDViewDefaultType_NoComment1 }) 81 + EmptyComponent({ emptyType: WDViewDefaultType.WDViewDefaultType_NoComment1, showBackButton:false})
82 } else { 82 } else {
83 83
84 CustomPullToRefresh({ 84 CustomPullToRefresh({
@@ -75,7 +75,7 @@ export struct TabLiveComponent { @@ -75,7 +75,7 @@ export struct TabLiveComponent {
75 } else if (this.pageModel.viewType == ViewType.ERROR) { 75 } else if (this.pageModel.viewType == ViewType.ERROR) {
76 ErrorComponent() 76 ErrorComponent()
77 } else if (this.pageModel.viewType == ViewType.EMPTY) { 77 } else if (this.pageModel.viewType == ViewType.EMPTY) {
78 - EmptyComponent({ emptyType: WDViewDefaultType.WDViewDefaultType_NoContent1 }) 78 + EmptyComponent({ emptyType: WDViewDefaultType.WDViewDefaultType_NoContent1, showBackButton:false })
79 } else { 79 } else {
80 CustomPullToRefresh({ 80 CustomPullToRefresh({
81 alldata: this.liveList, 81 alldata: this.liveList,
@@ -68,6 +68,7 @@ export struct PlayerUIComponent { @@ -68,6 +68,7 @@ export struct PlayerUIComponent {
68 Stack() { 68 Stack() {
69 // 标题 69 // 标题
70 PlayerTitleComponent({ playerController: this.playerController }) 70 PlayerTitleComponent({ playerController: this.playerController })
  71 + .visibility(!this.isFullScreen ? Visibility.Visible : (this.isShowControl && this.displayDirection == DisplayDirection.VIDEO_HORIZONTAL ? Visibility.Visible : Visibility.Hidden))
71 72
72 PlayerCommentComponent() 73 PlayerCommentComponent()
73 .visibility(this.isShowControl ? Visibility.Hidden : Visibility.Visible) 74 .visibility(this.isShowControl ? Visibility.Hidden : Visibility.Visible)
@@ -18,7 +18,7 @@ export struct PlayerVideoControlComponent { @@ -18,7 +18,7 @@ export struct PlayerVideoControlComponent {
18 @Consume contentDetailData: ContentDetailDTO 18 @Consume contentDetailData: ContentDetailDTO
19 @Consume isSmall:boolean 19 @Consume isSmall:boolean
20 @Consume isFullScreen: boolean 20 @Consume isFullScreen: boolean
21 - 21 + @State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') || 0
22 aboutToAppear(): void { 22 aboutToAppear(): void {
23 if (this.playerController) { 23 if (this.playerController) {
24 //播放进度监听 24 //播放进度监听
@@ -100,7 +100,7 @@ export struct PlayerVideoControlComponent { @@ -100,7 +100,7 @@ export struct PlayerVideoControlComponent {
100 left: 10, 100 left: 10,
101 right: 10, 101 right: 10,
102 top: 15, 102 top: 15,
103 - bottom: 15 103 + bottom:`${this.bottomSafeHeight}px`
104 }) 104 })
105 } 105 }
106 106
@@ -109,6 +109,7 @@ export struct DetailPlayShortVideoPage { @@ -109,6 +109,7 @@ export struct DetailPlayShortVideoPage {
109 * 监听下标变化手动创建或销毁视频 109 * 监听下标变化手动创建或销毁视频
110 */ 110 */
111 async currentIndexChange() { 111 async currentIndexChange() {
  112 + // console.log(TAG, 'currentIndex:', this.currentIndex,'index:', this.index)
112 if (this.currentIndex != this.index) { 113 if (this.currentIndex != this.index) {
113 this.playerController.pause() 114 this.playerController.pause()
114 if (this.index <= this.currentIndex - 2 && this.playerController.getPlayer()) { 115 if (this.index <= this.currentIndex - 2 && this.playerController.getPlayer()) {
@@ -156,7 +157,7 @@ export struct DetailPlayShortVideoPage { @@ -156,7 +157,7 @@ export struct DetailPlayShortVideoPage {
156 } 157 }
157 // 已登录->查询用户对作品点赞、收藏状态 158 // 已登录->查询用户对作品点赞、收藏状态
158 ContentDetailRequest.postBatchLikeAndCollectStatus(params).then(res => { 159 ContentDetailRequest.postBatchLikeAndCollectStatus(params).then(res => {
159 - console.log('查询点赞、收藏状态==', JSON.stringify(res.data)) 160 + // console.log('查询点赞、收藏状态==', JSON.stringify(res.data))
160 if (res.data) { 161 if (res.data) {
161 this.newsStatusOfUser = res.data[0] 162 this.newsStatusOfUser = res.data[0]
162 } 163 }
@@ -167,7 +168,7 @@ export struct DetailPlayShortVideoPage { @@ -167,7 +168,7 @@ export struct DetailPlayShortVideoPage {
167 } 168 }
168 // 已登录->批量查作品是否被号主关注 169 // 已登录->批量查作品是否被号主关注
169 ContentDetailRequest.postBatchAttentionStatus(params1).then(res => { 170 ContentDetailRequest.postBatchAttentionStatus(params1).then(res => {
170 - console.log('批量查号主是否为用户关注==', JSON.stringify(res.data)) 171 + // console.log('批量查号主是否为用户关注==', JSON.stringify(res.data))
171 if (res.data) { 172 if (res.data) {
172 this.followStatus = res.data[0]?.status 173 this.followStatus = res.data[0]?.status
173 } 174 }
@@ -182,10 +183,11 @@ export struct DetailPlayShortVideoPage { @@ -182,10 +183,11 @@ export struct DetailPlayShortVideoPage {
182 contentType: this.contentDetailData?.newsType || 0, 183 contentType: this.contentDetailData?.newsType || 0,
183 }] 184 }]
184 } 185 }
185 - ContentDetailRequest.postInteractBrowsOperate(params2).then(res => {  
186 - console.log('记录浏览历史==', JSON.stringify(res.data))  
187 -  
188 - }) 186 + ContentDetailRequest.postInteractBrowsOperate(params2)
  187 + // .then(res => {
  188 + // // console.log('记录浏览历史==', JSON.stringify(res.data))
  189 + //
  190 + // })
189 } 191 }
190 192
191 } 193 }
@@ -195,7 +197,7 @@ export struct DetailPlayShortVideoPage { @@ -195,7 +197,7 @@ export struct DetailPlayShortVideoPage {
195 if (!this.onlyWifiLoadVideo) { 197 if (!this.onlyWifiLoadVideo) {
196 this.onlyWifiLoadVideo = await onlyWifiLoadVideo() 198 this.onlyWifiLoadVideo = await onlyWifiLoadVideo()
197 this.toastTextVisible = this.onlyWifiLoadVideo ? false : true 199 this.toastTextVisible = this.onlyWifiLoadVideo ? false : true
198 - console.log(TAG, 'this.onlyWifiLoadVideo', this.onlyWifiLoadVideo) 200 + // console.log(TAG, 'this.onlyWifiLoadVideo', this.onlyWifiLoadVideo)
199 } 201 }
200 202
201 this.videoLandScape = this.contentDetailData.videoInfo[0]?.videoLandScape 203 this.videoLandScape = this.contentDetailData.videoInfo[0]?.videoLandScape
@@ -241,12 +243,12 @@ export struct DetailPlayShortVideoPage { @@ -241,12 +243,12 @@ export struct DetailPlayShortVideoPage {
241 } else if (this.contentDetailData.newsType == 14 || this.contentDetailData.newsType == 15) { 243 } else if (this.contentDetailData.newsType == 14 || this.contentDetailData.newsType == 15) {
242 this.PageName = TrackConstants.PageName.DynamicDetail // 动态图文/动态视频 244 this.PageName = TrackConstants.PageName.DynamicDetail // 动态图文/动态视频
243 } 245 }
244 - console.log('视频详情页', JSON.stringify(this.pageParam))  
245 - console.log('视频详情页2', JSON.stringify(this.PageName)) 246 + // console.log('视频详情页', JSON.stringify(this.pageParam))
  247 + // console.log('视频详情页2', JSON.stringify(this.PageName))
246 } 248 }
247 249
248 async aboutToDisappear(): Promise<void> { 250 async aboutToDisappear(): Promise<void> {
249 - console.log(TAG, 'aboutToDisappear', this.index) 251 + // console.log(TAG, 'aboutToDisappear', this.index)
250 await this.playerController?.pause() 252 await this.playerController?.pause()
251 // await this.playerController?.stop() 253 // await this.playerController?.stop()
252 // await this.playerController?.release(); 254 // await this.playerController?.release();
@@ -310,11 +312,11 @@ export struct DetailPlayShortVideoPage { @@ -310,11 +312,11 @@ export struct DetailPlayShortVideoPage {
310 } 312 }
311 }) 313 })
312 this.playerViewBuilder() 314 this.playerViewBuilder()
313 - if (this.index === this.currentIndex) {  
314 - PlayerBottomView({  
315 - playerController: this.playerController  
316 - })  
317 - } 315 + PlayerBottomView({
  316 + playerController: this.playerController,
  317 + index: this.index,
  318 + currentIndex: this.currentIndex,
  319 + })
318 320
319 PlayerRightView({ 321 PlayerRightView({
320 playerController: this.playerController 322 playerController: this.playerController
@@ -349,6 +351,7 @@ export struct DetailPlayShortVideoPage { @@ -349,6 +351,7 @@ export struct DetailPlayShortVideoPage {
349 operationButtonList: ['comment',], 351 operationButtonList: ['comment',],
350 contentDetailData: this.contentDetailData, 352 contentDetailData: this.contentDetailData,
351 publishCommentModel: this.publishCommentModel, 353 publishCommentModel: this.publishCommentModel,
  354 + interactData:this.interactData,
352 showCommentIcon: false, 355 showCommentIcon: false,
353 onBack: () => { 356 onBack: () => {
354 // WindowModel.shared.setWindowLayoutFullScreen(false) 357 // WindowModel.shared.setWindowLayoutFullScreen(false)
@@ -420,18 +420,16 @@ export struct DetailVideoListPage { @@ -420,18 +420,16 @@ export struct DetailVideoListPage {
420 this.GestureLoadStrategy = 1 420 this.GestureLoadStrategy = 1
421 }) 421 })
422 // 手势动画 初次进入显示 422 // 手势动画 初次进入显示
423 - LottieView({  
424 - name: 'slider_up_view_more',  
425 - path: "lottie/slider_up_view_more.json",  
426 - lottieWidth: 167,  
427 - lottieHeight: 167,  
428 - autoplay: true,  
429 - loop: true  
430 - })  
431 - .visibility(this.GestureLoadStrategy == 0 ? Visibility.Visible : Visibility.Hidden)  
432 - .onTouch(() => {  
433 - this.GestureLoadStrategy = 1 423 + if(this.GestureLoadStrategy == 0) {
  424 + LottieView({
  425 + name: 'slider_up_view_more',
  426 + path: "lottie/slider_up_view_more.json",
  427 + lottieWidth: 167,
  428 + lottieHeight: 167,
  429 + autoplay: true,
  430 + loop: true
434 }) 431 })
  432 + }
435 } 433 }
436 } 434 }
437 .width('100%') 435 .width('100%')
@@ -16,7 +16,6 @@ import { window } from '@kit.ArkUI'; @@ -16,7 +16,6 @@ import { window } from '@kit.ArkUI';
16 import { EmptyComponent, WDViewDefaultType } from 'wdComponent/Index'; 16 import { EmptyComponent, WDViewDefaultType } from 'wdComponent/Index';
17 import { TrackConstants, TrackingPageBrowse } from 'wdTracking/Index'; 17 import { TrackConstants, TrackingPageBrowse } from 'wdTracking/Index';
18 import { LottieView } from 'wdComponent/Index' 18 import { LottieView } from 'wdComponent/Index'
19 -import lottie from '@ohos/lottie';  
20 19
21 interface loadMoreData { 20 interface loadMoreData {
22 pageNum: number; 21 pageNum: number;
@@ -99,7 +98,7 @@ export struct VideoChannelDetail { @@ -99,7 +98,7 @@ export struct VideoChannelDetail {
99 this.switchVideoStatus = false 98 this.switchVideoStatus = false
100 this.closeFullScreen() 99 this.closeFullScreen()
101 100
102 - console.log(TAG, '一级视频隐藏') 101 + // console.log(TAG, '一级视频隐藏')
103 this.pageHideTime = DateTimeUtils.getTimeStamp() 102 this.pageHideTime = DateTimeUtils.getTimeStamp()
104 let duration = 0 103 let duration = 0
105 duration = Math.floor((this.pageHideTime - this.pageShowTime) / 1000) 104 duration = Math.floor((this.pageHideTime - this.pageShowTime) / 1000)
@@ -111,7 +110,7 @@ export struct VideoChannelDetail { @@ -111,7 +110,7 @@ export struct VideoChannelDetail {
111 * 监听视频频道激活或失活 110 * 监听视频频道激活或失活
112 */ 111 */
113 navIndexChange() { 112 navIndexChange() {
114 - console.log('navIndexChange', this.bottomNavIndex, this.topNavIndex) 113 + // console.log('navIndexChange', this.bottomNavIndex, this.topNavIndex)
115 if (this.bottomNavIndex === 2 && this.topNavIndex === 0) { 114 if (this.bottomNavIndex === 2 && this.topNavIndex === 0) {
116 // this.barBackgroundColor = Color.Black 115 // this.barBackgroundColor = Color.Black
117 this.switchVideoStatus = true 116 this.switchVideoStatus = true
@@ -140,12 +139,12 @@ export struct VideoChannelDetail { @@ -140,12 +139,12 @@ export struct VideoChannelDetail {
140 139
141 aboutToAppear() { 140 aboutToAppear() {
142 this.getDetail() 141 this.getDetail()
143 - Logger.info(TAG, 'aboutToAppear'); 142 + // Logger.info(TAG, 'aboutToAppear');
144 } 143 }
145 144
146 aboutToDisappear(): void { 145 aboutToDisappear(): void {
147 this.closeFullScreen() 146 this.closeFullScreen()
148 - Logger.info(TAG, 'aboutToDisappear'); 147 + // Logger.info(TAG, 'aboutToDisappear');
149 } 148 }
150 149
151 /** 150 /**
@@ -210,7 +209,7 @@ export struct VideoChannelDetail { @@ -210,7 +209,7 @@ export struct VideoChannelDetail {
210 209
211 await ContentDetailRequest.getRecCompInfo(params).then(async res => { 210 await ContentDetailRequest.getRecCompInfo(params).then(async res => {
212 this.isOffLine = res.data == null ? true : false 211 this.isOffLine = res.data == null ? true : false
213 - console.log('根据视频频道传参查询视频楼层信息totalCount', res.data?.totalCount + '') 212 + // console.log('根据视频频道传参查询视频楼层信息totalCount', res.data?.totalCount + '')
214 213
215 this.totalCount = res.data?.totalCount || 0 214 this.totalCount = res.data?.totalCount || 0
216 const list1: batchContentDetailParams = { 215 const list1: batchContentDetailParams = {
@@ -260,7 +259,7 @@ export struct VideoChannelDetail { @@ -260,7 +259,7 @@ export struct VideoChannelDetail {
260 this.data = this.data.concat(res.data) 259 this.data = this.data.concat(res.data)
261 this.dataContentDetail.addItems(res.data) 260 this.dataContentDetail.addItems(res.data)
262 } 261 }
263 - console.log('根据视频楼层信息批量查询视频列表', JSON.stringify(res.data)) 262 + // console.log('根据视频楼层信息批量查询视频列表', JSON.stringify(res.data))
264 }).finally(() => { 263 }).finally(() => {
265 setTimeout(() => { 264 setTimeout(() => {
266 this.isRequesting = false 265 this.isRequesting = false
@@ -281,7 +280,7 @@ export struct VideoChannelDetail { @@ -281,7 +280,7 @@ export struct VideoChannelDetail {
281 if (res.data) { 280 if (res.data) {
282 this.interactDataList = this.interactDataList.concat(res.data) 281 this.interactDataList = this.interactDataList.concat(res.data)
283 } 282 }
284 - console.log('根据视频信息批量查询点赞、收藏状态', res.data) 283 + // console.log('根据视频信息批量查询点赞、收藏状态', res.data)
285 }) 284 })
286 } 285 }
287 } 286 }
@@ -329,7 +328,7 @@ export struct VideoChannelDetail { @@ -329,7 +328,7 @@ export struct VideoChannelDetail {
329 .height('100%') 328 .height('100%')
330 .onChange((index: number) => { 329 .onChange((index: number) => {
331 this.currentIndex = index 330 this.currentIndex = index
332 - console.info('onChange==', index.toString()) 331 + // console.info('onChange==', index.toString())
333 332
334 if (this.currentIndex === this.data.length - 1) { 333 if (this.currentIndex === this.data.length - 1) {
335 this.pageNum++ 334 this.pageNum++
@@ -349,20 +348,16 @@ export struct VideoChannelDetail { @@ -349,20 +348,16 @@ export struct VideoChannelDetail {
349 this.GestureLoadStrategy = 1 348 this.GestureLoadStrategy = 1
350 }) 349 })
351 // 手势动画 初次进入显示 350 // 手势动画 初次进入显示
352 - LottieView({  
353 - name: 'slider_up_view_more',  
354 - path: "lottie/slider_up_view_more.json",  
355 - lottieWidth: 167,  
356 - lottieHeight: 167,  
357 - autoplay: true,  
358 - loop: true  
359 - })  
360 - .visibility(this.isMouted && this.GestureLoadStrategy == 0 ? Visibility.Visible : Visibility.None)  
361 - .onTouch(() => {  
362 - this.GestureLoadStrategy = 1  
363 - lottie.destroy('slider_up_view_more') 351 + if(this.isMouted && this.GestureLoadStrategy == 0) {
  352 + LottieView({
  353 + name: 'slider_up_view_more',
  354 + path: "lottie/slider_up_view_more.json",
  355 + lottieWidth: 167,
  356 + lottieHeight: 167,
  357 + autoplay: true,
  358 + loop: true
364 }) 359 })
365 - 360 + }
366 } 361 }
367 } 362 }
368 .width('100%') 363 .width('100%')
@@ -13,15 +13,20 @@ export struct PlayerBottomView { @@ -13,15 +13,20 @@ export struct PlayerBottomView {
13 @Consume isDragging?: boolean 13 @Consume isDragging?: boolean
14 @Consume contentDetailData: ContentDetailDTO 14 @Consume contentDetailData: ContentDetailDTO
15 @Consume displayDirection: DisplayDirection 15 @Consume displayDirection: DisplayDirection
  16 + @Prop index: number = 0
  17 + @Prop currentIndex: number = 0
16 18
17 aboutToAppear(): void { 19 aboutToAppear(): void {
18 -  
19 } 20 }
20 21
21 build() { 22 build() {
22 Column() { 23 Column() {
23 PlayerTitleView() 24 PlayerTitleView()
24 - PlayerProgressView({ playerController: this.playerController }) 25 + PlayerProgressView({
  26 + playerController: this.playerController,
  27 + index: this.index,
  28 + currentIndex: this.currentIndex,
  29 + })
25 } 30 }
26 .width('100%') 31 .width('100%')
27 .alignItems(HorizontalAlign.Start) 32 .alignItems(HorizontalAlign.Start)
@@ -2,7 +2,7 @@ import { ContentDetailDTO } from 'wdBean/Index' @@ -2,7 +2,7 @@ import { ContentDetailDTO } from 'wdBean/Index'
2 import { WDShare } from 'wdShare/Index' 2 import { WDShare } from 'wdShare/Index'
3 import { PlayerProgressFullScreenView } from './PlayerProgressFullScreenView' 3 import { PlayerProgressFullScreenView } from './PlayerProgressFullScreenView'
4 import { PlayerConstants, WDPlayerController } from 'wdPlayer/Index' 4 import { PlayerConstants, WDPlayerController } from 'wdPlayer/Index'
5 -import { DateTimeUtils, Logger, WindowModel } from 'wdKit/Index' 5 +import { DateTimeUtils, EmitterEventId, EmitterUtils, Logger, WindowModel } from 'wdKit/Index'
6 import { DisplayDirection } from 'wdConstant/Index' 6 import { DisplayDirection } from 'wdConstant/Index'
7 import { window } from '@kit.ArkUI' 7 import { window } from '@kit.ArkUI'
8 8
@@ -93,6 +93,7 @@ export struct PlayerFullScreenView { @@ -93,6 +93,7 @@ export struct PlayerFullScreenView {
93 WindowModel.shared.setPreferredOrientation(this.displayDirection == DisplayDirection.VERTICAL ? 93 WindowModel.shared.setPreferredOrientation(this.displayDirection == DisplayDirection.VERTICAL ?
94 window.Orientation.PORTRAIT : 94 window.Orientation.PORTRAIT :
95 window.Orientation.LANDSCAPE) 95 window.Orientation.LANDSCAPE)
  96 + EmitterUtils.sendEvent(EmitterEventId.FULL_SCREEN, 0)
96 }) 97 })
97 Text(this.getTitle()) 98 Text(this.getTitle())
98 .fontSize(18) 99 .fontSize(18)
@@ -16,14 +16,13 @@ export struct PlayerProgressView { @@ -16,14 +16,13 @@ export struct PlayerProgressView {
16 @State loadingWidth: number | string = 1 16 @State loadingWidth: number | string = 1
17 @State showLoading: boolean = false 17 @State showLoading: boolean = false
18 @Consume onlyWifiLoadVideo: boolean 18 @Consume onlyWifiLoadVideo: boolean
  19 + @Prop index: number = 0
  20 + @Prop @Watch('currentIndexChange') currentIndex: number = 0
19 timer: number = 0 21 timer: number = 0
20 22
21 - aboutToAppear() {  
22 - if (this.playerController) {  
23 - this.playerController.onSeekDone = (status: number) => {  
24 - this.playerController?.play()  
25 - }  
26 - 23 + currentIndexChange() {
  24 + // console.log('DetailPlayShortVideoPage PlayerProgressView', 'currentIndex:', this.currentIndex,'index:', this.index)
  25 + if (this.playerController && this.index == this.currentIndex) {
27 this.playerController.onLoaded = (loaded: number) => { 26 this.playerController.onLoaded = (loaded: number) => {
28 if (loaded == 1) { 27 if (loaded == 1) {
29 this.loadingWidth = '95%' 28 this.loadingWidth = '95%'
@@ -44,6 +43,14 @@ export struct PlayerProgressView { @@ -44,6 +43,14 @@ export struct PlayerProgressView {
44 } 43 }
45 } 44 }
46 45
  46 + aboutToAppear() {
  47 + if (this.playerController) {
  48 + this.playerController.onSeekDone = (status: number) => {
  49 + this.playerController?.play()
  50 + }
  51 + }
  52 + }
  53 +
47 /** 54 /**
48 * 55 *
49 * loading 动效 56 * loading 动效
@@ -71,7 +78,7 @@ export struct PlayerProgressView { @@ -71,7 +78,7 @@ export struct PlayerProgressView {
71 .zIndex(2000) 78 .zIndex(2000)
72 .height(10) 79 .height(10)
73 .visibility(this.showLoading ? Visibility.Visible : Visibility.Hidden) 80 .visibility(this.showLoading ? Visibility.Visible : Visibility.Hidden)
74 - .margin({ bottom: 10 }) 81 + .margin({ bottom: 14 })
75 82
76 // .markAnchor({ x: 0, y: '100%' }) 83 // .markAnchor({ x: 0, y: '100%' })
77 } 84 }
@@ -130,11 +137,12 @@ export struct PlayerProgressView { @@ -130,11 +137,12 @@ export struct PlayerProgressView {
130 this.isDragging = false 137 this.isDragging = false
131 } 138 }
132 this.playerController?.setSeekTime(value, mode); 139 this.playerController?.setSeekTime(value, mode);
133 - console.log('slider onChange:', value, mode) 140 + // console.log('slider onChange:', value, mode)
134 141
135 }) 142 })
136 } 143 }
137 .width('100%') 144 .width('100%')
  145 + .padding({ left: 6, right: 6 })
138 .height(24) 146 .height(24)
139 .justifyContent(FlexAlign.Center) 147 .justifyContent(FlexAlign.Center)
140 148
1 import measure from '@ohos.measure' 1 import measure from '@ohos.measure'
2 -import { ContentDetailDTO } from 'wdBean/Index' 2 +import { ContentDetailDTO, Params } from 'wdBean/Index'
3 import { DetailDialog } from './DetailDialog' 3 import { DetailDialog } from './DetailDialog'
4 -import { DateTimeUtils } from 'wdKit' 4 +import { DateTimeUtils, ToastUtils } from 'wdKit'
  5 +import { WDRouterPage, WDRouterRule } from 'wdRouter'
5 6
6 const TAG = 'PlayerTitleView'; 7 const TAG = 'PlayerTitleView';
7 8
@@ -94,7 +95,7 @@ export struct PlayerTitleView { @@ -94,7 +95,7 @@ export struct PlayerTitleView {
94 } 95 }
95 clipStr += strArr[i] 96 clipStr += strArr[i]
96 } 97 }
97 - console.log(TAG, 'clipStr:', clipStr) 98 + // console.log(TAG, 'clipStr:', clipStr)
98 return clipStr 99 return clipStr
99 } 100 }
100 101
@@ -130,7 +131,7 @@ export struct PlayerTitleView { @@ -130,7 +131,7 @@ export struct PlayerTitleView {
130 } 131 }
131 clipStr += strArr[i] 132 clipStr += strArr[i]
132 } 133 }
133 - console.log(TAG, 'clipTitleText clipStr:', clipStr) 134 + // console.log(TAG, 'clipTitleText clipStr:', clipStr)
134 return clipStr 135 return clipStr
135 } 136 }
136 137
@@ -145,8 +146,8 @@ export struct PlayerTitleView { @@ -145,8 +146,8 @@ export struct PlayerTitleView {
145 146
146 }) 147 })
147 this.titleHeight = info?.height as number || 0 148 this.titleHeight = info?.height as number || 0
148 - console.log('titleHeight:', this.titleHeight,)  
149 - console.log(TAG, 'this.contentDetailData:', JSON.stringify(this.contentDetailData)) 149 + // console.log('titleHeight:', this.titleHeight,)
  150 + // console.log(TAG, 'this.contentDetailData:', JSON.stringify(this.contentDetailData))
150 this.summary = this.getSummary() 151 this.summary = this.getSummary()
151 } 152 }
152 153
@@ -174,7 +175,23 @@ export struct PlayerTitleView { @@ -174,7 +175,23 @@ export struct PlayerTitleView {
174 if (this.getIcon()) { 175 if (this.getIcon()) {
175 Image(this.getIcon()).height(11).margin({ left: 4, top: 3 }) 176 Image(this.getIcon()).height(11).margin({ left: 4, top: 3 })
176 } 177 }
177 - }.margin({ bottom: 8 }) 178 + }
  179 + .zIndex(100)
  180 + .margin({ bottom: 8 })
  181 + .onClick(() => {
  182 + // console.log(TAG, '点击号主@信息')
  183 + // 跳转到号主页
  184 + if (this.contentDetailData.rmhInfo?.cnMainControl === 1) {
  185 + const params: Params = {
  186 + creatorId: this.contentDetailData.rmhInfo.rmhId,
  187 + pageID: ''
  188 + }
  189 + WDRouterRule.jumpWithPage(WDRouterPage.peopleShipHomePage, params)
  190 + }
  191 + // else {
  192 + // ToastUtils.showToast("暂时无法查看该创作者主页", 2000);
  193 + // }
  194 + })
178 195
179 } 196 }
180 197
@@ -6,6 +6,7 @@ import { AccountManagerUtils, SPHelper } from 'wdKit/Index' @@ -6,6 +6,7 @@ import { AccountManagerUtils, SPHelper } from 'wdKit/Index'
6 import { LoginViewModel } from './pages/login/LoginViewModel' 6 import { LoginViewModel } from './pages/login/LoginViewModel'
7 import { SpConstants } from 'wdConstant/Index' 7 import { SpConstants } from 'wdConstant/Index'
8 import { ReportDeviceInfo } from './reportDeviceInfo/ReportDeviceInfo' 8 import { ReportDeviceInfo } from './reportDeviceInfo/ReportDeviceInfo'
  9 +import { common } from '@kit.AbilityKit'
9 10
10 class LoginJumpHandler implements JumpInterceptorAction { 11 class LoginJumpHandler implements JumpInterceptorAction {
11 12
@@ -42,12 +43,17 @@ export class LoginModule { @@ -42,12 +43,17 @@ export class LoginModule {
42 } 43 }
43 44
44 // 启动进入主页 和 每次登录成功调用 45 // 启动进入主页 和 每次登录成功调用
45 - static reportDeviceInfo() { 46 + static reportDeviceInfo(context?: common.UIAbilityContext) {
46 ReportDeviceInfo.reportDeviceInfo().then((res) => { 47 ReportDeviceInfo.reportDeviceInfo().then((res) => {
47 let nickName = res.touristNickName 48 let nickName = res.touristNickName
48 if (res.touristNickName) { 49 if (res.touristNickName) {
49 SPHelper.default.save(SpConstants.TOURIST_NICK_NAME, res.touristNickName) 50 SPHelper.default.save(SpConstants.TOURIST_NICK_NAME, res.touristNickName)
50 } 51 }
  52 +
  53 + if (res.blockStatus == -2) {
  54 + // Exit the application.
  55 + context?.terminateSelf();
  56 + }
51 }) 57 })
52 } 58 }
53 } 59 }
@@ -38,4 +38,5 @@ export class ReportDeviceInfo { @@ -38,4 +38,5 @@ export class ReportDeviceInfo {
38 export class ReportDeviceInfoRes { 38 export class ReportDeviceInfoRes {
39 clean : number = 0 39 clean : number = 0
40 touristNickName : string = "" 40 touristNickName : string = ""
  41 + blockStatus: number = 0 // 当等于-2时,表示拉黑
41 } 42 }
@@ -39,6 +39,7 @@ export class WDShare { @@ -39,6 +39,7 @@ export class WDShare {
39 desc: program.shareInfo.shareSummary, 39 desc: program.shareInfo.shareSummary,
40 link: program.shareInfo.shareUrl, 40 link: program.shareInfo.shareUrl,
41 deeplink:AppInnerLinkGenerator.generateDeepLinkWithProgram(program), 41 deeplink:AppInnerLinkGenerator.generateDeepLinkWithProgram(program),
  42 + posterImg:$r("app.media.test_share_poster")
42 } 43 }
43 }) 44 })
44 } 45 }
@@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
11 "version": "1.0.0", 11 "version": "1.0.0",
12 "dependencies": { 12 "dependencies": {
13 "@ohos/pulltorefresh": "^2.0.6-rc.0", 13 "@ohos/pulltorefresh": "^2.0.6-rc.0",
14 - "@ohos/lottie": "v2.0.11-rc.6", 14 + "@ohos/lottie": "^v2.0.13",
15 "@ohos/imageknife": "^2.1.2", 15 "@ohos/imageknife": "^2.1.2",
16 }, 16 },
17 "dynamicDependencies": {} 17 "dynamicDependencies": {}
1 import { Action } from 'wdBean'; 1 import { Action } from 'wdBean';
2 import { ImageAndTextPageComponent } from 'wdComponent' 2 import { ImageAndTextPageComponent } from 'wdComponent'
3 -import { Logger } from 'wdKit' 3 +import { Logger,EmitterUtils,EmitterEventId } from 'wdKit'
4 import router from '@ohos.router'; 4 import router from '@ohos.router';
5 import { TrackConstants } from 'wdTracking/Index'; 5 import { TrackConstants } from 'wdTracking/Index';
6 6
@@ -89,7 +89,7 @@ struct LaunchAdvertisingPage { @@ -89,7 +89,7 @@ struct LaunchAdvertisingPage {
89 }else { 89 }else {
90 //显示图片 90 //显示图片
91 Image(this.defaultModel.bootScreenUrl) 91 Image(this.defaultModel.bootScreenUrl)
92 - .objectFit(this.isPad?ImageFit.Cover:ImageFit.Fill) 92 + .objectFit(this.isPad?ImageFit.Contain:ImageFit.Cover)
93 // .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]) 93 // .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])
94 .width('100%') 94 .width('100%')
95 .height('100%') 95 .height('100%')