wangliang_wd

Merge branch 'main' of http://192.168.1.42/developOne/harmonyPool into main

* 'main' of http://192.168.1.42/developOne/harmonyPool: (38 commits)
  fix:somebug
  fix:somebug
  fix:somebug
  desc:埋点[搜索页 - 搜索按钮点击]
  fix:somebug
  视频类型稿件详情页-全部评论,已收藏视频未展示已收藏状态
  desc:埋点[关于页面 - 普通按钮点击]
  desc:埋点[隐私设置页 - 普通按钮]
  desc:埋点[账号与安全页 - 普通按钮]
  fix:bug[17942] 我的消息中的预约消息跳转直播节目会黑屏
  desc:埋点[设置 - 普通按钮-设置]
  fix(17806):功能缺陷-【uat】意见反馈-描述您的问题-上传图片后,点击叉叉按钮,没有反应,预期删除图片,并显示加号上传按钮,看图
  feat: 查看更多相似组件ui
  代码结构调整,将底导、图集从component提到phone里
  ref |> 临时解决视频详情评论点赞资源无法加载问题
  ref |> 调整评论点赞按钮图标
  fix(17804):功能缺陷-【uat】意见反馈-描述您的问题-android上传图片能上传3张,鸿蒙只能2张,看图
  图集详情页-页面与动态区域分割线样式不对
  feat: 17989 轮播图卡-音频专题数据展示交互问题
  fix(17581):人民号动态详情页的长图显示方式与安卓不一致
  ...
Showing 48 changed files with 807 additions and 187 deletions
  1 +{
  2 + "float": [
  3 + {
  4 + "name": "font_size_10",
  5 + "value": "10fp"
  6 + },
  7 + {
  8 + "name": "font_size_11",
  9 + "value": "11fp"
  10 + },
  11 + {
  12 + "name": "font_size_12",
  13 + "value": "12fp"
  14 + },
  15 + {
  16 + "name": "font_size_13",
  17 + "value": "13fp"
  18 + },
  19 + {
  20 + "name": "font_size_14",
  21 + "value": "14fp"
  22 + },
  23 + {
  24 + "name": "font_size_16",
  25 + "value": "16fp"
  26 + },
  27 + {
  28 + "name": "normal_text_size",
  29 + "value": "16fp"
  30 + },
  31 + {
  32 + "name": "font_size_17",
  33 + "value": "17fp"
  34 + },
  35 + {
  36 + "name": "selected_text_size",
  37 + "value": "17vp"
  38 + },
  39 + {
  40 + "name": "font_size_18",
  41 + "value": "18fp"
  42 + },
  43 + {
  44 + "name": "font_size_24",
  45 + "value": "24fp"
  46 + },
  47 + {
  48 + "name": "font_size_20",
  49 + "value": "20fp"
  50 + },
  51 + {
  52 + "name": "font_size_36",
  53 + "value": "36fp"
  54 + },
  55 + {
  56 + "name": "margin_4_negative",
  57 + "value": "-4vp"
  58 + },
  59 + {
  60 + "name": "margin_6_negative",
  61 + "value": "-6vp"
  62 + },
  63 + {
  64 + "name": "main_margin",
  65 + "value": "14vp"
  66 + },
  67 + {
  68 + "name": "margin_4",
  69 + "value": "4vp"
  70 + },
  71 + {
  72 + "name": "margin_8",
  73 + "value": "8vp"
  74 + },
  75 + {
  76 + "name": "margin_9",
  77 + "value": "9vp"
  78 + },
  79 + {
  80 + "name": "label_margin_top",
  81 + "value": "10vp"
  82 + },
  83 + {
  84 + "name": "margin_12",
  85 + "value": "12vp"
  86 + },
  87 + {
  88 + "name": "margin_bottom_16",
  89 + "value": "16vp"
  90 + },
  91 + {
  92 + "name": "label_margin_bottom",
  93 + "value": "8vp"
  94 + },
  95 + {
  96 + "name": "single_row_03_item_width",
  97 + "value": "158vp"
  98 + },
  99 + {
  100 + "name": "single_row_03_item_height",
  101 + "value": "160vp"
  102 + },
  103 + {
  104 + "name": "margin_80",
  105 + "value": "80vp"
  106 + },
  107 + {
  108 + "name": "margin_2",
  109 + "value": "2vp"
  110 + },
  111 + {
  112 + "name": "margin_5",
  113 + "value": "5vp"
  114 + },
  115 + {
  116 + "name": "margin_7",
  117 + "value": "7vp"
  118 + },
  119 + {
  120 + "name": "margin_20",
  121 + "value": "20vp"
  122 + },
  123 + {
  124 + "name": "margin_24",
  125 + "value": "24vp"
  126 + },
  127 + {
  128 + "name": "margin_25",
  129 + "value": "25vp"
  130 + },
  131 + {
  132 + "name": "margin_28",
  133 + "value": "28vp"
  134 + },
  135 + {
  136 + "name": "margin_40",
  137 + "value": "40vp"
  138 + },
  139 + {
  140 + "name": "margin_48",
  141 + "value": "48vp"
  142 + },
  143 + {
  144 + "name": "margin_54",
  145 + "value": "54vp"
  146 + },
  147 + {
  148 + "name": "margin_60",
  149 + "value": "60vp"
  150 + },
  151 + {
  152 + "name": "margin_154",
  153 + "value": "154vp"
  154 + },
  155 + {
  156 + "name": "single_row_03_img_height",
  157 + "value": "88vp"
  158 + },
  159 + {
  160 + "name": "image_border_radius",
  161 + "value": "5vp"
  162 + },
  163 + {
  164 + "name": "button_border_radius",
  165 + "value": "3vp"
  166 + },
  167 + {
  168 + "name": "border_radius_6",
  169 + "value": "6vp"
  170 + },
  171 + {
  172 + "name": "bottom_navigation_margin_bottom",
  173 + "value": "4vp"
  174 + },
  175 + {
  176 + "name": "bottom_navigation_barHeight",
  177 + "value": "50vp"
  178 + },
  179 + {
  180 + "name": "top_tab_bar_height",
  181 + "value": "40vp"
  182 + },
  183 + {
  184 + "name": "top_tab_item_max_width",
  185 + "value": "300vp"
  186 + },
  187 + {
  188 + "name": "top_tab_item_min_width",
  189 + "value": "20vp"
  190 + },
  191 + {
  192 + "name": "top_tab_item_padding_horizontal",
  193 + "value": "7vp"
  194 + },
  195 + {
  196 + "name": "top_tab_item_padding_bottom",
  197 + "value": "2vp"
  198 + },
  199 + {
  200 + "name": "top_tab_item_padding_top",
  201 + "value": "5vp"
  202 + },
  203 + {
  204 + "name": "top_bar_height",
  205 + "value": "44vp"
  206 + },
  207 + {
  208 + "name": "top_arrow_size",
  209 + "value": "24vp"
  210 + },
  211 + {
  212 + "name": "margin_1",
  213 + "value": "1vp"
  214 + },
  215 + {
  216 + "name": "margin_6",
  217 + "value": "6vp"
  218 + },
  219 + {
  220 + "name": "margin_16",
  221 + "value": "16vp"
  222 + },
  223 + {
  224 + "name": "vp_20",
  225 + "value": "20vp"
  226 + },
  227 + {
  228 + "name": "margin_32",
  229 + "value": "32vp"
  230 + },
  231 + {
  232 + "name": "margin_36",
  233 + "value": "36vp"
  234 + },
  235 + {
  236 + "name": "margin_44",
  237 + "value": "44vp"
  238 + },
  239 + {
  240 + "name": "vp_3",
  241 + "value": "3vp"
  242 + },
  243 + {
  244 + "name": "vp_2",
  245 + "value": "2vp"
  246 + },
  247 + {
  248 + "name": "vp_55",
  249 + "value": "55vp"
  250 + },
  251 + {
  252 + "name": "vp_12",
  253 + "value": "12vp"
  254 + },
  255 + {
  256 + "name": "vp_4",
  257 + "value": "4vp"
  258 + },
  259 + {
  260 + "name": "vp_8",
  261 + "value": "8vp"
  262 + },
  263 + {
  264 + "name": "vp_16",
  265 + "value": "16vp"
  266 + },
  267 + {
  268 + "name": "vp_28",
  269 + "value": "28vp"
  270 + },
  271 + {
  272 + "name": "vp_80",
  273 + "value": "80vp"
  274 + },
  275 + {
  276 + "name": "card_comp_pagePadding_lf",
  277 + "value": "16fp"
  278 + },
  279 + {
  280 + "name": "card_comp_pagePadding_tb",
  281 + "value": "14fp"
  282 + },
  283 + {
  284 + "name": "margin_116",
  285 + "value": "116vp"
  286 + },
  287 + {
  288 + "name": "vp_11",
  289 + "value": "11vp"
  290 + },
  291 + {
  292 + "name": "vp_22",
  293 + "value": "22vp"
  294 + },
  295 + {
  296 + "name": "vp_14",
  297 + "value": "14vp"
  298 + },
  299 + {
  300 + "name": "vp_15",
  301 + "value": "15vp"
  302 + },
  303 + {
  304 + "name": "vp_18",
  305 + "value": "18vp"
  306 + },
  307 + {
  308 + "name": "vp_13",
  309 + "value": "13vp"
  310 + },
  311 + {
  312 + "name": "margin_115",
  313 + "value": "115vp"
  314 + }
  315 + ]
  316 +}
@@ -64,6 +64,7 @@ export const enum CompStyle { @@ -64,6 +64,7 @@ export const enum CompStyle {
64 Card_21 = '21', // 小视频卡人民号 64 Card_21 = '21', // 小视频卡人民号
65 Card_22 = '22', // 时间链 65 Card_22 = '22', // 时间链
66 Card_23 = '23', // 问政卡 66 Card_23 = '23', // 问政卡
  67 + More_Comp= 'More_Comp', // 点击查看更多相似
67 68
68 69
69 70
@@ -98,7 +98,7 @@ export interface IStatusContentList { @@ -98,7 +98,7 @@ export interface IStatusContentList {
98 98
99 // relType: string; 99 // relType: string;
100 contentType: string; 100 contentType: string;
101 - // contentRelId: string; 101 + contentRelId: string;
102 } 102 }
103 export interface batchLikeAndCollectParams { 103 export interface batchLikeAndCollectParams {
104 // userType: number; 104 // userType: number;
@@ -12,8 +12,6 @@ export { LoadingComponent } from "./src/main/ets/components/view/LoadingComponen @@ -12,8 +12,6 @@ export { LoadingComponent } from "./src/main/ets/components/view/LoadingComponen
12 12
13 export { PageComponent } from "./src/main/ets/components/page/PageComponent" 13 export { PageComponent } from "./src/main/ets/components/page/PageComponent"
14 14
15 -export { BottomNavigationComponent } from "./src/main/ets/components/page/BottomNavigationComponent"  
16 -  
17 export { LikeComponent } from "./src/main/ets/components/view/LikeComponent" 15 export { LikeComponent } from "./src/main/ets/components/view/LikeComponent"
18 16
19 export { TopNavigationComponent } from "./src/main/ets/components/page/TopNavigationComponent" 17 export { TopNavigationComponent } from "./src/main/ets/components/page/TopNavigationComponent"
@@ -51,8 +49,6 @@ export { DetailViewModel } from "./src/main/ets/viewmodel/DetailViewModel" @@ -51,8 +49,6 @@ export { DetailViewModel } from "./src/main/ets/viewmodel/DetailViewModel"
51 49
52 export { BigPicCardComponent } from "./src/main/ets/components/view/BigPicCardComponent" 50 export { BigPicCardComponent } from "./src/main/ets/components/view/BigPicCardComponent"
53 51
54 -export { MultiPictureDetailPageComponent } from "./src/main/ets/components/MultiPictureDetailPageComponent"  
55 -  
56 export { AudioDetailComponent } from "./src/main/ets/components/AudioDetailComponent" 52 export { AudioDetailComponent } from "./src/main/ets/components/AudioDetailComponent"
57 53
58 export { DynamicDetailComponent } from "./src/main/ets/components/DynamicDetailComponent" 54 export { DynamicDetailComponent } from "./src/main/ets/components/DynamicDetailComponent"
@@ -89,3 +85,14 @@ export { LiveFollowComponent } from "./src/main/ets/components/cardCommon/LiveFo @@ -89,3 +85,14 @@ export { LiveFollowComponent } from "./src/main/ets/components/cardCommon/LiveFo
89 85
90 export { publishCommentModel } from './src/main/ets/components/comment/model/PublishCommentModel'; 86 export { publishCommentModel } from './src/main/ets/components/comment/model/PublishCommentModel';
91 87
  88 +export { MultiPictureDetailItemComponent } from './src/main/ets/components/MultiPictureDetailItemComponent';
  89 +
  90 +export { OperRowListView } from './src/main/ets/components/view/OperRowListView';
  91 +
  92 +export { ImageDownloadComponent } from './src/main/ets/components/ImageDownloadComponent';
  93 +
  94 +export { PageRepository } from './src/main/ets/repository/PageRepository';
  95 +
  96 +export { MultiPictureDetailViewModel } from './src/main/ets/viewmodel/MultiPictureDetailViewModel';
  97 +
  98 +export { viewBlogItemInsightIntentShare } from './src/main/ets/utils/InsightIntentShare';
@@ -14,7 +14,6 @@ @@ -14,7 +14,6 @@
14 "wdKit": "file:../../commons/wdKit", 14 "wdKit": "file:../../commons/wdKit",
15 "wdWebComponent": "file:../../commons/wdWebComponent", 15 "wdWebComponent": "file:../../commons/wdWebComponent",
16 "wdBean": "file:../../features/wdBean", 16 "wdBean": "file:../../features/wdBean",
17 - "wdDetailPlayShortVideo": "file:../../features/wdDetailPlayShortVideo",  
18 "wdRouter": "file:../../commons/wdRouter", 17 "wdRouter": "file:../../commons/wdRouter",
19 "wdNetwork": "file:../../commons/wdNetwork", 18 "wdNetwork": "file:../../commons/wdNetwork",
20 "wdJsBridge": "file:../../commons/wdJsBridge", 19 "wdJsBridge": "file:../../commons/wdJsBridge",
@@ -5,7 +5,6 @@ import { Card3Component } from './cardview/Card3Component'; @@ -5,7 +5,6 @@ import { Card3Component } from './cardview/Card3Component';
5 import { Card4Component } from './cardview/Card4Component'; 5 import { Card4Component } from './cardview/Card4Component';
6 import { Card5Component } from './cardview/Card5Component'; 6 import { Card5Component } from './cardview/Card5Component';
7 import { Card6Component } from './cardview/Card6Component'; 7 import { Card6Component } from './cardview/Card6Component';
8 -import { Card9Component } from './cardview/Card9Component';  
9 import { Card10Component } from './cardview/Card10Component'; 8 import { Card10Component } from './cardview/Card10Component';
10 import { Card11Component } from './cardview/Card11Component'; 9 import { Card11Component } from './cardview/Card11Component';
11 import { Card12Component } from './cardview/Card12Component'; 10 import { Card12Component } from './cardview/Card12Component';
@@ -48,8 +47,6 @@ export struct CardParser { @@ -48,8 +47,6 @@ export struct CardParser {
48 } else if (contentDTO.appStyle === CompStyle.Card_06 || contentDTO.appStyle === CompStyle 47 } else if (contentDTO.appStyle === CompStyle.Card_06 || contentDTO.appStyle === CompStyle
49 .Card_13) { 48 .Card_13) {
50 Card6Component({ compDTO: this.compDTO, contentDTO: this.contentDTO }) 49 Card6Component({ compDTO: this.compDTO, contentDTO: this.contentDTO })
51 - } else if (contentDTO.appStyle === CompStyle.Card_09) {  
52 - Card9Component({ contentDTO })  
53 } else if (contentDTO.appStyle === CompStyle.Card_10) { 50 } else if (contentDTO.appStyle === CompStyle.Card_10) {
54 Card10Component({ compDTO: this.compDTO, contentDTO }) 51 Card10Component({ compDTO: this.compDTO, contentDTO })
55 } else if (contentDTO.appStyle === CompStyle.Card_11) { 52 } else if (contentDTO.appStyle === CompStyle.Card_11) {
1 -import { CompDTO } from 'wdBean'; 1 +import { CompDTO, ContentDTO } from 'wdBean';
2 import { CommonConstants, CompStyle } from 'wdConstant/Index'; 2 import { CommonConstants, CompStyle } from 'wdConstant/Index';
3 import { WDRouterPage, WDRouterRule } from 'wdRouter/Index'; 3 import { WDRouterPage, WDRouterRule } from 'wdRouter/Index';
4 import PageModel from '../viewmodel/PageModel'; 4 import PageModel from '../viewmodel/PageModel';
5 import { CardParser } from './CardParser'; 5 import { CardParser } from './CardParser';
6 import { Card2Component } from './cardview/Card2Component'; 6 import { Card2Component } from './cardview/Card2Component';
  7 +import { Card9Component } from './cardview/Card9Component';
7 import { Card5Component } from './cardview/Card5Component'; 8 import { Card5Component } from './cardview/Card5Component';
8 import { AdvCardParser } from './cardViewAdv/AdvCardParser'; 9 import { AdvCardParser } from './cardViewAdv/AdvCardParser';
9 import { ZhCarouselLayout01 } from './compview/ZhCarouselLayout01'; 10 import { ZhCarouselLayout01 } from './compview/ZhCarouselLayout01';
@@ -35,10 +36,24 @@ export struct CompParser { @@ -35,10 +36,24 @@ export struct CompParser {
35 @ObjectLink compDTO: CompDTO 36 @ObjectLink compDTO: CompDTO
36 @State compIndex: number = 0; 37 @State compIndex: number = 0;
37 @State private pageModel: PageModel = new PageModel(); 38 @State private pageModel: PageModel = new PageModel();
  39 + @State audioItems: ContentDTO[] = [];
  40 + @State noneAudioItems: ContentDTO[] = [];
  41 +
  42 + aboutToAppear(): void {
  43 + // 轮播图屏蔽音频类型稿件
  44 + if (this.compDTO.compStyle === CompStyle.Zh_Carousel_Layout_01) {
  45 + this.audioItems = this.compDTO.operDataList.filter(item => {
  46 + return item.objectType === '13' || item.linkUrl.includes('audiotopic')
  47 + })
  48 + this.noneAudioItems = this.compDTO.operDataList.filter(item => {
  49 + return item.objectType !== '13' && !item.linkUrl.includes('audiotopic')
  50 + })
  51 + this.compDTO.operDataList = this.noneAudioItems;
  52 + }
  53 + }
38 54
39 build() { 55 build() {
40 Column() { 56 Column() {
41 -  
42 this.componentBuilder(); 57 this.componentBuilder();
43 } 58 }
44 } 59 }
@@ -50,73 +65,80 @@ export struct CompParser { @@ -50,73 +65,80 @@ export struct CompParser {
50 65
51 if (this.compDTO.operDataList[0]?.objectType !== '3' && 66 if (this.compDTO.operDataList[0]?.objectType !== '3' &&
52 this.compDTO.operDataList[0]?.objectType !== '13') { //暂时屏蔽活动和音频详情入口 67 this.compDTO.operDataList[0]?.objectType !== '13') { //暂时屏蔽活动和音频详情入口
  68 +
53 if (this.compDTO.compStyle === CompStyle.Label_03) { 69 if (this.compDTO.compStyle === CompStyle.Label_03) {
54 LabelComponent({ compDTO: this.compDTO }) 70 LabelComponent({ compDTO: this.compDTO })
55 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 71 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
56 } else if (this.compDTO.compStyle === CompStyle.Zh_Carousel_Layout_01) { 72 } else if (this.compDTO.compStyle === CompStyle.Zh_Carousel_Layout_01) {
57 - ZhCarouselLayout01({ compDTO: this.compDTO })  
58 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 73 + if (this.compDTO.operDataList.length > this.audioItems.length) {
  74 + ZhCarouselLayout01({ compDTO: this.compDTO })
  75 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
  76 + }
59 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_01 && 77 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_01 &&
60 this.compDTO.imageScale === 2) { // && compDTO.name ==="横划卡" 78 this.compDTO.imageScale === 2) { // && compDTO.name ==="横划卡"
61 79
62 LiveHorizontalCardComponent({ compDTO: this.compDTO }) 80 LiveHorizontalCardComponent({ compDTO: this.compDTO })
63 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 81 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
64 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_01 && this.compDTO.imageScale === 3) { 82 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_01 && this.compDTO.imageScale === 3) {
65 if (this.compDTO.operDataList.length > 1) { 83 if (this.compDTO.operDataList.length > 1) {
66 HorizontalStrokeCardThreeTwoRadioForMoreComponent({ compDTO: this.compDTO }) 84 HorizontalStrokeCardThreeTwoRadioForMoreComponent({ compDTO: this.compDTO })
67 } else { 85 } else {
68 HorizontalStrokeCardThreeTwoRadioForOneComponent({ compDTO: this.compDTO }) 86 HorizontalStrokeCardThreeTwoRadioForOneComponent({ compDTO: this.compDTO })
69 } 87 }
70 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 88 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
71 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_02) { 89 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_02) {
72 ZhSingleRow02({ compDTO: this.compDTO }) 90 ZhSingleRow02({ compDTO: this.compDTO })
73 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 91 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
74 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_03) { 92 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_03) {
75 ZhSingleRow03({ compDTO: this.compDTO }) 93 ZhSingleRow03({ compDTO: this.compDTO })
76 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 94 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
77 } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_02) { //双列流小视频,一行两图卡 ->标题 95 } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_02) { //双列流小视频,一行两图卡 ->标题
78 //ZhGridLayout02({ compDTO: this.compDTO }) 96 //ZhGridLayout02({ compDTO: this.compDTO })
79 CompNormalTitle({ compDTO: this.compDTO }) 97 CompNormalTitle({ compDTO: this.compDTO })
80 - // Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 98 + // Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
81 } else if (this.compDTO.compStyle === CompStyle.Card_Comp_Zh_Grid_Layout_02) { //双列流小视频,一行两图卡 99 } else if (this.compDTO.compStyle === CompStyle.Card_Comp_Zh_Grid_Layout_02) { //双列流小视频,一行两图卡
82 100
83 ZhGridLayout02NewsContent({ compDTO: this.compDTO, operDataList: this.compDTO.operDataList }) 101 ZhGridLayout02NewsContent({ compDTO: this.compDTO, operDataList: this.compDTO.operDataList })
84 102
85 } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_03) { 103 } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_03) {
86 ZhGridLayout03({ compDTO: this.compDTO }) 104 ZhGridLayout03({ compDTO: this.compDTO })
87 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 105 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
88 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_04) { 106 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_04) {
89 ZhSingleRow04({ compDTO: this.compDTO }) 107 ZhSingleRow04({ compDTO: this.compDTO })
90 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 108 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
91 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_05) { 109 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_05) {
92 // ZhSingleRow05({ compDTO }) 110 // ZhSingleRow05({ compDTO })
93 - // Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 111 + // Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
94 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_06) { 112 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_06) {
95 ZhSingleRow06({ compDTO: this.compDTO }) 113 ZhSingleRow06({ compDTO: this.compDTO })
96 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 114 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
97 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_02) { 115 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_02) {
98 //头图卡 和comStyle 2相同, 116 //头图卡 和comStyle 2相同,
99 Card5Component({ contentDTO: this.compDTO.operDataList[0], titleShowPolicy: this.compDTO.titleShowPolicy }) 117 Card5Component({ contentDTO: this.compDTO.operDataList[0], titleShowPolicy: this.compDTO.titleShowPolicy })
100 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 118 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
101 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_03) { 119 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_03) {
102 // 大图卡 120 // 大图卡
103 Card2Component({ compDTO: this.compDTO, contentDTO: this.compDTO.operDataList[0] }) 121 Card2Component({ compDTO: this.compDTO, contentDTO: this.compDTO.operDataList[0] })
104 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 122 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
  123 + } else if (this.compDTO.compStyle === CompStyle.Card_09) {
  124 + //时间链卡
  125 + Card9Component({ contentDTO:this.compDTO.operDataList[0] })
  126 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
105 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_04) { 127 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_04) {
106 ZhSingleColumn04({ compDTO: this.compDTO }) 128 ZhSingleColumn04({ compDTO: this.compDTO })
107 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 129 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
108 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_05) { 130 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_05) {
109 // ZhSingleColumn05({ compDTO: compDTO }) 131 // ZhSingleColumn05({ compDTO: compDTO })
110 - // Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 132 + // Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
111 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_09) { 133 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_09) {
112 - Divider().strokeWidth(3).color('#ffffff').padding({ left: 16, right: 16 }).margin({ top: -3 }) 134 + Divider().strokeWidth(3).color('#ffffff').padding({ left: 0, right: 0 }).margin({ top: -3 })
113 Divider().strokeWidth(6).color('#f5f5f5') 135 Divider().strokeWidth(6).color('#f5f5f5')
114 ZhSingleColumn09({ compDTO: this.compDTO }) 136 ZhSingleColumn09({ compDTO: this.compDTO })
115 Divider().strokeWidth(6).color('#f5f5f5') 137 Divider().strokeWidth(6).color('#f5f5f5')
116 } else if (this.compDTO.compStyle === CompStyle.Card_Comp_Adv) { // 广告 138 } else if (this.compDTO.compStyle === CompStyle.Card_Comp_Adv) { // 广告
117 AdvCardParser({ pageModel: this.pageModel, compDTO: this.compDTO }) 139 AdvCardParser({ pageModel: this.pageModel, compDTO: this.compDTO })
118 - //Text(`compIndex = ${compIndex}`).width('100%').fontSize('12fp').fontColor(Color.Red).padding({ left: 16, right: 16 })  
119 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 140 + //Text(`compIndex = ${compIndex}`).width('100%').fontSize('12fp').fontColor(Color.Red).padding({ left: 0, right: 0 })
  141 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
120 } else if (!Number.isNaN(Number(this.compDTO.compStyle))) { 142 } else if (!Number.isNaN(Number(this.compDTO.compStyle))) {
121 CardParser({ contentDTO: this.compDTO.operDataList[0], compDTO: this.compDTO }); 143 CardParser({ contentDTO: this.compDTO.operDataList[0], compDTO: this.compDTO });
122 Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 144 Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 })
@@ -129,7 +151,7 @@ export struct CompParser { @@ -129,7 +151,7 @@ export struct CompParser {
129 // WDRouterRule.jumpWithPage(WDRouterPage.QualityCommentsPage) 151 // WDRouterRule.jumpWithPage(WDRouterPage.QualityCommentsPage)
130 // } 152 // }
131 // }) 153 // })
132 - // Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 154 + // Divider().strokeWidth(8).color('#f5f5f5').padding({ left: 0, right: 0 })
133 } 155 }
134 } 156 }
135 157
@@ -547,7 +547,7 @@ export struct DynamicDetailComponent { @@ -547,7 +547,7 @@ export struct DynamicDetailComponent {
547 } 547 }
548 .width(CommonConstants.FULL_WIDTH) 548 .width(CommonConstants.FULL_WIDTH)
549 .height(CommonConstants.FULL_HEIGHT) 549 .height(CommonConstants.FULL_HEIGHT)
550 - .padding({ bottom: 76 }) 550 + .padding({ bottom: 100 })
551 .scrollBar(BarState.Off) 551 .scrollBar(BarState.Off)
552 .alignSelf(ItemAlign.Start) 552 .alignSelf(ItemAlign.Start)
553 } 553 }
@@ -559,7 +559,7 @@ export struct DynamicDetailComponent { @@ -559,7 +559,7 @@ export struct DynamicDetailComponent {
559 operationButtonList: this.operationButtonList, 559 operationButtonList: this.operationButtonList,
560 styleType: 1, 560 styleType: 1,
561 }) 561 })
562 - 562 + .height(100)
563 } 563 }
564 } 564 }
565 .alignSelf(ItemAlign.Start) 565 .alignSelf(ItemAlign.Start)
@@ -627,6 +627,7 @@ export struct DynamicDetailComponent { @@ -627,6 +627,7 @@ export struct DynamicDetailComponent {
627 { 627 {
628 contentId: this.contentDetailData?.newsId + '', 628 contentId: this.contentDetailData?.newsId + '',
629 contentType: this.contentDetailData?.newsType + '', 629 contentType: this.contentDetailData?.newsType + '',
  630 + contentRelId: this.contentDetailData?.reLInfo?.relId + '',
630 } 631 }
631 ] 632 ]
632 } 633 }
@@ -278,6 +278,7 @@ export struct FeedBackActivity { @@ -278,6 +278,7 @@ export struct FeedBackActivity {
278 // 其中包含Array<string>类型的photoUris,为返回图库选择后的媒体文件的uri数组;还包含boolean类型的isOriginalPhoto,指示返回图库选择后的媒体文件是否为原图。 278 // 其中包含Array<string>类型的photoUris,为返回图库选择后的媒体文件的uri数组;还包含boolean类型的isOriginalPhoto,指示返回图库选择后的媒体文件是否为原图。
279 // 声明变量array,其取值为PhotoSelectResult中的数组。 279 // 声明变量array,其取值为PhotoSelectResult中的数组。
280 array = PhotoSelectResult['photoUris']; 280 array = PhotoSelectResult['photoUris'];
  281 + let beforeLen = this.pics.length;
281 let startIndex = this.pics.length-1; 282 let startIndex = this.pics.length-1;
282 let totalLen = this.pics.length+array.length; 283 let totalLen = this.pics.length+array.length;
283 if(totalLen > 3){ 284 if(totalLen > 3){
@@ -293,7 +294,7 @@ export struct FeedBackActivity { @@ -293,7 +294,7 @@ export struct FeedBackActivity {
293 mediaFlag = true; 294 mediaFlag = true;
294 Logger.info(TAG, `select image/video uri: ${value}`); 295 Logger.info(TAG, `select image/video uri: ${value}`);
295 }) 296 })
296 - if(this.pics.length<3){ 297 + if(this.pics.length<=3 && beforeLen != 3 && array.length != 3){
297 this.addPic.id = startIndex 298 this.addPic.id = startIndex
298 this.pics[this.pics.length-1]=this.addPic; 299 this.pics[this.pics.length-1]=this.addPic;
299 } 300 }
@@ -37,7 +37,9 @@ import { componentUtils, window } from '@kit.ArkUI'; @@ -37,7 +37,9 @@ import { componentUtils, window } from '@kit.ArkUI';
37 const PATTERN_DATE_CN_RN: string = 'yyyy年MM月dd日 HH:mm'; 37 const PATTERN_DATE_CN_RN: string = 'yyyy年MM月dd日 HH:mm';
38 38
39 const TAG: string = 'ImageAndTextPageComponent' 39 const TAG: string = 'ImageAndTextPageComponent'
40 - 40 +/**
  41 + * 图文详情页
  42 + * */
41 @Component 43 @Component
42 export struct ImageAndTextPageComponent { 44 export struct ImageAndTextPageComponent {
43 scroller: Scroller = new Scroller(); 45 scroller: Scroller = new Scroller();
@@ -326,6 +328,7 @@ export struct ImageAndTextPageComponent { @@ -326,6 +328,7 @@ export struct ImageAndTextPageComponent {
326 { 328 {
327 contentId: this.contentDetailData?.newsId + '', 329 contentId: this.contentDetailData?.newsId + '',
328 contentType: this.contentDetailData?.newsType + '', 330 contentType: this.contentDetailData?.newsType + '',
  331 + contentRelId: this.contentDetailData?.reLInfo?.relId + '',
329 } 332 }
330 ] 333 ]
331 } 334 }
@@ -21,7 +21,7 @@ export struct MultiPictureDetailItemComponent { @@ -21,7 +21,7 @@ export struct MultiPictureDetailItemComponent {
21 .alt($r('app.media.datail_imageLoading_w')) 21 .alt($r('app.media.datail_imageLoading_w'))
22 22
23 .width(this.imageWidth) 23 .width(this.imageWidth)
24 - .objectFit(ImageFit.Contain) 24 + .objectFit(ImageFit.Auto)
25 .interpolation(ImageInterpolation.High) 25 .interpolation(ImageInterpolation.High)
26 .onComplete(event => { 26 .onComplete(event => {
27 this.imageWidth = '100%' 27 this.imageWidth = '100%'
@@ -130,8 +130,10 @@ export struct CardMediaInfo { @@ -130,8 +130,10 @@ export struct CardMediaInfo {
130 Image($r('app.media.card_image')) 130 Image($r('app.media.card_image'))
131 .mediaLogo() 131 .mediaLogo()
132 Text(`${this.contentDTO.photoNum}`) 132 Text(`${this.contentDTO.photoNum}`)
133 - .mediaText() 133 + .mediaTextImgtype()
134 } 134 }
  135 + .margin({ left: 80,top: 55})
  136 +
135 } else if (this.contentDTO.objectType === '13') { 137 } else if (this.contentDTO.objectType === '13') {
136 // 显示音频信息 138 // 显示音频信息
137 Row() { 139 Row() {
@@ -161,8 +163,17 @@ export struct CardMediaInfo { @@ -161,8 +163,17 @@ export struct CardMediaInfo {
161 .height(14) 163 .height(14)
162 .margin({ right: 3 }) 164 .margin({ right: 3 })
163 } 165 }
  166 + @Styles
  167 + mediaLogo2() {
  168 + .width(14)
  169 + .height(14)
  170 + .margin({ top:5,right:5 })
  171 + }
  172 +
164 } 173 }
165 174
  175 +
  176 +
166 @Extend(Text) 177 @Extend(Text)
167 function mediaText() { 178 function mediaText() {
168 .fontColor($r('app.color.color_fff')) 179 .fontColor($r('app.color.color_fff'))
@@ -173,4 +184,15 @@ function mediaText() { @@ -173,4 +184,15 @@ function mediaText() {
173 color: 'rgba(0,0,0,0.3)', 184 color: 'rgba(0,0,0,0.3)',
174 offsetY: 2 185 offsetY: 2
175 }) 186 })
176 -}  
  187 +}
  188 +@Extend(Text)
  189 +function mediaTextImgtype() {
  190 + .fontColor($r('app.color.color_fff'))
  191 + .fontSize($r('app.float.font_size_13'))
  192 + .lineHeight(18)
  193 + .textShadow({
  194 + radius: 2,
  195 + color: 'rgba(0,0,0,0.3)',
  196 + offsetY: 2
  197 + })
  198 +}
1 import { CompDTO, ContentDTO } from 'wdBean' 1 import { CompDTO, ContentDTO } from 'wdBean'
2 import { CommonConstants } from 'wdConstant/Index'; 2 import { CommonConstants } from 'wdConstant/Index';
3 import { DateTimeUtils } from 'wdKit/Index'; 3 import { DateTimeUtils } from 'wdKit/Index';
  4 +import { JSON } from '@kit.ArkTS';
  5 +import router from '@ohos.router'
4 6
5 @Component 7 @Component
6 export struct CardSourceInfo { 8 export struct CardSourceInfo {
7 @State contentDTO: ContentDTO = new ContentDTO(); 9 @State contentDTO: ContentDTO = new ContentDTO();
8 @ObjectLink compDTO: CompDTO 10 @ObjectLink compDTO: CompDTO
9 11
  12 + handleTimeStr() {
  13 + return DateTimeUtils.getCommentTime(
  14 + this.contentDTO.publishTime.includes(' ')
  15 + ? Number.parseFloat(new Date(this.contentDTO.publishTime).getTime().toString())
  16 + : Number.parseFloat(this.contentDTO.publishTime)
  17 + )
  18 + }
  19 +
  20 + showTime() {
  21 + console.log('curRouter', this.contentDTO.publishTime)
  22 + const curRouter = router.getState().name;
  23 + const publishTime = this.contentDTO.publishTime.includes(' ')
  24 + ? new Date(this.contentDTO.publishTime).getTime().toString()
  25 + : this.contentDTO.publishTime
  26 + let flag: boolean = false;
  27 + if (curRouter === 'MainPage') {
  28 + if (this.isTwoDaysAgo(publishTime)) {
  29 + console.log('curRouter 01')
  30 + flag = false
  31 + } else {
  32 + console.log('curRouter 02')
  33 + flag = true;
  34 + }
  35 + } else {
  36 + console.log('curRouter 03')
  37 + flag = true;
  38 + }
  39 + return flag;
  40 + }
  41 +
  42 + isTwoDaysAgo(date: string) {
  43 + const twoDaysAgo = new Date();
  44 + twoDaysAgo.setDate(twoDaysAgo.getDate() - 2);
  45 + console.log('curRouter', date)
  46 + return parseInt(date) < twoDaysAgo.getTime()
  47 + }
  48 +
10 build() { 49 build() {
11 Flex({ alignItems: ItemAlign.Center }) { 50 Flex({ alignItems: ItemAlign.Center }) {
12 if (this.contentDTO.corner) { 51 if (this.contentDTO.corner) {
@@ -52,11 +91,12 @@ export struct CardSourceInfo { @@ -52,11 +91,12 @@ export struct CardSourceInfo {
52 // .fontColor($r("app.color.color_B0B0B0")) 91 // .fontColor($r("app.color.color_B0B0B0"))
53 // .flexShrink(0); 92 // .flexShrink(0);
54 // } 93 // }
55 - if (this.contentDTO.source) {  
56 - Text(DateTimeUtils.getCommentTime(Number.parseFloat(new Date(this.contentDTO.publishTime).getTime().toString()))) 94 + if (this.contentDTO.source && this.showTime()) {
  95 + Text(this.handleTimeStr())
57 .fontSize($r("app.float.font_size_11")) 96 .fontSize($r("app.float.font_size_11"))
58 .fontColor($r("app.color.color_B0B0B0")) 97 .fontColor($r("app.color.color_B0B0B0"))
59 - .flexShrink(0); 98 + .flexShrink(0)
  99 + .margin({right: 4})
60 } 100 }
61 101
62 if (this.getContentDtoBean()?.interactData?.commentNum && this.contentDTO.source) { 102 if (this.getContentDtoBean()?.interactData?.commentNum && this.contentDTO.source) {
@@ -64,7 +104,6 @@ export struct CardSourceInfo { @@ -64,7 +104,6 @@ export struct CardSourceInfo {
64 .fontSize($r("app.float.font_size_11")) 104 .fontSize($r("app.float.font_size_11"))
65 .fontColor($r("app.color.color_B0B0B0")) 105 .fontColor($r("app.color.color_B0B0B0"))
66 .flexShrink(0) 106 .flexShrink(0)
67 - .margin({ left: 6 })  
68 .visibility(Number(this.getContentDtoBean()?.interactData?.commentNum) === 0 ? Visibility.None : 107 .visibility(Number(this.getContentDtoBean()?.interactData?.commentNum) === 0 ? Visibility.None :
69 Visibility.Visible) 108 Visibility.Visible)
70 } 109 }
@@ -75,7 +75,7 @@ export struct Card4Component { @@ -75,7 +75,7 @@ export struct Card4Component {
75 ForEach(this.contentDTO.fullColumnImgUrls, (item: FullColumnImgUrlDTO, index: number) => { 75 ForEach(this.contentDTO.fullColumnImgUrls, (item: FullColumnImgUrlDTO, index: number) => {
76 if (index < 3) { 76 if (index < 3) {
77 GridCol({ span: { xs: 4 } }) { 77 GridCol({ span: { xs: 4 } }) {
78 - Image(this.loadImg ? item.url : '') 78 + Image(this.loadImg ? item.url || item.fullUrl : '')
79 .backgroundColor(0xf5f5f5) 79 .backgroundColor(0xf5f5f5)
80 .width('100%') 80 .width('100%')
81 .aspectRatio(113 / 75) 81 .aspectRatio(113 / 75)
  1 +/**
  2 + * More_Comp
  3 + */
  4 +const TAG: string = 'Card9Component';
  5 +
  6 +@Entry
  7 +@Component
  8 +export struct MoreComponent {
  9 +
  10 + build() {
  11 + Row() {
  12 + Text('点击展开更多相似')
  13 + .fontSize(16)
  14 + Image($r('app.media.comment_unfold'))
  15 + .width(16)
  16 + .height(16)
  17 + }
  18 + .justifyContent(FlexAlign.Center)
  19 + .width('100%')
  20 + .height(48)
  21 + .backgroundColor(0xffffff)
  22 + }
  23 +}
@@ -114,7 +114,7 @@ export class commentItemModel { @@ -114,7 +114,7 @@ export class commentItemModel {
114 /*评论点赞状态 0-未点赞 1-已点赞*/ 114 /*评论点赞状态 0-未点赞 1-已点赞*/
115 api_status: boolean = false; 115 api_status: boolean = false;
116 api_level: string = ''; 116 api_level: string = '';
117 - api_levelHead: string = 'http'; 117 + api_levelHead: string = '';
118 api_userId: string = ''; 118 api_userId: string = '';
119 api_creatorId: string = ''; 119 api_creatorId: string = '';
120 api_userType: string = ''; 120 api_userType: string = '';
1 -import { DateTimeUtils, EmitterEventId, EmitterUtils, LazyDataSource } from 'wdKit/Index'; 1 +import { DateTimeUtils, EmitterEventId, EmitterUtils, LazyDataSource, StringUtils } from 'wdKit/Index';
2 import { commentItemModel, WDPublicUserType } from '../model/CommentModel'; 2 import { commentItemModel, WDPublicUserType } from '../model/CommentModel';
3 import commentViewModel from '../viewmodel/CommentViewModel'; 3 import commentViewModel from '../viewmodel/CommentViewModel';
4 import { CommentText } from './CommentText'; 4 import { CommentText } from './CommentText';
@@ -303,34 +303,7 @@ struct ChildCommentItem { @@ -303,34 +303,7 @@ struct ChildCommentItem {
303 Column() { 303 Column() {
304 Row() { 304 Row() {
305 //头像 305 //头像
306 - Stack() {  
307 - Image(this.item.fromUserHeader)  
308 - .alt($r('app.media.default_head'))  
309 - .width('24')  
310 - .height('24')  
311 - .objectFit(ImageFit.Cover)  
312 - .borderRadius(16)  
313 - Image(this.item.api_levelHead)  
314 - .width('36')  
315 - .height('36')  
316 - .objectFit(ImageFit.Cover)  
317 - .borderRadius(24)  
318 - }  
319 - .width(48)  
320 - .height(48)  
321 - .margin({ left: 47 })  
322 - .alignContent(Alignment.Center)  
323 - .onClick(() => {  
324 - // TODO 跳转个人详情  
325 - // 跳转到号主页  
326 - if (this.contentDetailData.rmhInfo?.cnMainControl === 1) {  
327 - const params: Params = {  
328 - creatorId: this.contentDetailData.rmhInfo.rmhId,  
329 - pageID: ''  
330 - }  
331 - WDRouterRule.jumpWithPage(WDRouterPage.peopleShipHomePage, params)  
332 - }  
333 - }) 306 + this.headerView()
334 307
335 //昵称 308 //昵称
336 Text() { 309 Text() {
@@ -354,7 +327,7 @@ struct ChildCommentItem { @@ -354,7 +327,7 @@ struct ChildCommentItem {
354 /// 人民号>置顶>作者 327 /// 人民号>置顶>作者
355 328
356 //人民号 329 //人民号
357 - if (this.item.fromUserType === WDPublicUserType.WDPublicUserType_Matrix) { 330 + if (this.item.fromUserType !== 1) {
358 Image($r('app.media.comment_rmh_tag')).width(20).height(20).margin({ left: 5 }); 331 Image($r('app.media.comment_rmh_tag')).width(20).height(20).margin({ left: 5 });
359 } 332 }
360 //置顶 333 //置顶
@@ -400,6 +373,53 @@ struct ChildCommentItem { @@ -400,6 +373,53 @@ struct ChildCommentItem {
400 .width('100%') 373 .width('100%')
401 } 374 }
402 375
  376 + @Builder headerView() {
  377 + Stack() {
  378 + Stack() {
  379 + Image(this.item.fromUserHeader)
  380 + .alt($r('app.media.default_head'))
  381 + .width(24)
  382 + .height(24)
  383 + .objectFit(ImageFit.Cover)
  384 + .borderRadius(16)
  385 +
  386 + if (this.item.api_authIcon && this.item.api_authIcon.length) {
  387 + Image(this.item.api_authIcon) // 加v
  388 + .width(14).height(14)
  389 + .objectFit(ImageFit.Cover)
  390 + }
  391 + }.width(24).height(24)
  392 + .alignContent(Alignment.BottomEnd)
  393 +
  394 + if ((!this.item.api_authIcon || this.item.api_authIcon.length == 0)
  395 + && this.item.fromUserType === 1
  396 + && ((this.item.api_levelHead && this.item.api_levelHead.length > 0)
  397 + || (this.item.avatarFrame && this.item.avatarFrame.length > 0))) {
  398 + Image(this.customBorderIconURL())
  399 + .width('36')
  400 + .height('36')
  401 + .objectFit(ImageFit.Cover)
  402 + .borderRadius(24)
  403 + }
  404 + }
  405 + .width(48).height(48)
  406 + .margin({ left: 47 })
  407 + .alignContent(Alignment.Center)
  408 + .onClick(() => {
  409 + commentViewModel.jumpToAccountPage(this.item)
  410 + })
  411 + }
  412 +
  413 + customBorderIconURL() : string {
  414 + if (this.item.avatarFrame.length > 0) {
  415 + return this.item.avatarFrame
  416 + }
  417 + if (this.item.fromUserType === 1) {
  418 + return this.item.api_levelHead
  419 + }
  420 + return ""
  421 + }
  422 +
403 replyComment() { 423 replyComment() {
404 if (this.item.id && this.item.checkStatus == '2') { // 审核通过的才显示回复 424 if (this.item.id && this.item.checkStatus == '2') { // 审核通过的才显示回复
405 this.publishCommentModel.rootCommentId = this.item.rootCommentId 425 this.publishCommentModel.rootCommentId = this.item.rootCommentId
@@ -498,26 +518,7 @@ struct commentHeaderView { @@ -498,26 +518,7 @@ struct commentHeaderView {
498 Column() { 518 Column() {
499 Row() { 519 Row() {
500 //头像 520 //头像
501 - Stack() {  
502 - Image(this.item.fromUserHeader)  
503 - .alt($r('app.media.default_head'))  
504 - .width('32')  
505 - .height('32')  
506 - .objectFit(ImageFit.Cover)  
507 - .borderRadius(16)  
508 - Image(this.item.api_levelHead)  
509 - .width('48')  
510 - .height('48')  
511 - .objectFit(ImageFit.Cover)  
512 - .borderRadius(24)  
513 - }  
514 - .width(48)  
515 - .height(48)  
516 - .margin({ left: 8 })  
517 - .alignContent(Alignment.Center)  
518 - .onClick(() => {  
519 - commentViewModel.jumpToAccountPage(this.item)  
520 - }) 521 + this.headerView()
521 522
522 //昵称 523 //昵称
523 Text(this.item.fromUserName) 524 Text(this.item.fromUserName)
@@ -531,7 +532,7 @@ struct commentHeaderView { @@ -531,7 +532,7 @@ struct commentHeaderView {
531 /// 人民号>置顶>作者 532 /// 人民号>置顶>作者
532 533
533 //人民号 534 //人民号
534 - if (this.item.fromUserType === WDPublicUserType.WDPublicUserType_Matrix) { 535 + if (this.item.fromUserType !== 1) {
535 Image($r('app.media.comment_rmh_tag')).width(20).height(20).margin({ left: 5 }); 536 Image($r('app.media.comment_rmh_tag')).width(20).height(20).margin({ left: 5 });
536 } 537 }
537 //置顶 538 //置顶
@@ -573,6 +574,53 @@ struct commentHeaderView { @@ -573,6 +574,53 @@ struct commentHeaderView {
573 .padding({bottom: 8}) 574 .padding({bottom: 8})
574 } 575 }
575 576
  577 + @Builder headerView() {
  578 + Stack() {
  579 + Stack() {
  580 + Image(this.item.fromUserHeader)
  581 + .alt($r('app.media.default_head'))
  582 + .width(32)
  583 + .height(32)
  584 + .objectFit(ImageFit.Cover)
  585 + .borderRadius(16)
  586 +
  587 + if (this.item.api_authIcon && this.item.api_authIcon.length > 0) {
  588 + Image(this.item.api_authIcon) // 加v
  589 + .width(14).height(14)
  590 + .objectFit(ImageFit.Cover)
  591 + }
  592 + }.width(32).height(32)
  593 + .alignContent(Alignment.BottomEnd)
  594 +
  595 + if ((!this.item.api_authIcon || this.item.api_authIcon.length == 0)
  596 + && this.item.fromUserType === 1
  597 + && ((this.item.api_levelHead && this.item.api_levelHead.length > 0)
  598 + || (this.item.avatarFrame && this.item.avatarFrame.length > 0))) {
  599 + Image(this.customBorderIconURL())
  600 + .width(48)
  601 + .height(48)
  602 + .objectFit(ImageFit.Cover)
  603 + .borderRadius(24)
  604 + }
  605 + }
  606 + .width(48).height(48)
  607 + .margin({ left: 8 })
  608 + .alignContent(Alignment.Center)
  609 + .onClick(() => {
  610 + commentViewModel.jumpToAccountPage(this.item)
  611 + })
  612 + }
  613 +
  614 + customBorderIconURL() : string {
  615 + if (this.item.avatarFrame.length > 0) {
  616 + return this.item.avatarFrame
  617 + }
  618 + if (this.item.fromUserType === 1) {
  619 + return this.item.api_levelHead
  620 + }
  621 + return ""
  622 + }
  623 +
576 replyComment() { 624 replyComment() {
577 if (this.item.id && this.item.checkStatus == '2') { // 审核通过的才显示回复 625 if (this.item.id && this.item.checkStatus == '2') { // 审核通过的才显示回复
578 this.publishCommentModel.rootCommentId = this.item.rootCommentId 626 this.publishCommentModel.rootCommentId = this.item.rootCommentId
@@ -596,7 +644,7 @@ struct commentFooterView { @@ -596,7 +644,7 @@ struct commentFooterView {
596 Row() { 644 Row() {
597 645
598 Row({ space: 6 }) { 646 Row({ space: 6 }) {
599 - Text(this.item.region ? (this.item.region + '网友') : '人民日报客户端网友') 647 + Text(this.item.region.length > 0 ? (this.item.region + '网友') : '人民日报客户端网友')
600 .fontColor($r('app.color.color_B0B0B0')) 648 .fontColor($r('app.color.color_B0B0B0'))
601 .fontSize(12); 649 .fontSize(12);
602 Image($r('app.media.comment_hyphen')) 650 Image($r('app.media.comment_hyphen'))
@@ -631,7 +679,7 @@ struct commentFooterView { @@ -631,7 +679,7 @@ struct commentFooterView {
631 .fontColor($r('app.color.color_666666')) 679 .fontColor($r('app.color.color_666666'))
632 .fontSize(14) 680 .fontSize(14)
633 681
634 - Image($r(this.item.api_status ? 'app.media.comment_like_select' : 'app.media.comment_like_normal')) 682 + Image(this.item.api_status ? $r('app.media.comment_like_select') : $r('app.media.comment_like_normal'))
635 .size({ 683 .size({
636 width: 16, 684 width: 16,
637 height: 16 685 height: 16
@@ -381,7 +381,7 @@ struct QualityCommentItem { @@ -381,7 +381,7 @@ struct QualityCommentItem {
381 }) 381 })
382 382
383 Row() { 383 Row() {
384 - Image($r(this.item.api_status ? 'app.media.comment_like_select' : 'app.media.comment_like_normal')) 384 + Image(this.item.api_status ? $r('app.media.comment_like_select') : $r('app.media.comment_like_normal'))
385 .width(16) 385 .width(16)
386 .height(16) 386 .height(16)
387 if (this.item.likeNum && this.item.likeNum != '0') { 387 if (this.item.likeNum && this.item.likeNum != '0') {
@@ -419,7 +419,7 @@ class CommentViewModel { @@ -419,7 +419,7 @@ class CommentViewModel {
419 newModel.fromUserHeader = model.fromUserHeader 419 newModel.fromUserHeader = model.fromUserHeader
420 newModel.fromUserId = model.fromUserId 420 newModel.fromUserId = model.fromUserId
421 newModel.fromUserName = model.fromUserName 421 newModel.fromUserName = model.fromUserName
422 - if (model.toUserType != null) { 422 + if (model.fromUserType) {
423 newModel.fromUserType = model.fromUserType 423 newModel.fromUserType = model.fromUserType
424 } 424 }
425 newModel.id = model.id 425 newModel.id = model.id
@@ -443,7 +443,7 @@ class CommentViewModel { @@ -443,7 +443,7 @@ class CommentViewModel {
443 // newModel.isLoading = model.isLoading 443 // newModel.isLoading = model.isLoading
444 444
445 445
446 - if (model.toUserType != null) { 446 + if (model.toUserType) {
447 newModel.toUserType = model.toUserType.toString() 447 newModel.toUserType = model.toUserType.toString()
448 } 448 }
449 newModel.topFlag = model.topFlag 449 newModel.topFlag = model.topFlag
@@ -71,6 +71,7 @@ export struct ZhSingleRow06 { @@ -71,6 +71,7 @@ export struct ZhSingleRow06 {
71 { 71 {
72 contentId: this.compDTO.operDataList[0]?.commentInfo?.newsId + '', 72 contentId: this.compDTO.operDataList[0]?.commentInfo?.newsId + '',
73 contentType: this.compDTO.operDataList[0]?.commentInfo?.newsType + '', 73 contentType: this.compDTO.operDataList[0]?.commentInfo?.newsType + '',
  74 + contentRelId: this.compDTO.operDataList[0]?.commentInfo?.relId + '',
74 } 75 }
75 ] 76 ]
76 } 77 }
@@ -154,7 +154,12 @@ export struct FollowListDetailUI { @@ -154,7 +154,12 @@ export struct FollowListDetailUI {
154 } else { 154 } else {
155 fansNumString = fansNum + "" 155 fansNumString = fansNum + ""
156 } 156 }
157 - this.data.push(new FollowListDetailItem(value.attentionHeadPhotoUrl, value.attentionUserName, fansNumString, value.introduction, value.attentionCreatorId, "1", value.attentionUserId, value.attentionUserType, value.attentionUserId, value.mainControl, value.banControl, value.authIcon)) 157 + let introduction = value.introduction
  158 + if(value.introduction.indexOf("\n") != -1){
  159 + let regex:RegExp = new RegExp('\n','g')
  160 + introduction = value.introduction.replace(regex,'')
  161 + }
  162 + this.data.push(new FollowListDetailItem(value.attentionHeadPhotoUrl, value.attentionUserName, fansNumString, introduction, value.attentionCreatorId, "1", value.attentionUserId, value.attentionUserType, value.attentionUserId, value.mainControl, value.banControl, value.authIcon))
158 }) 163 })
159 this.data.notifyDataReload() 164 this.data.notifyDataReload()
160 this.count = this.data.totalCount() 165 this.count = this.data.totalCount()
@@ -272,7 +277,12 @@ export struct FollowListDetailUI { @@ -272,7 +277,12 @@ export struct FollowListDetailUI {
272 }) 277 })
273 278
274 result.forEach((item) => { 279 result.forEach((item) => {
275 - this.data.push(new FollowListDetailItem(item.headPhotoUrl, item.cnUserName, item.cnFansNum, item.introduction, item.creatorId, item.status, item.attentionUserId, item.cnUserType, item.cnUserId, item.mainControl, item.banControl, item.authIcon)) 280 + let introduction = item.introduction
  281 + if(item.introduction.indexOf("\n") != -1){
  282 + let regex:RegExp = new RegExp('\n','g')
  283 + introduction = item.introduction.replace(regex,'')
  284 + }
  285 + this.data.push(new FollowListDetailItem(item.headPhotoUrl, item.cnUserName, item.cnFansNum, introduction, item.creatorId, item.status, item.attentionUserId, item.cnUserType, item.cnUserId, item.mainControl, item.banControl, item.authIcon))
276 }) 286 })
277 287
278 this.data.notifyDataReload() 288 this.data.notifyDataReload()
1 -import { LazyDataSource, NetworkUtil, StringUtils } from 'wdKit/Index'; 1 +import { LazyDataSource, NetworkUtil, StringUtils, ToastUtils } from 'wdKit/Index';
2 import { Remark, SubscribeMessageModel, 2 import { Remark, SubscribeMessageModel,
3 WDMessageCenterMessageType } from '../../../../model/InteractMessageModel'; 3 WDMessageCenterMessageType } from '../../../../model/InteractMessageModel';
4 import MinePageDatasModel from '../../../../model/MinePageDatasModel'; 4 import MinePageDatasModel from '../../../../model/MinePageDatasModel';
@@ -81,7 +81,6 @@ export struct SubscribeMessageComponent{ @@ -81,7 +81,6 @@ export struct SubscribeMessageComponent{
81 } 81 }
82 }) 82 })
83 .width('100%') 83 .width('100%')
84 - .margin({bottom:px2vp(this.bottomSafeHeight)})  
85 } 84 }
86 } 85 }
87 .backgroundColor($r('app.color.color_F9F9F9')) 86 .backgroundColor($r('app.color.color_F9F9F9'))
@@ -89,6 +88,31 @@ export struct SubscribeMessageComponent{ @@ -89,6 +88,31 @@ export struct SubscribeMessageComponent{
89 .width('100%') 88 .width('100%')
90 } 89 }
91 90
  91 + jumpDetail(item: SubscribeMessageModel){
  92 + MinePageDatasModel.getAssertDetailData(item.relId,item.contentId,item.relType).then((value) => {
  93 + if(value == "1"){
  94 + let action = {
  95 + type:item.contentType,
  96 + params:{
  97 + extra:{
  98 + relId:item.relId,
  99 + relType:item.relType
  100 + },
  101 + contentID:item.contentId
  102 + }
  103 + } as Action
  104 + WDRouterRule.jumpWithPage(WDRouterPage.detailPlayLiveCommon, action)
  105 + }else{
  106 + ToastUtils.shortToast("内容不存在")
  107 + }
  108 + }).catch((err: Error) => {
  109 + console.log(TAG, JSON.stringify(err))
  110 + })
  111 +
  112 +
  113 +
  114 + }
  115 +
92 @Builder ListLayout(){ 116 @Builder ListLayout(){
93 List({scroller: this.scroller}) { 117 List({scroller: this.scroller}) {
94 LazyForEach(this.data, (item: SubscribeMessageModel, index: number) => { 118 LazyForEach(this.data, (item: SubscribeMessageModel, index: number) => {
@@ -96,29 +120,19 @@ export struct SubscribeMessageComponent{ @@ -96,29 +120,19 @@ export struct SubscribeMessageComponent{
96 SubscribeListChildComponent({ item: item }) 120 SubscribeListChildComponent({ item: item })
97 }.width('100%') 121 }.width('100%')
98 .onClick(()=>{ 122 .onClick(()=>{
99 - let action = {  
100 - type:item.contentType,  
101 - params:{  
102 - extra:{  
103 - relId:item.relId,  
104 - relType:item.relType  
105 - },  
106 - contentID:item.contentId  
107 - }  
108 - } as Action  
109 - WDRouterRule.jumpWithPage(WDRouterPage.detailPlayLiveCommon, action) 123 + this.jumpDetail(item)
110 }) 124 })
111 }) 125 })
112 //没有更多数据 显示提示 126 //没有更多数据 显示提示
113 if (!this.hasMore) { 127 if (!this.hasMore) {
114 ListItem() { 128 ListItem() {
115 ListHasNoMoreDataUI() 129 ListHasNoMoreDataUI()
116 - } 130 + }.padding({bottom:px2vp(this.bottomSafeHeight) + 10})
117 } 131 }
118 }.width('100%') 132 }.width('100%')
  133 + .edgeEffect(EdgeEffect.None)
119 .height("100%") 134 .height("100%")
120 .scrollBar(BarState.Off) 135 .scrollBar(BarState.Off)
121 - .layoutWeight(1)  
122 } 136 }
123 137
124 getNewPageData() { 138 getNewPageData() {
@@ -3,7 +3,7 @@ import { PrivacySettingModel } from '../../model/PrivacySettingModel' @@ -3,7 +3,7 @@ import { PrivacySettingModel } from '../../model/PrivacySettingModel'
3 import { Params } from 'wdBean'; 3 import { Params } from 'wdBean';
4 import { WDRouterPage, WDRouterRule } from 'wdRouter'; 4 import { WDRouterPage, WDRouterRule } from 'wdRouter';
5 import { HttpUtils } from 'wdNetwork/Index'; 5 import { HttpUtils } from 'wdNetwork/Index';
6 -import { TrackingPageBrowse, TrackConstants } from 'wdTracking/Index'; 6 +import { TrackingPageBrowse, TrackConstants, TrackingButton } from 'wdTracking/Index';
7 7
8 const TAG = 'PrivacySettingPage'; 8 const TAG = 'PrivacySettingPage';
9 const DiyString = '开启个性化推荐' 9 const DiyString = '开启个性化推荐'
@@ -79,8 +79,19 @@ export struct PrivacySettingPage { @@ -79,8 +79,19 @@ export struct PrivacySettingPage {
79 } 79 }
80 }.onClick(() => { 80 }.onClick(() => {
81 if (item.privacyName == DiyString) { 81 if (item.privacyName == DiyString) {
  82 + trackButtonClick("privacySettingPagePersonalizedRecommendations")
82 return 83 return
83 } 84 }
  85 + if(item.privacyName == "相册权限"){
  86 + trackButtonClick("privacySettingPageAlbumPermissions")
  87 + }else if(item.privacyName == "相机权限"){
  88 + trackButtonClick("privacySettingPageCameraPermissions")
  89 + }else if(item.privacyName == "定位权限"){
  90 + trackButtonClick("privacySettingPageLocationPermissions")
  91 + }else if(item.privacyName == "麦克风权限"){
  92 + trackButtonClick("privacySettingPageMicrophonePermissions")
  93 + }
  94 +
84 if (!item.permission) { 95 if (!item.permission) {
85 //跳转权限设置 96 //跳转权限设置
86 const permissionUtil = new PermissionUtil(); 97 const permissionUtil = new PermissionUtil();
@@ -213,3 +224,7 @@ struct getTuiJianCell { @@ -213,3 +224,7 @@ struct getTuiJianCell {
213 .padding({ left: '29lpx', right: '29lpx' }) 224 .padding({ left: '29lpx', right: '29lpx' })
214 } 225 }
215 } 226 }
  227 +
  228 +function trackButtonClick(buttonName: string){
  229 + TrackingButton.click(buttonName, TrackConstants.PageName.Privacy_Setting, TrackConstants.PageName.Privacy_Setting)
  230 +}
@@ -4,7 +4,7 @@ import { AccountAndSecurityLayout } from '../setting/AccountAndSecurityLayout'; @@ -4,7 +4,7 @@ import { AccountAndSecurityLayout } from '../setting/AccountAndSecurityLayout';
4 import router from '@ohos.router'; 4 import router from '@ohos.router';
5 import { Action, Params } from 'wdBean'; 5 import { Action, Params } from 'wdBean';
6 import { DateTimeUtils } from 'wdKit/Index'; 6 import { DateTimeUtils } from 'wdKit/Index';
7 -import { TrackingPageBrowse, TrackConstants } from 'wdTracking/Index'; 7 +import { TrackingPageBrowse, TrackConstants, TrackingButton } from 'wdTracking/Index';
8 8
9 @Entry 9 @Entry
10 @Component 10 @Component
@@ -67,6 +67,4 @@ struct SettingPage { @@ -67,6 +67,4 @@ struct SettingPage {
67 67
68 export { SettingPage }; 68 export { SettingPage };
69 69
70 -/*  
71 70
72 -* */  
@@ -8,6 +8,7 @@ import { FirstTabTopSearchComponent } from '../search/FirstTabTopSearchComponent @@ -8,6 +8,7 @@ import { FirstTabTopSearchComponent } from '../search/FirstTabTopSearchComponent
8 import { AssignChannelParam } from 'wdRouter/src/main/ets/utils/HomeChannelUtils'; 8 import { AssignChannelParam } from 'wdRouter/src/main/ets/utils/HomeChannelUtils';
9 import { PeopleShipMainComponent } from '../peopleShip/PeopleShipMainComponent'; 9 import { PeopleShipMainComponent } from '../peopleShip/PeopleShipMainComponent';
10 import { channelSkeleton } from '../skeleton/channelSkeleton'; 10 import { channelSkeleton } from '../skeleton/channelSkeleton';
  11 +import { TrackingButton, TrackConstants } from 'wdTracking/Index';
11 12
12 const TAG = 'TopNavigationComponent'; 13 const TAG = 'TopNavigationComponent';
13 14
@@ -367,6 +368,7 @@ export struct TopNavigationComponent { @@ -367,6 +368,7 @@ export struct TopNavigationComponent {
367 .alignItems(VerticalAlign.Center) 368 .alignItems(VerticalAlign.Center)
368 .justifyContent(FlexAlign.Center) 369 .justifyContent(FlexAlign.Center)
369 .onClick(() => { 370 .onClick(() => {
  371 + TrackingButton.click("", TrackConstants.PageName.Search, "PEOPLE")
370 WDRouterRule.jumpWithPage(WDRouterPage.searchPage) 372 WDRouterRule.jumpWithPage(WDRouterPage.searchPage)
371 }) 373 })
372 } 374 }
@@ -63,14 +63,23 @@ export struct PeopleShipMainComponent { @@ -63,14 +63,23 @@ export struct PeopleShipMainComponent {
63 if (this.viewType == ViewType.LOADING) { 63 if (this.viewType == ViewType.LOADING) {
64 this.LoadingLayout() 64 this.LoadingLayout()
65 } else if (this.viewType == ViewType.ERROR) { 65 } else if (this.viewType == ViewType.ERROR) {
66 - ErrorComponent()  
67 - .onTouch(() => {  
68 - if (this.viewType === ViewType.ERROR) {  
69 - this.getData()  
70 - } 66 + //缺省页
  67 + EmptyComponent({
  68 + emptyType: this.pageModel.emptyType,
  69 + emptyButton: true,
  70 + retry: () => {
  71 + this.getData()
  72 + }
71 }) 73 })
72 } else if (this.viewType == ViewType.EMPTY) { 74 } else if (this.viewType == ViewType.EMPTY) {
73 - EmptyComponent() 75 + //缺省页
  76 + EmptyComponent({
  77 + emptyType: this.pageModel.emptyType,
  78 + emptyButton: true,
  79 + retry: () => {
  80 + this.getData()
  81 + }
  82 + })
74 } else { 83 } else {
75 if (this.followList.length == 0) { 84 if (this.followList.length == 0) {
76 CustomPullToRefresh({ 85 CustomPullToRefresh({
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
6 */ 6 */
7 import { SPHelper } from 'wdKit/Index' 7 import { SPHelper } from 'wdKit/Index'
8 import { WDRouterPage, WDRouterRule } from 'wdRouter' 8 import { WDRouterPage, WDRouterRule } from 'wdRouter'
  9 +import { TrackingButton, TrackConstants } from 'wdTracking/Index'
9 import DailyPaperTopicModel from '../../model/DailyPaperTopicModel' 10 import DailyPaperTopicModel from '../../model/DailyPaperTopicModel'
10 import SearcherAboutDataModel from '../../model/SearcherAboutDataModel' 11 import SearcherAboutDataModel from '../../model/SearcherAboutDataModel'
11 12
@@ -77,6 +78,7 @@ export struct FirstTabTopSearchComponent { @@ -77,6 +78,7 @@ export struct FirstTabTopSearchComponent {
77 .backgroundImage($r('app.media.background_search')) 78 .backgroundImage($r('app.media.background_search'))
78 .backgroundImageSize(ImageSize.Cover) 79 .backgroundImageSize(ImageSize.Cover)
79 .onClick(() => { 80 .onClick(() => {
  81 + TrackingButton.click("", TrackConstants.PageName.Search, "NEWS")
80 WDRouterRule.jumpWithPage(WDRouterPage.searchPage) 82 WDRouterRule.jumpWithPage(WDRouterPage.searchPage)
81 }) 83 })
82 } 84 }
1 import { Params } from 'wdBean'; 1 import { Params } from 'wdBean';
2 import { AppUtils, StringUtils } from 'wdKit/Index'; 2 import { AppUtils, StringUtils } from 'wdKit/Index';
3 import { WDRouterPage, WDRouterRule } from 'wdRouter'; 3 import { WDRouterPage, WDRouterRule } from 'wdRouter';
  4 +import { TrackingButton, TrackConstants } from 'wdTracking/Index';
4 import { CustomTitleUI } from '../reusable/CustomTitleUI'; 5 import { CustomTitleUI } from '../reusable/CustomTitleUI';
5 import { EnvironmentCustomDialog } from './EnvironmentCustomDialog'; 6 import { EnvironmentCustomDialog } from './EnvironmentCustomDialog';
6 7
@@ -58,9 +59,11 @@ export struct AboutPageUI { @@ -58,9 +59,11 @@ export struct AboutPageUI {
58 this.getArrowCell(item, index) 59 this.getArrowCell(item, index)
59 }.onClick(() => { 60 }.onClick(() => {
60 if (index == 0) { 61 if (index == 0) {
  62 + trackButtonClick("aboutPagePrivacyAgreement")
61 let bean = { contentID: "2", pageID: "" } as Params 63 let bean = { contentID: "2", pageID: "" } as Params
62 WDRouterRule.jumpWithPage(WDRouterPage.loginProtocolPage, bean) 64 WDRouterRule.jumpWithPage(WDRouterPage.loginProtocolPage, bean)
63 } else if(index == 1){ 65 } else if(index == 1){
  66 + trackButtonClick("aboutPageUserAgreement")
64 let bean = { contentID: "1", pageID: "" } as Params 67 let bean = { contentID: "1", pageID: "" } as Params
65 WDRouterRule.jumpWithPage(WDRouterPage.loginProtocolPage, bean) 68 WDRouterRule.jumpWithPage(WDRouterPage.loginProtocolPage, bean)
66 }else if(index == 2){ 69 }else if(index == 2){
@@ -124,4 +127,8 @@ export struct AboutPageUI { @@ -124,4 +127,8 @@ export struct AboutPageUI {
124 } 127 }
125 } 128 }
126 129
  130 +function trackButtonClick(buttonName: string){
  131 + TrackingButton.click(buttonName, TrackConstants.PageName.About, TrackConstants.PageName.About)
  132 +}
  133 +
127 134
1 -  
2 -import { BottomNavi, CommonConstants, SpConstants } from 'wdConstant';  
3 -import { Logger, SPHelper, ToastUtils, UserDataLocal, EmitterEventId, EmitterUtils } from 'wdKit';  
4 -import { TopNavigationComponent } from '../page/TopNavigationComponent';  
5 -import PageViewModel from '../../viewmodel/PageViewModel'; 1 +import { SpConstants } from 'wdConstant';
  2 +import { Logger, SPHelper, ToastUtils, EmitterEventId, EmitterUtils } from 'wdKit';
6 import {MineMainSettingFunctionItem} from '../../viewmodel/MineMainSettingFunctionItem'; 3 import {MineMainSettingFunctionItem} from '../../viewmodel/MineMainSettingFunctionItem';
7 import MineSettingDatasModel from '../../model/MineSettingDatasModel'; 4 import MineSettingDatasModel from '../../model/MineSettingDatasModel';
8 -import storageStatistics from "@ohos.file.storageStatistics";  
9 -import { BusinessError } from '@ohos.base';  
10 -import ArrayList from '@ohos.util.ArrayList';  
11 import router from '@ohos.router'; 5 import router from '@ohos.router';
12 import { WDRouterPage, WDRouterRule } from 'wdRouter'; 6 import { WDRouterPage, WDRouterRule } from 'wdRouter';
13 import { Params } from 'wdBean'; 7 import { Params } from 'wdBean';
14 -import { SettingPasswordParams } from 'wdLogin';  
15 import { LoginViewModel } from 'wdLogin/src/main/ets/pages/login/LoginViewModel'; 8 import { LoginViewModel } from 'wdLogin/src/main/ets/pages/login/LoginViewModel';
16 -import { Router } from '@ohos.arkui.UIContext';  
17 import promptAction from '@ohos.promptAction'; 9 import promptAction from '@ohos.promptAction';
18 import { LogoutViewModel } from '../../viewmodel/LogoutViewModel'; 10 import { LogoutViewModel } from '../../viewmodel/LogoutViewModel';
19 import { CustomLogoutDialog } from './CustomLogoutDialog'; 11 import { CustomLogoutDialog } from './CustomLogoutDialog';
20 import { emitter } from '@kit.BasicServicesKit'; 12 import { emitter } from '@kit.BasicServicesKit';
21 import { ConfirmLogoutDialog } from './ConfirmLogoutDialog'; 13 import { ConfirmLogoutDialog } from './ConfirmLogoutDialog';
22 - 14 +import { TrackingButton, TrackConstants } from 'wdTracking/Index';
23 export { SettingPasswordParams } from "wdLogin" 15 export { SettingPasswordParams } from "wdLogin"
24 16
25 @Component 17 @Component
@@ -183,9 +175,11 @@ export struct AccountAndSecurityLayout { @@ -183,9 +175,11 @@ export struct AccountAndSecurityLayout {
183 .onClick(() => { 175 .onClick(() => {
184 console.log(index + "") 176 console.log(index + "")
185 if (index == 0){ 177 if (index == 0){
  178 + trackButtonClick("accountManagementPageChangePhoneNumber")
186 let pageType = {'pageType': 2} as Record<string, number>; 179 let pageType = {'pageType': 2} as Record<string, number>;
187 WDRouterRule.jumpWithPage(WDRouterPage.forgetPasswordPage, pageType) 180 WDRouterRule.jumpWithPage(WDRouterPage.forgetPasswordPage, pageType)
188 }else if (index == 1) { 181 }else if (index == 1) {
  182 + trackButtonClick("accountManagementPageAccountManagementPassword")
189 if (this.ifSetPassword) { 183 if (this.ifSetPassword) {
190 //修改密码 184 //修改密码
191 WDRouterRule.jumpWithPage(WDRouterPage.modifyPasswordPage) 185 WDRouterRule.jumpWithPage(WDRouterPage.modifyPasswordPage)
@@ -195,6 +189,7 @@ export struct AccountAndSecurityLayout { @@ -195,6 +189,7 @@ export struct AccountAndSecurityLayout {
195 WDRouterRule.jumpWithPage(WDRouterPage.forgetPasswordPage, pageType) 189 WDRouterRule.jumpWithPage(WDRouterPage.forgetPasswordPage, pageType)
196 } 190 }
197 }else if (index == 3) { 191 }else if (index == 3) {
  192 + trackButtonClick("accountManagementPageAccountCancellation")
198 this.isAccountPage=false 193 this.isAccountPage=false
199 // WDRouterRule.jumpWithPage(WDRouterPage.forgetPasswordPage, pageType) 194 // WDRouterRule.jumpWithPage(WDRouterPage.forgetPasswordPage, pageType)
200 } 195 }
@@ -215,7 +210,8 @@ export struct AccountAndSecurityLayout { @@ -215,7 +210,8 @@ export struct AccountAndSecurityLayout {
215 210
216 Column() { 211 Column() {
217 Button('退出登录',{ stateEffect: true ,type: ButtonType.Normal}).width('90%').height('80lpx').backgroundColor('#da3e22').fontColor('#fff').margin('20lpx').borderRadius('8lpx').onClick(()=>{ 212 Button('退出登录',{ stateEffect: true ,type: ButtonType.Normal}).width('90%').height('80lpx').backgroundColor('#da3e22').fontColor('#fff').margin('20lpx').borderRadius('8lpx').onClick(()=>{
218 - this.confirmDialogController.open() 213 + trackButtonClick("accountManagementPageLogout")
  214 + this.confirmDialogController.open()
219 }) 215 })
220 } 216 }
221 } 217 }
@@ -515,4 +511,8 @@ export struct AccountArrowCell{ @@ -515,4 +511,8 @@ export struct AccountArrowCell{
515 } 511 }
516 .height('54lpx') 512 .height('54lpx')
517 } 513 }
  514 +}
  515 +
  516 +function trackButtonClick(buttonName: string){
  517 + TrackingButton.click(buttonName, TrackConstants.PageName.Account_Management, TrackConstants.PageName.Account_Management)
518 } 518 }
@@ -15,6 +15,7 @@ import common from '@ohos.app.ability.common'; @@ -15,6 +15,7 @@ import common from '@ohos.app.ability.common';
15 import dataPreferences from '@ohos.data.preferences'; 15 import dataPreferences from '@ohos.data.preferences';
16 import { TitleBackComponent } from './TitleBackComponent'; 16 import { TitleBackComponent } from './TitleBackComponent';
17 import { MyCustomDialog } from '../reusable/MyCustomDialog'; 17 import { MyCustomDialog } from '../reusable/MyCustomDialog';
  18 +import { TrackingButton, TrackConstants } from 'wdTracking/Index';
18 19
19 @Component 20 @Component
20 export struct MineSettingComponent { 21 export struct MineSettingComponent {
@@ -74,11 +75,6 @@ export struct MineSettingComponent { @@ -74,11 +75,6 @@ export struct MineSettingComponent {
74 } 75 }
75 76
76 build() { 77 build() {
77 - // Navigation() {  
78 - // //滑动区域  
79 - // this.settingList()  
80 - // }.titleMode(NavigationTitleMode.Mini)  
81 - // .title('设置')  
82 Column(){ 78 Column(){
83 TitleBackComponent({title:"设置"}) 79 TitleBackComponent({title:"设置"})
84 this.settingList() 80 this.settingList()
@@ -154,15 +150,19 @@ export struct MineSettingComponent { @@ -154,15 +150,19 @@ export struct MineSettingComponent {
154 .selectedColor("#ED2800") 150 .selectedColor("#ED2800")
155 .onChange((isOn: boolean) => { 151 .onChange((isOn: boolean) => {
156 if(item.itemType=='push_switch'){ 152 if(item.itemType=='push_switch'){
  153 + trackButtonClick("settingPagePushSwitch")
157 //推送 154 //推送
158 SPHelper.default.save(SpConstants.SETTING_PUSH_SWITCH,isOn) 155 SPHelper.default.save(SpConstants.SETTING_PUSH_SWITCH,isOn)
159 }else if(item.itemType=='wifi_switch'){ 156 }else if(item.itemType=='wifi_switch'){
  157 + trackButtonClick("settingPageOnlyWifiNetworkLoadPicture")
160 //wifi 图片 158 //wifi 图片
161 SPHelper.default.save(SpConstants.SETTING_WIFI_IMAGE_SWITCH,isOn) 159 SPHelper.default.save(SpConstants.SETTING_WIFI_IMAGE_SWITCH,isOn)
162 }else if(item.itemType=='video_switch'){ 160 }else if(item.itemType=='video_switch'){
  161 + trackButtonClick("settingPageAutomaticallyPlayVideoOnWifiNetwork")
163 //wifi 视频 162 //wifi 视频
164 SPHelper.default.save(SpConstants.SETTING_WIFI_VIDEO_SWITCH,isOn) 163 SPHelper.default.save(SpConstants.SETTING_WIFI_VIDEO_SWITCH,isOn)
165 }else if(item.itemType=='suspensionState_switch'){ 164 }else if(item.itemType=='suspensionState_switch'){
  165 + trackButtonClick("settingPagePlayerFloatingWindowSwitchClick")
166 //悬浮窗 166 //悬浮窗
167 SPHelper.default.save(SpConstants.SETTING_SUSPENSION_SWITCH,isOn) 167 SPHelper.default.save(SpConstants.SETTING_SUSPENSION_SWITCH,isOn)
168 } 168 }
@@ -214,13 +214,16 @@ export struct MineSettingComponent { @@ -214,13 +214,16 @@ export struct MineSettingComponent {
214 .height('54lpx') 214 .height('54lpx')
215 .onClick(() => { 215 .onClick(() => {
216 if (item.itemType == 'account') { 216 if (item.itemType == 'account') {
  217 + trackButtonClick("settingPageAccountManagement")
217 let params: Params = { 218 let params: Params = {
218 pageID: 'AccountAndSecurityLayout' 219 pageID: 'AccountAndSecurityLayout'
219 } 220 }
220 WDRouterRule.jumpWithPage(WDRouterPage.settingPage, params) 221 WDRouterRule.jumpWithPage(WDRouterPage.settingPage, params)
221 } else if (item.itemType == 'private_setting') { 222 } else if (item.itemType == 'private_setting') {
222 WDRouterRule.jumpWithPage(WDRouterPage.privacySettingPage) 223 WDRouterRule.jumpWithPage(WDRouterPage.privacySettingPage)
  224 + trackButtonClick("settingPagePrivacySettings")
223 } else if (item.itemType == 'clear_cache') { 225 } else if (item.itemType == 'clear_cache') {
  226 + trackButtonClick("settingPageClearCache")
224 this.dialogController.open() 227 this.dialogController.open()
225 } 228 }
226 }) 229 })
@@ -263,4 +266,8 @@ export struct MineSettingComponent { @@ -263,4 +266,8 @@ export struct MineSettingComponent {
263 } 266 }
264 this.preferences.on('change', observer); 267 this.preferences.on('change', observer);
265 } 268 }
266 -}  
  269 +}
  270 +
  271 +function trackButtonClick(buttonName: string){
  272 + TrackingButton.click(buttonName, TrackConstants.PageName.Setting, TrackConstants.PageName.Setting)
  273 +}
@@ -73,7 +73,7 @@ export struct OperRowListView { @@ -73,7 +73,7 @@ export struct OperRowListView {
73 @Prop operationButtonList?: string[] = ['comment', 'collect', 'share'] // 组件展示条件 73 @Prop operationButtonList?: string[] = ['comment', 'collect', 'share'] // 组件展示条件
74 @State needLike: boolean = true 74 @State needLike: boolean = true
75 @ObjectLink publishCommentModel: publishCommentModel 75 @ObjectLink publishCommentModel: publishCommentModel
76 - @State styleType: number = 1 76 + @State styleType: number = -1
77 @State showCommentIcon: boolean = true 77 @State showCommentIcon: boolean = true
78 @State bgColor: ResourceColor = Color.White 78 @State bgColor: ResourceColor = Color.White
79 @State interactData: InteractDataDTO = {} as InteractDataDTO 79 @State interactData: InteractDataDTO = {} as InteractDataDTO
@@ -148,10 +148,9 @@ export struct OperRowListView { @@ -148,10 +148,9 @@ export struct OperRowListView {
148 // 视频详情页 148 // 视频详情页
149 149
150 Column() { 150 Column() {
151 - Image($r('app.media.ic_news_detail_division'))  
152 - .width('100%')  
153 - .height($r('app.float.margin_1'))  
154 - // .margin({bottom: -2}) 151 + if(this.styleType != 3) {
  152 + Divider().strokeWidth(1).color(this.styleType == 1 ? '#F5F5F5' : this.styleType == 2 ? '#262626' : 'rgba(0,0,0,0)')
  153 + }
155 154
156 Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { 155 Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) {
157 // AudioDialog() 156 // AudioDialog()
@@ -381,12 +380,13 @@ export struct OperRowListView { @@ -381,12 +380,13 @@ export struct OperRowListView {
381 { 380 {
382 contentId: this.contentDetailData?.newsId + '', 381 contentId: this.contentDetailData?.newsId + '',
383 contentType: this.contentDetailData?.newsType + '', 382 contentType: this.contentDetailData?.newsType + '',
  383 + contentRelId: this.contentDetailData?.reLInfo?.relId + '',
384 } 384 }
385 ] 385 ]
386 } 386 }
387 // console.info(TAG, '查询用户对作品收藏11', JSON.stringify(params)) 387 // console.info(TAG, '查询用户对作品收藏11', JSON.stringify(params))
388 let data = await MultiPictureDetailViewModel.getInteractDataStatus(params) 388 let data = await MultiPictureDetailViewModel.getInteractDataStatus(params)
389 - // console.info(TAG, '查询用户对作品收藏22', JSON.stringify(data)) 389 + console.info(TAG, '查询用户对作品收藏22', JSON.stringify(data))
390 this.newsStatusOfUser = data[0]; 390 this.newsStatusOfUser = data[0];
391 } catch (exception) { 391 } catch (exception) {
392 // console.error(TAG, JSON.stringify(exception)) 392 // console.error(TAG, JSON.stringify(exception))
@@ -400,6 +400,7 @@ export struct OperRowListView { @@ -400,6 +400,7 @@ export struct OperRowListView {
400 console.log(TAG, '收藏点击') 400 console.log(TAG, '收藏点击')
401 // 未登录,跳转登录 401 // 未登录,跳转登录
402 const user_id = await SPHelper.default.get(SpConstants.USER_ID, '') 402 const user_id = await SPHelper.default.get(SpConstants.USER_ID, '')
  403 + console.log(TAG, '收藏点击,登录', user_id)
403 if (!user_id) { 404 if (!user_id) {
404 console.log(TAG, '收藏点击,用户未登录') 405 console.log(TAG, '收藏点击,用户未登录')
405 WDRouterRule.jumpWithPage(WDRouterPage.loginPage) 406 WDRouterRule.jumpWithPage(WDRouterPage.loginPage)
@@ -415,9 +416,10 @@ export struct OperRowListView { @@ -415,9 +416,10 @@ export struct OperRowListView {
415 }], 416 }],
416 417
417 } 418 }
418 - console.log(TAG, '收藏点击', JSON.stringify(params)) 419 + // console.log(TAG, '收藏点击', JSON.stringify(params))
419 PageRepository.postExecuteCollectRecord(params).then(res => { 420 PageRepository.postExecuteCollectRecord(params).then(res => {
420 console.log(TAG, '收藏点击 res', JSON.stringify(res)) 421 console.log(TAG, '收藏点击 res', JSON.stringify(res))
  422 + console.log(TAG, '收藏点击 this.newsStatusOfUser', JSON.stringify(this.newsStatusOfUser))
421 if (this.newsStatusOfUser) { 423 if (this.newsStatusOfUser) {
422 this.newsStatusOfUser.collectStatus = this.newsStatusOfUser?.collectStatus === 1 ? 0 : 1 424 this.newsStatusOfUser.collectStatus = this.newsStatusOfUser?.collectStatus === 1 ? 0 : 1
423 if (this.newsStatusOfUser.collectStatus === 1) { 425 if (this.newsStatusOfUser.collectStatus === 1) {
@@ -724,6 +724,31 @@ class MinePageDatasModel{ @@ -724,6 +724,31 @@ class MinePageDatasModel{
724 return WDHttp.get<ResponseDTO<String>>(url) 724 return WDHttp.get<ResponseDTO<String>>(url)
725 }; 725 };
726 726
  727 +
  728 + /**
  729 + * 预约消息 查询详情
  730 + * @returns
  731 + */
  732 + getAssertDetailData(relId:string,contentId:string,relType:string): Promise<String> {
  733 + return new Promise<String>((success, error) => {
  734 + this.fetchAssertDetailData(relId,contentId,relType).then((navResDTO: ResponseDTO<String>) => {
  735 + console.log(TAG,JSON.stringify(navResDTO))
  736 + if (!navResDTO || StringUtils.isEmpty(navResDTO.data)) {
  737 + success("0");
  738 + return
  739 + }
  740 + success("1");
  741 + }).catch((err: Error) => {
  742 + error(err)
  743 + })
  744 + })
  745 + }
  746 +
  747 + fetchAssertDetailData(relId:string,contentId:string,relType:string) {
  748 + let url = HttpUrlUtils.getHost() + HttpUrlUtils.DETAIL_PATH + `?relId=${relId}&contentId=${contentId}&relType=${relType}`
  749 + return WDHttp.get<ResponseDTO<String>>(url)
  750 + };
  751 +
727 } 752 }
728 753
729 const minePageDatasModel = MinePageDatasModel.getInstance() 754 const minePageDatasModel = MinePageDatasModel.getInstance()
@@ -52,9 +52,9 @@ class MineSettingDatasModel{ @@ -52,9 +52,9 @@ class MineSettingDatasModel{
52 this.mainSettingData.push(new MineMainSettingFunctionItem(null, 'wifi网络情况下自动播放视频', null, 1, videoState,"video_switch")) 52 this.mainSettingData.push(new MineMainSettingFunctionItem(null, 'wifi网络情况下自动播放视频', null, 1, videoState,"video_switch"))
53 let suspensionState=SPHelper.default.getSync(SpConstants.SETTING_SUSPENSION_SWITCH,false) as boolean 53 let suspensionState=SPHelper.default.getSync(SpConstants.SETTING_SUSPENSION_SWITCH,false) as boolean
54 this.mainSettingData.push(new MineMainSettingFunctionItem(null, '开启播放器悬浮窗', null, 1, suspensionState,"suspensionState_switch")) 54 this.mainSettingData.push(new MineMainSettingFunctionItem(null, '开启播放器悬浮窗', null, 1, suspensionState,"suspensionState_switch"))
55 - this.mainSettingData.push(new MineMainSettingFunctionItem(null, null, null, 2, null,"")) 55 + // this.mainSettingData.push(new MineMainSettingFunctionItem(null, null, null, 2, null,""))
56 this.mainSettingData.push(new MineMainSettingFunctionItem(null, '清理缓存', '32MB', 0, false,"clear_cache")) 56 this.mainSettingData.push(new MineMainSettingFunctionItem(null, '清理缓存', '32MB', 0, false,"clear_cache"))
57 - this.mainSettingData.push(new MineMainSettingFunctionItem(null, '评价我们', null, 0, false,"")) 57 + // this.mainSettingData.push(new MineMainSettingFunctionItem(null, '评价我们', null, 0, false,""))
58 58
59 return this.mainSettingData 59 return this.mainSettingData
60 } 60 }
@@ -25,6 +25,7 @@ const Normal_Page_Size = 20 // 常规每页数量 @@ -25,6 +25,7 @@ const Normal_Page_Size = 20 // 常规每页数量
25 25
26 const Rec_Page_Size = 10 // 推荐每页数量 26 const Rec_Page_Size = 10 // 推荐每页数量
27 27
  28 +const SpecialComp: string[] = [CompStyle.Zh_Single_Column_03.toString()]
28 29
29 /** 30 /**
30 * 处理返回后的数据 31 * 处理返回后的数据
@@ -379,7 +380,8 @@ export class PageHelper { @@ -379,7 +380,8 @@ export class PageHelper {
379 */ 380 */
380 private factoryCompArray(compList: CompDTO[]): ArrayList<CompDTO> { 381 private factoryCompArray(compList: CompDTO[]): ArrayList<CompDTO> {
381 let pageCompList: ArrayList<CompDTO> = new ArrayList() // 收集页面组件、稿件和本地组件容器 382 let pageCompList: ArrayList<CompDTO> = new ArrayList() // 收集页面组件、稿件和本地组件容器
382 - compList.forEach((element: CompDTO) => { 383 + let newCompList = this.createSpecialComp(compList)
  384 + newCompList.forEach((element: CompDTO) => {
383 let contentInfo: ContentDTO = CollectionUtils.getElement(element.operDataList, 0); 385 let contentInfo: ContentDTO = CollectionUtils.getElement(element.operDataList, 0);
384 //移除音频 和 活动 386 //移除音频 和 活动
385 if (contentInfo && (contentInfo.objectType === '13' || contentInfo.objectType === '3')) { 387 if (contentInfo && (contentInfo.objectType === '13' || contentInfo.objectType === '3')) {
@@ -402,6 +404,41 @@ export class PageHelper { @@ -402,6 +404,41 @@ export class PageHelper {
402 } 404 }
403 405
404 /** 406 /**
  407 + * 竖直方向list,将数据拆出来,组装成comp
  408 + */
  409 + private createSpecialComp(compList: CompDTO[]): CompDTO[]{
  410 + if (!compList) {
  411 + return compList
  412 + }
  413 + let tmpList: CompDTO[] = []
  414 + compList.forEach((value, index) => {
  415 + if (SpecialComp.includes(value.compStyle)) {
  416 + let list = value.operDataList
  417 + if (list) {
  418 + if (list.length == 1) {
  419 + tmpList.push(value)
  420 + } else {
  421 + list.forEach((content) => {
  422 + let newComp = CompDTO.createNewsBean(value)
  423 + newComp.operDataList = []
  424 + // 特殊样式,comp只保留一个content,多余的一一拆成新的comp
  425 + newComp.operDataList.push(content)
  426 + tmpList.push(newComp)
  427 + })
  428 + }
  429 + } else {
  430 + tmpList.push(value)
  431 + }
  432 + } else {
  433 + tmpList.push(value)
  434 + }
  435 + })
  436 +
  437 + // 重新赋值,将contentList拆出来了。
  438 + return tmpList
  439 + }
  440 +
  441 + /**
405 * 信息流页面,所有稿件需要参与批查,如 批查评论、批查关注状态等接口 442 * 信息流页面,所有稿件需要参与批查,如 批查评论、批查关注状态等接口
406 * @param compList 443 * @param compList
407 * @param pageModel 444 * @param pageModel
@@ -85,7 +85,7 @@ export interface IStatusContentList { @@ -85,7 +85,7 @@ export interface IStatusContentList {
85 85
86 // relType: string; 86 // relType: string;
87 contentType: string; 87 contentType: string;
88 - // contentRelId: string; 88 + contentRelId: string;
89 } 89 }
90 90
91 export interface batchLikeAndCollectParams { 91 export interface batchLikeAndCollectParams {
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 "wdNetwork": "file:../../commons/wdNetwork", 15 "wdNetwork": "file:../../commons/wdNetwork",
16 "wdConstant": "file:../../commons/wdConstant", 16 "wdConstant": "file:../../commons/wdConstant",
17 "wdDetailPlayApi": "file:../../features/wdDetailPlayApi", 17 "wdDetailPlayApi": "file:../../features/wdDetailPlayApi",
18 - // "wdComponent": "file:../../features/wdComponent" 18 + "wdComponent": "file:../../features/wdComponent",
19 "wdShare": "file:../../features/wdShare" 19 "wdShare": "file:../../features/wdShare"
20 } 20 }
21 } 21 }
@@ -112,6 +112,7 @@ export struct DetailPlayShortVideoPage { @@ -112,6 +112,7 @@ export struct DetailPlayShortVideoPage {
112 { 112 {
113 contentId: this.contentDetailData?.newsId + '', 113 contentId: this.contentDetailData?.newsId + '',
114 contentType: this.contentDetailData?.newsType + '', 114 contentType: this.contentDetailData?.newsType + '',
  115 + contentRelId: this.contentDetailData?.reLInfo?.relId + '',
115 } 116 }
116 ] 117 ]
117 } 118 }
@@ -97,6 +97,7 @@ export struct DetailDialog { @@ -97,6 +97,7 @@ export struct DetailDialog {
97 contentDetailData: this.contentDetailData, 97 contentDetailData: this.contentDetailData,
98 publishCommentModel: this.publishCommentModel, 98 publishCommentModel: this.publishCommentModel,
99 showCommentIcon: true, 99 showCommentIcon: true,
  100 + styleType: 1,
100 onBack: () => { 101 onBack: () => {
101 WindowModel.shared.setWindowLayoutFullScreen(false) 102 WindowModel.shared.setWindowLayoutFullScreen(false)
102 WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#000000', }) 103 WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#000000', })
@@ -289,12 +289,10 @@ struct LoginPage { @@ -289,12 +289,10 @@ struct LoginPage {
289 }.width('100%') 289 }.width('100%')
290 290
291 Row() { 291 Row() {
292 - Row() { 292 + /*Row() {
293 Image($r('app.media.login_wx')) 293 Image($r('app.media.login_wx'))
294 .width(20).height(20).onClick(()=>{ 294 .width(20).height(20).onClick(()=>{
295 - Logger.debug("测试",'开始'+Logger.isDebug)  
296 ErrorToastUtils.ErrorToast.showToast(ErrorToastUtils.ErrorType.NET_CORE_NO_NETWORK) 295 ErrorToastUtils.ErrorToast.showToast(ErrorToastUtils.ErrorType.NET_CORE_NO_NETWORK)
297 - Logger.debug("测试",'开始2'+Logger.isDebug)  
298 }) 296 })
299 }.backgroundImage($r('app.media.login_other_left'), ImageRepeat.NoRepeat) 297 }.backgroundImage($r('app.media.login_other_left'), ImageRepeat.NoRepeat)
300 .otherStyle() 298 .otherStyle()
@@ -307,25 +305,36 @@ struct LoginPage { @@ -307,25 +305,36 @@ struct LoginPage {
307 Row() { 305 Row() {
308 Image($r('app.media.login_wb')).size({ width: 20, height: 20 }) 306 Image($r('app.media.login_wb')).size({ width: 20, height: 20 })
309 }.backgroundImage($r('app.media.login_other_middle'), ImageRepeat.NoRepeat) 307 }.backgroundImage($r('app.media.login_other_middle'), ImageRepeat.NoRepeat)
310 - .otherStyle() 308 + .otherStyle()*/
311 309
312 Row() { 310 Row() {
313 Image(this.checkCodePage ? $r('app.media.login_qt') : $r('app.media.login_other_password')) 311 Image(this.checkCodePage ? $r('app.media.login_qt') : $r('app.media.login_other_password'))
314 - .size({ width: 20, height: 20 })  
315 - }.backgroundImage($r('app.media.login_other_right'), ImageRepeat.NoRepeat)  
316 - .otherStyle().onClick(() => { 312 + .size({ width: "35lpx", height: "35lpx" })
  313 + .margin({right:"8lpx"})
  314 + .height("38lpx")
  315 + .width("38lpx")
  316 + Text(this.checkCodePage ? "密码登录" : "手机号登录")
  317 + .fontWeight(400)
  318 + .fontColor("#3D3D3D")
  319 + .fontSize("23lpx")
  320 + .lineHeight("38lpx")
  321 + }
  322 + .onClick(() => {
317 this.updateAccount() 323 this.updateAccount()
318 this.checkCodePage = !this.checkCodePage; 324 this.checkCodePage = !this.checkCodePage;
319 this.passwordSwitch = true 325 this.passwordSwitch = true
320 this.isSubmit = false 326 this.isSubmit = false
321 - }) 327 + }).width('100%')
  328 + .alignItems(VerticalAlign.Center)
  329 + .justifyContent(FlexAlign.Center)
322 330
323 }.height(36) 331 }.height(36)
324 .width('100%') 332 .width('100%')
325 .padding({ left: 25, right: 25 }) 333 .padding({ left: 25, right: 25 })
326 - // .justifyContent(FlexAlign.SpaceEvenly)  
327 - .margin({ top: 24 })  
328 - }.width('100%').margin({ bottom: 40 }) 334 + .margin({ top: "46lpx" })
  335 + }
  336 + .width('100%')
  337 + .margin({ bottom: 40 })
329 } 338 }
330 339
331 updateAccount(){ 340 updateAccount(){
1 -import { BottomNavigationComponent, LogoutViewModel, PermissionDesComponent } from 'wdComponent'; 1 +import { LogoutViewModel, PermissionDesComponent } from 'wdComponent';
2 import { BreakpointConstants } from 'wdConstant'; 2 import { BreakpointConstants } from 'wdConstant';
3 3
4 import { common } from '@kit.AbilityKit'; 4 import { common } from '@kit.AbilityKit';
@@ -8,6 +8,7 @@ import { UpgradeTipDialog } from "./upgradePage/UpgradeTipDialog" @@ -8,6 +8,7 @@ import { UpgradeTipDialog } from "./upgradePage/UpgradeTipDialog"
8 import { ProcessUtils } from 'wdRouter/Index'; 8 import { ProcessUtils } from 'wdRouter/Index';
9 import { StartupManager } from '../startupmanager/StartupManager'; 9 import { StartupManager } from '../startupmanager/StartupManager';
10 import { BusinessError } from '@kit.BasicServicesKit'; 10 import { BusinessError } from '@kit.BasicServicesKit';
  11 +import { BottomNavigationComponent } from './view/BottomNavigationComponent';
11 12
12 const TAG = 'MainPage'; 13 const TAG = 'MainPage';
13 14
1 import { Logger } from 'wdKit'; 1 import { Logger } from 'wdKit';
2 -import { MultiPictureDetailPageComponent } from 'wdComponent';  
3 import router from '@ohos.router'; 2 import router from '@ohos.router';
4 import { Params, Action } from 'wdBean'; 3 import { Params, Action } from 'wdBean';
5 import { WindowModel } from 'wdKit/Index'; 4 import { WindowModel } from 'wdKit/Index';
  5 +import { MultiPictureDetailPageComponent } from '../view/MultiPictureDetailPageComponent';
  6 +
6 const TAG = 'MultiPictureDetailPage'; 7 const TAG = 'MultiPictureDetailPage';
7 8
8 /** 9 /**
1 import { BottomNavi, CommonConstants, DisplayDirection } from 'wdConstant'; 1 import { BottomNavi, CommonConstants, DisplayDirection } from 'wdConstant';
2 import { BottomNavDTO, NavigationBodyDTO, NavigationDetailDTO, TopNavDTO } from 'wdBean'; 2 import { BottomNavDTO, NavigationBodyDTO, NavigationDetailDTO, TopNavDTO } from 'wdBean';
3 import { EmitterEventId, EmitterUtils, Logger, StringUtils } from 'wdKit'; 3 import { EmitterEventId, EmitterUtils, Logger, StringUtils } from 'wdKit';
4 -import { TopNavigationComponent } from './TopNavigationComponent';  
5 -import { MinePageComponent } from './MinePageComponent';  
6 -import { CompUtils } from '../../utils/CompUtils';  
7 -import ChannelViewModel from '../../viewmodel/ChannelViewModel';  
8 -import HomeChannelUtils, { AssignChannelParam } from 'wdRouter';  
9 -import { VideoChannelPage } from './VideoChannelPage';  
10 import { HttpUtils } from 'wdNetwork/Index'; 4 import { HttpUtils } from 'wdNetwork/Index';
  5 +import HomeChannelUtils, { AssignChannelParam } from 'wdRouter/Index';
  6 +import { MinePageComponent } from 'wdComponent/src/main/ets/components/page/MinePageComponent';
  7 +import { CompUtils, TopNavigationComponent } from 'wdComponent/Index';
  8 +import { VideoChannelPage } from './VideoChannelPage';
  9 +import ChannelViewModel from 'wdComponent/src/main/ets/viewmodel/ChannelViewModel';
11 10
12 const TAG = 'BottomNavigationComponent'; 11 const TAG = 'BottomNavigationComponent';
13 let storage = LocalStorage.getShared(); 12 let storage = LocalStorage.getShared();
@@ -8,23 +8,21 @@ import { @@ -8,23 +8,21 @@ import {
8 postInteractAccentionOperateParams, 8 postInteractAccentionOperateParams,
9 Params 9 Params
10 } from 'wdBean'; 10 } from 'wdBean';
11 -import { MultiPictureDetailViewModel } from '../viewmodel/MultiPictureDetailViewModel';  
12 import display from '@ohos.display'; 11 import display from '@ohos.display';
13 -import font from '@ohos.font';  
14 -import { OperRowListView } from './view/OperRowListView';  
15 -import { MultiPictureDetailItemComponent } from './MultiPictureDetailItemComponent';  
16 -import { ImageDownloadComponent } from '../components/ImageDownloadComponent';  
17 -import { publishCommentModel } from '../components/comment/model/PublishCommentModel';  
18 -import { EmptyComponent } from './view/EmptyComponent';  
19 import { DateTimeUtils } from 'wdKit/Index'; 12 import { DateTimeUtils } from 'wdKit/Index';
20 -import { HttpUrlUtils } from 'wdNetwork/Index';  
21 import { WDRouterPage, WDRouterRule } from 'wdRouter/Index'; 13 import { WDRouterPage, WDRouterRule } from 'wdRouter/Index';
22 -import { PageRepository } from '../repository/PageRepository';  
23 import { SpConstants } from 'wdConstant/Index'; 14 import { SpConstants } from 'wdConstant/Index';
24 import { router } from '@kit.ArkUI'; 15 import { router } from '@kit.ArkUI';
25 -import { viewBlogItemInsightIntentShare } from '../utils/InsightIntentShare'  
26 import { common } from '@kit.AbilityKit'; 16 import { common } from '@kit.AbilityKit';
27 import { CommentDialogView } from 'wdDetailPlayShortVideo/Index'; 17 import { CommentDialogView } from 'wdDetailPlayShortVideo/Index';
  18 +import { EmptyComponent,
  19 + ImageDownloadComponent,
  20 + MultiPictureDetailItemComponent,
  21 + MultiPictureDetailViewModel,
  22 + OperRowListView,
  23 + PageRepository,
  24 + publishCommentModel,
  25 + viewBlogItemInsightIntentShare} from 'wdComponent/Index';
28 26
29 const TAG = 'MultiPictureDetailPageComponent'; 27 const TAG = 'MultiPictureDetailPageComponent';
30 28
@@ -4,9 +4,10 @@ @@ -4,9 +4,10 @@
4 */ 4 */
5 import { BottomNavDTO, TopNavDTO } from 'wdBean/Index' 5 import { BottomNavDTO, TopNavDTO } from 'wdBean/Index'
6 import { VideoChannelDetail } from 'wdDetailPlayShortVideo/Index'; 6 import { VideoChannelDetail } from 'wdDetailPlayShortVideo/Index';
7 -import { PageComponent } from './PageComponent';  
8 import { WDRouterPage, WDRouterRule } from 'wdRouter'; 7 import { WDRouterPage, WDRouterRule } from 'wdRouter';
9 import { DisplayDirection } from 'wdConstant/Index'; 8 import { DisplayDirection } from 'wdConstant/Index';
  9 +import { PageComponent } from 'wdComponent/Index';
  10 +import { TrackingButton, TrackConstants } from 'wdTracking/Index';
10 11
11 const TAG = 'VideoChannelPage' 12 const TAG = 'VideoChannelPage'
12 13
@@ -124,6 +125,7 @@ export struct VideoChannelPage { @@ -124,6 +125,7 @@ export struct VideoChannelPage {
124 .alignItems(VerticalAlign.Center) 125 .alignItems(VerticalAlign.Center)
125 .justifyContent(FlexAlign.Center) 126 .justifyContent(FlexAlign.Center)
126 .onClick(() => { 127 .onClick(() => {
  128 + TrackingButton.click("", TrackConstants.PageName.Search, "VIDEOS")
127 WDRouterRule.jumpWithPage(WDRouterPage.searchPage) 129 WDRouterRule.jumpWithPage(WDRouterPage.searchPage)
128 }) 130 })
129 .backgroundColor(Color.Transparent) 131 .backgroundColor(Color.Transparent)