王士厅
Showing 75 changed files with 794 additions and 332 deletions
@@ -114,6 +114,8 @@ export class WDRouterPage { @@ -114,6 +114,8 @@ export class WDRouterPage {
114 static broadcastPage = new WDRouterPage("phone", "ets/pages/broadcast/BroadcastPage"); 114 static broadcastPage = new WDRouterPage("phone", "ets/pages/broadcast/BroadcastPage");
115 //搜索主页 115 //搜索主页
116 static searchPage = new WDRouterPage("wdComponent", "ets/pages/SearchPage"); 116 static searchPage = new WDRouterPage("wdComponent", "ets/pages/SearchPage");
  117 + //消息主页
  118 + static mineMessagePage = new WDRouterPage("wdComponent", "ets/pages/MineMessagePage");
117 //搜索人民号主页 119 //搜索人民号主页
118 static searchCreatorPage = new WDRouterPage("wdComponent", "ets/pages/SearchCreatorPage"); 120 static searchCreatorPage = new WDRouterPage("wdComponent", "ets/pages/SearchCreatorPage");
119 //人民号主页 121 //人民号主页
@@ -46,7 +46,7 @@ export class ProcessUtils { @@ -46,7 +46,7 @@ export class ProcessUtils {
46 46
47 if ('1' == type) { 47 if ('1' == type) {
48 // 内链 48 // 内链
49 - let content: ContentDTO = {} as ContentDTO; 49 + let content: ContentDTO = new ContentDTO();
50 content.linkUrl = linkUrl; 50 content.linkUrl = linkUrl;
51 ProcessUtils.gotoWeb(content); 51 ProcessUtils.gotoWeb(content);
52 } else if ('2' == type) { 52 } else if ('2' == type) {
@@ -62,16 +62,13 @@ export class ProcessUtils { @@ -62,16 +62,13 @@ export class ProcessUtils {
62 * @param advert 展现中心的展现广告 62 * @param advert 展现中心的展现广告
63 */ 63 */
64 static advJumpMainPage(advert: AdvertsBean) { 64 static advJumpMainPage(advert: AdvertsBean) {
65 -  
66 - let content: ContentDTO = {  
67 - linkUrl: advert.linkUrl,  
68 - pageId: advert.pageId,  
69 - objectId: advert.objectId,  
70 - objectType: advert.objectType.toString(),  
71 - relId: advert.relId,  
72 - bottomNavId: advert.bottomNavId  
73 - } as ContentDTO;  
74 - 65 + let content: ContentDTO = new ContentDTO()
  66 + content.linkUrl = advert.linkUrl;
  67 + content.pageId = advert.pageId;
  68 + content.objectId = advert.objectId;
  69 + content.objectType = advert.objectType.toString();
  70 + content.relId = advert.relId;
  71 + content.bottomNavId = advert.bottomNavId;
75 ProcessUtils.processPage(content); 72 ProcessUtils.processPage(content);
76 } 73 }
77 74
@@ -21,7 +21,7 @@ class AppInfo { @@ -21,7 +21,7 @@ class AppInfo {
21 screenTabbarSafeHeight: number = 42 // TODO 这里需要动态获取 21 screenTabbarSafeHeight: number = 42 // TODO 这里需要动态获取
22 imei: string = HttpUtils.getImei() 22 imei: string = HttpUtils.getImei()
23 device_id: string = HttpUtils.getDeviceId() 23 device_id: string = HttpUtils.getDeviceId()
24 - fontSizes: string = 'small' 24 + // fontSizes: string = 'small'
25 // TODO 完善 25 // TODO 完善
26 } 26 }
27 27
@@ -103,7 +103,7 @@ function getAppPublicInfo(): string { @@ -103,7 +103,7 @@ function getAppPublicInfo(): string {
103 let info = new AppInfo() 103 let info = new AppInfo()
104 info.plat = 'Phone' 104 info.plat = 'Phone'
105 // 直接用Android,后续适配再新增鸿蒙 105 // 直接用Android,后续适配再新增鸿蒙
106 - info.system = 'Android' 106 + // info.system = 'Android'
107 info.networkStatus = 1 107 info.networkStatus = 1
108 let result = JSON.stringify(info) 108 let result = JSON.stringify(info)
109 Logger.debug(TAG, 'getAppPublicInfo: ' + JSON.stringify(info)) 109 Logger.debug(TAG, 'getAppPublicInfo: ' + JSON.stringify(info))
@@ -134,12 +134,12 @@ function handleJsCallReceiveH5Data(data: Message) { @@ -134,12 +134,12 @@ function handleJsCallReceiveH5Data(data: Message) {
134 break; 134 break;
135 case '6': 135 case '6':
136 let contentJson: IDataJson = JSON.parse(data?.data?.dataJson || '{}') 136 let contentJson: IDataJson = JSON.parse(data?.data?.dataJson || '{}')
137 - let content: ContentDTO = {  
138 - objectId: contentJson?.newsId,  
139 - relId: contentJson?.newsRelId,  
140 - pageId: contentJson?.pageId,  
141 - objectType: String(contentJson?.newsObjectType)  
142 - } as ContentDTO 137 + let content: ContentDTO = new ContentDTO();
  138 +
  139 + content.objectId = contentJson?.newsId;
  140 + content.relId = contentJson?.newsRelId;
  141 + content.pageId = contentJson?.pageId;
  142 + content.objectType = String(contentJson?.newsObjectType);
143 ProcessUtils.processPage(content) 143 ProcessUtils.processPage(content)
144 break; 144 break;
145 default: 145 default:
@@ -150,15 +150,15 @@ function handleJsCallReceiveH5Data(data: Message) { @@ -150,15 +150,15 @@ function handleJsCallReceiveH5Data(data: Message) {
150 function handleJsCallAppInnerLinkMethod(data: Message) { 150 function handleJsCallAppInnerLinkMethod(data: Message) {
151 let urlObject = Url.URL.parseURL(data?.data?.appInnerLink); 151 let urlObject = Url.URL.parseURL(data?.data?.appInnerLink);
152 let urlParams = new Url.URLParams(urlObject.search); 152 let urlParams = new Url.URLParams(urlObject.search);
153 - let content: ContentDTO = {  
154 - objectId: urlParams.get('contentId') || '',  
155 - relId: urlParams.get('relId') || '',  
156 - relType: urlParams.get('relType') || '',  
157 - pageId: urlParams.get('pageId') || '',  
158 - objectType: '',  
159 - linkUrl: encodeURI(urlParams.get('url') || '')  
160 - } as ContentDTO  
161 - switch (urlParams.get('type')) { 153 + let content: ContentDTO = new ContentDTO()
  154 +
  155 + content.objectId = urlParams.get('contentId') || '';
  156 + content.relId = urlParams.get('relId') || '';
  157 + content.relType = urlParams.get('relType') || '';
  158 + content.pageId = urlParams.get('pageId') || '';
  159 + content.objectType = '';
  160 + content.linkUrl = encodeURI(urlParams.get('url') || '');
  161 + switch (urlParams.get('type')) {
162 case 'video': 162 case 'video':
163 content.objectType = ContentConstants.TYPE_VOD 163 content.objectType = ContentConstants.TYPE_VOD
164 ProcessUtils.processPage(content) 164 ProcessUtils.processPage(content)
@@ -5,14 +5,12 @@ import { performJSCallNative } from './JsBridgeBiz'; @@ -5,14 +5,12 @@ 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 } from 'wdKit'
8 -  
9 const TAG = 'WdWebLocalComponent'; 8 const TAG = 'WdWebLocalComponent';
10 9
11 @Component 10 @Component
12 export struct WdWebLocalComponent { 11 export struct WdWebLocalComponent {
13 webviewControl: BridgeWebViewControl = new BridgeWebViewControl() 12 webviewControl: BridgeWebViewControl = new BridgeWebViewControl()
14 - onWebPrepared: () => void = () => {  
15 - } 13 + onWebPrepared: () => void = () => {}
16 @Prop backVisibility: boolean = false 14 @Prop backVisibility: boolean = false
17 @Prop webResource: Resource = {} as Resource 15 @Prop webResource: Resource = {} as Resource
18 @State webHeight: string | number = '100%' 16 @State webHeight: string | number = '100%'
@@ -3,47 +3,48 @@ import { AudioDTO } from '../content/AudioDTO'; @@ -3,47 +3,48 @@ import { AudioDTO } from '../content/AudioDTO';
3 import { ContentDTO } from '../content/ContentDTO'; 3 import { ContentDTO } from '../content/ContentDTO';
4 import { BaseDTO } from './BaseDTO'; 4 import { BaseDTO } from './BaseDTO';
5 5
6 -export interface CompDTO extends BaseDTO{  
7 - backgroundColor: string;  
8 - backgroundImgUrl: string;  
9 - cityCode: string;  
10 - compStyle: string;  
11 - compType: string; 6 +@Observed
  7 +export class CompDTO implements BaseDTO{
  8 + backgroundColor: string='';
  9 + backgroundImgUrl: string='';
  10 + cityCode: string='';
  11 + compStyle: string='';
  12 + compType: string='';
12 13
13 // dataSourceRequest: any[]; 14 // dataSourceRequest: any[];
14 - districtCode: string; 15 + districtCode: string='';
15 extraData?: string; 16 extraData?: string;
16 - hasAdInfo: number;  
17 - id: number;  
18 - imgSize: string;  
19 - innerUrl: string;  
20 - linkUrl: string; 17 + hasAdInfo: number=-1;
  18 + id: number=0;
  19 + imgSize: string='';
  20 + innerUrl: string='';
  21 + linkUrl: string='';
21 22
22 // meddleDataList: any[]; 23 // meddleDataList: any[];
23 - name: string;  
24 - objectId: string; // 跳转页面id?  
25 - objectTitle: string; // comp标题 24 + name: string='';
  25 + objectId: string=''; // 跳转页面id?
  26 + objectTitle: string=''; // comp标题
26 // objectType?: string; // 跳转类型,枚举: 27 // objectType?: string; // 跳转类型,枚举:
27 - operDataList: ContentDTO[]; // 运营数据列表【正常运营配置的强运营数据,部分推荐场景的配置(自动源兜底数据)】 28 + operDataList: ContentDTO[]=[]; // 运营数据列表【正常运营配置的强运营数据,部分推荐场景的配置(自动源兜底数据)】
28 // pageId?: any; 29 // pageId?: any;
29 - posterSize: string;  
30 - posterUrl: string;  
31 - provinceCode: string;  
32 - sortValue: number;  
33 - subType: string;  
34 - imageScale: number; // 封面图比例 1-4:3, 2-16:9, 3-3:2  
35 - audioDataList: AudioDTO[];  
36 - titleShowPolicy: string | number; 30 + posterSize: string='';
  31 + posterUrl: string='';
  32 + provinceCode: string='';
  33 + sortValue: number=-1;
  34 + subType: string='';
  35 + imageScale: number=-1; // 封面图比例 1-4:3, 2-16:9, 3-3:2
  36 + audioDataList: AudioDTO[]=[];
  37 + titleShowPolicy: string | number='';
37 38
38 /** 39 /**
39 * 组件内容源类型 (LIVE_HORIZONTAL_CARD\LIVE_RESERVATION\LIVE_LARGE_CARD\LIVE_END\LIVE_MONTHLY_RANKING ) 40 * 组件内容源类型 (LIVE_HORIZONTAL_CARD\LIVE_RESERVATION\LIVE_LARGE_CARD\LIVE_END\LIVE_MONTHLY_RANKING )
40 */ 41 */
41 - dataSourceType: string; 42 + dataSourceType: string='';
42 43
43 /** 44 /**
44 * 信息流广告素材 45 * 信息流广告素材
45 */ 46 */
46 - matInfo: CompAdvMatInfoBean 47 + matInfo: CompAdvMatInfoBean = {} as CompAdvMatInfoBean
47 48
48 pageId?: string; 49 pageId?: string;
49 objectType?: string; 50 objectType?: string;
@@ -8,81 +8,148 @@ import { RmhInfoDTO } from '../detail/RmhInfoDTO'; @@ -8,81 +8,148 @@ import { RmhInfoDTO } from '../detail/RmhInfoDTO';
8 import { commentInfo } from './commentInfo'; 8 import { commentInfo } from './commentInfo';
9 import { BaseDTO } from '../component/BaseDTO'; 9 import { BaseDTO } from '../component/BaseDTO';
10 10
11 -export interface ContentDTO extends BaseDTO {  
12 - appStyle: string;  
13 - cityCode: string;  
14 - coverSize: string;  
15 - coverType: number;  
16 - coverUrl: string;  
17 - description: string;  
18 - districtCode: string;  
19 - endTime: string;  
20 - hImageUrl: string;  
21 - heatValue: string;  
22 - innerUrl: string;  
23 - landscape: number; 11 +@Observed
  12 +export class ContentDTO implements BaseDTO {
  13 + appStyle: string = '';
  14 + cityCode: string = '';
  15 + coverSize: string = '';
  16 + coverType: number = -1;
  17 + coverUrl: string = '';
  18 + description: string = '';
  19 + districtCode: string = '';
  20 + endTime: string = '';
  21 + hImageUrl: string = '';
  22 + heatValue: string = '';
  23 + innerUrl: string = '';
  24 + landscape: number = -1;
24 lengthTime?: object; 25 lengthTime?: object;
25 - linkUrl: string;  
26 - openLikes: number; 26 + linkUrl: string = '';
  27 + openLikes: number = 0;
27 openComment?: number; 28 openComment?: number;
28 - openUrl: string;  
29 - pageId: string;  
30 - 29 + openUrl: string = '';
  30 + pageId: string = '';
31 // playUrls: any[]; 31 // playUrls: any[];
32 - programAuth: string;  
33 - programId: string;  
34 - programName: string;  
35 - programSource: number;  
36 - programType: number;  
37 - provinceCode: string;  
38 - 32 + programAuth: string = '';
  33 + programId: string = '';
  34 + programName: string = '';
  35 + programSource: number = -1;
  36 + programType: number = -1;
  37 + provinceCode: string = '';
39 // rankingList: any[]; 38 // rankingList: any[];
40 - showTitleEd: string;  
41 - showTitleIng: string;  
42 - showTitleNo: string;  
43 - 39 + showTitleEd: string = '';
  40 + showTitleIng: string = '';
  41 + showTitleNo: string = '';
44 // sortValue?: any; 42 // sortValue?: any;
45 - startTime: string;  
46 - subType: string;  
47 - subtitle: string;  
48 - title: string;  
49 - vImageUrl: string;  
50 - screenType: string;  
51 - source: string;  
52 - objectId: string;  
53 - objectType: string;  
54 - channelId: string;  
55 - relId: string;  
56 - relType: string;  
57 - newsTitle: string; //单图卡/2行标题/3行标题  
58 - publishTime: string;  
59 - publishTimestamp: string;  
60 - visitorComment: number;  
61 - fullColumnImgUrls: FullColumnImgUrlDTO[];  
62 - liveInfo: LiveInfoDTO; // 直播新闻信息【BFF聚合】  
63 - videoInfo: VideoInfoDTO; // 视频新闻信息【BFF聚合】,视频非原片+清晰度最高的 43 + startTime: string = '';
  44 + subType: string = '';
  45 + subtitle: string = '';
  46 + title: string = '';
  47 + vImageUrl: string = '';
  48 + screenType: string = '';
  49 + source: string = '';
  50 + objectId: string = '';
  51 + objectType: string = '';
  52 + channelId: string = '';
  53 + relId: string = '';
  54 + relType: string = '';
  55 + newsTitle: string = ''; //单图卡/2行标题/3行标题
  56 + publishTime: string = '';
  57 + publishTimestamp: string = '';
  58 + visitorComment: number = 0;
  59 + fullColumnImgUrls: FullColumnImgUrlDTO[] = [];
  60 + liveInfo: LiveInfoDTO = {} as LiveInfoDTO; // 直播新闻信息【BFF聚合】
  61 + videoInfo: VideoInfoDTO = {} as VideoInfoDTO; // 视频新闻信息【BFF聚合】,视频非原片+清晰度最高的
64 62
65 - newsSummary: string; //appstyle:2 ,新闻详情 63 + newsSummary: string = ''; //appstyle:2 ,新闻详情
66 64
67 // 二次请求接口,返回的数据,这里组装到content里; 65 // 二次请求接口,返回的数据,这里组装到content里;
68 - interactData: InteractDataDTO;  
69 - hasMore: number,  
70 - slideShows: slideShows[],  
71 - voiceInfo: VoiceInfoDTO,  
72 - tagWord: number,  
73 - isSelect: boolean;  
74 - rmhInfo: RmhInfoDTO; // 人民号信息  
75 - photoNum: number;  
76 - corner: string;  
77 - rmhPlatform: number;  
78 - newTags: string; 66 + interactData?: InteractDataDTO;
  67 + hasMore: number = -1;
  68 + slideShows: slideShows[] = [];
  69 + voiceInfo: VoiceInfoDTO = {} as VoiceInfoDTO;
  70 + tagWord: number = -1;
  71 + isSelect: boolean = false;
  72 + rmhInfo: RmhInfoDTO = {} as RmhInfoDTO; // 人民号信息
  73 + photoNum: number = 0;
  74 + corner: string = '';
  75 + rmhPlatform: number = 0;
  76 + newTags: string = '';
79 titleShow?: number; 77 titleShow?: number;
80 isSearch?: boolean; // 是否是搜索的结果,区分搜索和主页的数据 78 isSearch?: boolean; // 是否是搜索的结果,区分搜索和主页的数据
81 isCollection?: boolean; // 是否是收藏的结果,区分搜索和主页的数据 79 isCollection?: boolean; // 是否是收藏的结果,区分搜索和主页的数据
82 commentInfo?: commentInfo 80 commentInfo?: commentInfo
83 //底部导航栏 id(用于频道跳转) 81 //底部导航栏 id(用于频道跳转)
84 - bottomNavId:string; 82 + bottomNavId: string = '';
85 // 链接类型: 0:无链接;1:内链(文章);2:外链 83 // 链接类型: 0:无链接;1:内链(文章);2:外链
86 - openType:string  
87 - extra:string 84 + openType: string = '';
  85 + extra: string = ''
  86 +
  87 + static clone(old:ContentDTO): ContentDTO {
  88 + let content = new ContentDTO();
  89 + content.appStyle = old.appStyle;
  90 + content.cityCode = old.cityCode;
  91 + content.coverSize = old.coverSize;
  92 + content.coverType = old.coverType;
  93 + content.coverUrl = old.coverUrl;
  94 + content.description = old.description;
  95 + content.districtCode = old.districtCode;
  96 + content.endTime = old.endTime;
  97 + content.hImageUrl = old.hImageUrl;
  98 + content.heatValue = old.heatValue;
  99 + content.innerUrl = old.innerUrl;
  100 + content.landscape = old.landscape;
  101 + content.lengthTime = old.lengthTime;
  102 + content.linkUrl = old.linkUrl;
  103 + content.openLikes = old.openLikes;
  104 + content.openComment = old.openComment;
  105 + content.openUrl = old.openUrl;
  106 + content.pageId = old.pageId;
  107 + content.programAuth = old.programAuth;
  108 + content.programId = old.programId;
  109 + content.programName = old.programName;
  110 + content.programSource = old.programSource;
  111 + content.programType = old.programType;
  112 + content.provinceCode = old.provinceCode;
  113 + content.showTitleEd = old.showTitleEd;
  114 + content.showTitleIng = old.showTitleIng;
  115 + content.showTitleNo = old.showTitleNo;
  116 + content.startTime = old.startTime;
  117 + content.subType = old.subType;
  118 + content.subtitle = old.subtitle;
  119 + content.title = old.title;
  120 + content.vImageUrl = old.vImageUrl;
  121 + content.source = old.source;
  122 + content.objectId = old.objectId;
  123 + content.objectType = old.objectType;
  124 + content.channelId = old.channelId;
  125 + content.relId = old.relId;
  126 + content.relType = old.relType;
  127 + content.newsTitle = old.newsTitle;
  128 + content.publishTime = old.publishTime;
  129 + content.publishTimestamp = old.publishTimestamp;
  130 + content.visitorComment = old.visitorComment;
  131 + content.fullColumnImgUrls = old.fullColumnImgUrls;
  132 + content.liveInfo = old.liveInfo;
  133 + content.videoInfo = old.videoInfo;
  134 + content.newsSummary = old.newsSummary;
  135 + content.interactData = old.interactData;
  136 + content.hasMore = old.hasMore;
  137 + content.slideShows = old.slideShows;
  138 + content.voiceInfo = old.voiceInfo;
  139 + content.tagWord = old.tagWord;
  140 + content.isSelect = old.isSelect;
  141 + content.rmhInfo = old.rmhInfo;
  142 + content.photoNum = old.photoNum;
  143 + content.corner = old.corner;
  144 + content.rmhPlatform = old.rmhPlatform;
  145 + content.newTags = old.newTags;
  146 + content.titleShow = old.titleShow;
  147 + content.isSearch = old.isSearch;
  148 + content.isCollection = old.isCollection;
  149 + content.commentInfo = old.commentInfo;
  150 + content.bottomNavId = old.bottomNavId;
  151 + content.openType = old.openType;
  152 + content.extra = old.extra;
  153 + return content;
  154 + }
88 } 155 }
1 /** 1 /**
2 * 批查接口查询互动相关数据,返回数据bean 2 * 批查接口查询互动相关数据,返回数据bean
3 */ 3 */
4 -export interface InteractDataDTO {  
5 - collectNum: number | string;  
6 - commentNum: number | string;  
7 - contentId: string;  
8 - contentType: number;  
9 - likeNum: number | string;  
10 - readNum: number;  
11 - shareNum: number; 4 +@Observed
  5 +export class InteractDataDTO {
  6 + collectNum: number | string = 0;
  7 + commentNum: number | string = 0;
  8 + contentId: string = '';
  9 + contentType: number = 0;
  10 + likeNum: number | string = 0;
  11 + readNum: number = 0;
  12 + shareNum: number = 0;
12 } 13 }
@@ -6,4 +6,5 @@ export interface H5ReceiveDataExtraBean { @@ -6,4 +6,5 @@ export interface H5ReceiveDataExtraBean {
6 networkStatus: number; 6 networkStatus: number;
7 darkMode: string; 7 darkMode: string;
8 fontSizes: string; 8 fontSizes: string;
  9 + clientHeight: number;
9 } 10 }
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 export interface TopNavDTO { 4 export interface TopNavDTO {
5 channelId: number; 5 channelId: number;
6 channelStyle: number; 6 channelStyle: number;
7 - channelType: number; 7 + channelType: number; // 频道样式;1-沉浸式;2-信息流;3-特殊频道(跳转指定页面的,如版面)
8 defaultPermitted: number; 8 defaultPermitted: number;
9 delPermitted: number; 9 delPermitted: number;
10 fontCColor: string; // 频道展示样式颜色(选中状态) 10 fontCColor: string; // 频道展示样式颜色(选中状态)
@@ -23,7 +23,7 @@ import { Card21Component } from './cardview/Card21Component'; @@ -23,7 +23,7 @@ import { Card21Component } from './cardview/Card21Component';
23 */ 23 */
24 @Component 24 @Component
25 export struct CardParser { 25 export struct CardParser {
26 - @State contentDTO: ContentDTO = {} as ContentDTO; 26 + @State contentDTO: ContentDTO = new ContentDTO();
27 27
28 build() { 28 build() {
29 this.contentBuilder(this.contentDTO); 29 this.contentBuilder(this.contentDTO);
@@ -55,7 +55,7 @@ export struct DynamicDetailComponent { @@ -55,7 +55,7 @@ export struct DynamicDetailComponent {
55 55
56 @State newsStatusOfUser: batchLikeAndCollectResult = {} as batchLikeAndCollectResult// 点赞、收藏状态 56 @State newsStatusOfUser: batchLikeAndCollectResult = {} as batchLikeAndCollectResult// 点赞、收藏状态
57 //跳转 57 //跳转
58 - private mJumpInfo: ContentDTO = {} as ContentDTO; 58 + private mJumpInfo: ContentDTO = new ContentDTO();
59 59
60 @State publishTime: string = '' 60 @State publishTime: string = ''
61 @State isNetConnected: boolean = true 61 @State isNetConnected: boolean = true
@@ -6,7 +6,7 @@ import { @@ -6,7 +6,7 @@ import {
6 H5ReceiveDetailBean, 6 H5ReceiveDetailBean,
7 ResponseBean 7 ResponseBean
8 } from 'wdBean'; 8 } from 'wdBean';
9 -import { Logger, SPHelper, NetworkUtil } from 'wdKit'; 9 +import { Logger, SPHelper, NetworkUtil, DisplayUtils } from 'wdKit';
10 import { SpConstants } from 'wdConstant'; 10 import { SpConstants } from 'wdConstant';
11 import { WdWebLocalComponent } from 'wdWebComponent'; 11 import { WdWebLocalComponent } from 'wdWebComponent';
12 import { NativeCallH5Type } from 'wdWebComponent/src/main/ets/pages/NativeCallH5Type'; 12 import { NativeCallH5Type } from 'wdWebComponent/src/main/ets/pages/NativeCallH5Type';
@@ -67,7 +67,7 @@ export struct ImageAndTextWebComponent { @@ -67,7 +67,7 @@ export struct ImageAndTextWebComponent {
67 loadImageOnlyWifiSwitch: loadImageOnlyWifiSwitch ? '1' : '2', 67 loadImageOnlyWifiSwitch: loadImageOnlyWifiSwitch ? '1' : '2',
68 networkStatus: Number(NetworkUtil.getNetworkType()), 68 networkStatus: Number(NetworkUtil.getNetworkType()),
69 darkMode: 'light', 69 darkMode: 'light',
70 - fontSizes: 'small' 70 + fontSizes: 'normalsize'
71 71
72 } as H5ReceiveDataExtraBean 72 } as H5ReceiveDataExtraBean
73 let h5ReceiveDataJsonBean: H5ReceiveDataJsonBean = { 73 let h5ReceiveDataJsonBean: H5ReceiveDataJsonBean = {
@@ -9,7 +9,7 @@ import { DateTimeUtils } from 'wdKit/Index' @@ -9,7 +9,7 @@ import { DateTimeUtils } from 'wdKit/Index'
9 */ 9 */
10 @Component 10 @Component
11 export struct CardMediaInfo { 11 export struct CardMediaInfo {
12 - @State contentDTO: ContentDTO = {} as ContentDTO // 如果有duraion,代表点播,显示时长;如果不传或者传0,显示直播中 12 + @State contentDTO: ContentDTO = new ContentDTO() // 如果有duraion,代表点播,显示时长;如果不传或者传0,显示直播中
13 13
14 // objectType 0:不跳转 1:点播,2:直播,3:活动,4:广告,5:专题,6:链接,7:榜单,8:图文,9:组图,10:H5新闻,11:频道,12:组件,13:音频, 14 // objectType 0:不跳转 1:点播,2:直播,3:活动,4:广告,5:专题,6:链接,7:榜单,8:图文,9:组图,10:H5新闻,11:频道,12:组件,13:音频,
15 // 14动态图文,15动态视频16问政;100人民号,101标签 15 // 14动态图文,15动态视频16问政;100人民号,101标签
@@ -4,7 +4,7 @@ import { DateTimeUtils } from 'wdKit/Index'; @@ -4,7 +4,7 @@ import { DateTimeUtils } from 'wdKit/Index';
4 4
5 @Component 5 @Component
6 export struct CardSourceInfo { 6 export struct CardSourceInfo {
7 - @State contentDTO: ContentDTO = {} as ContentDTO; 7 + @State contentDTO: ContentDTO = new ContentDTO();
8 8
9 build() { 9 build() {
10 Flex() { 10 Flex() {
@@ -20,7 +20,7 @@ const TAG: string = 'Card2Component'; @@ -20,7 +20,7 @@ const TAG: string = 'Card2Component';
20 @Component 20 @Component
21 export struct CardAdvVideoComponent { 21 export struct CardAdvVideoComponent {
22 @State compDTO: CompDTO = {} as CompDTO 22 @State compDTO: CompDTO = {} as CompDTO
23 - @State contentDTO: ContentDTO = {} as ContentDTO 23 + @State contentDTO: ContentDTO = new ContentDTO()
24 pageModel: PageModel = new PageModel(); 24 pageModel: PageModel = new PageModel();
25 aboutToAppear(): void { 25 aboutToAppear(): void {
26 26
1 -import { ContentDTO, slideShows } from 'wdBean'; 1 +import { ContentDTO, slideShows, VideoInfoDTO } from 'wdBean';
2 import { CommonConstants } from 'wdConstant'; 2 import { CommonConstants } from 'wdConstant';
3 import { ProcessUtils } from 'wdRouter'; 3 import { ProcessUtils } from 'wdRouter';
4 import { CardSourceInfo } from '../cardCommon/CardSourceInfo'; 4 import { CardSourceInfo } from '../cardCommon/CardSourceInfo';
@@ -14,7 +14,7 @@ const TAG: string = 'Card10Component'; @@ -14,7 +14,7 @@ const TAG: string = 'Card10Component';
14 @Preview 14 @Preview
15 @Component 15 @Component
16 export struct Card10Component { 16 export struct Card10Component {
17 - @State contentDTO: ContentDTO = {} as ContentDTO; 17 + @State contentDTO: ContentDTO = new ContentDTO();
18 @State loadImg: boolean = false; 18 @State loadImg: boolean = false;
19 19
20 async aboutToAppear(): Promise<void> { 20 async aboutToAppear(): Promise<void> {
@@ -111,10 +111,7 @@ export struct Card10Component { @@ -111,10 +111,7 @@ export struct Card10Component {
111 111
112 CardSourceInfo( 112 CardSourceInfo(
113 { 113 {
114 - contentDTO: {  
115 - publishTime: item.publishTime || '',  
116 - source: item.source || ''  
117 - } as ContentDTO 114 + contentDTO: this.createContent(item)
118 } 115 }
119 ) 116 )
120 } 117 }
@@ -132,12 +129,7 @@ export struct Card10Component { @@ -132,12 +129,7 @@ export struct Card10Component {
132 .borderRadius($r('app.float.image_border_radius')) 129 .borderRadius($r('app.float.image_border_radius'))
133 .margin({ left: 12 }) 130 .margin({ left: 12 })
134 CardMediaInfo({ 131 CardMediaInfo({
135 - contentDTO: {  
136 - objectType: String(item.objectType),  
137 - videoInfo: { videoDuration: Number(item.videoDuration) as number },  
138 - photoNum: Number(item.photoNum),  
139 - voiceInfo: { voiceDuration: Number(item.voiceDuration) as number }  
140 - } as ContentDTO 132 + contentDTO: this.createMediaInfoContent(item)
141 }) 133 })
142 } 134 }
143 .alignContent(Alignment.BottomEnd) 135 .alignContent(Alignment.BottomEnd)
@@ -153,4 +145,20 @@ export struct Card10Component { @@ -153,4 +145,20 @@ export struct Card10Component {
153 ProcessUtils.processPage(data) 145 ProcessUtils.processPage(data)
154 }) 146 })
155 } 147 }
  148 +
  149 + private createContent(item: slideShows): ContentDTO {
  150 + let contentDTO = new ContentDTO()
  151 + contentDTO.publishTime = item.publishTime.toString() || '';
  152 + contentDTO.source = item.source || '';
  153 + return contentDTO;
  154 + }
  155 +
  156 + private createMediaInfoContent(item: slideShows): ContentDTO {
  157 + let contentDTO = new ContentDTO()
  158 + contentDTO.objectType = String(item.objectType);
  159 + contentDTO.videoInfo = { videoDuration: Number(item.videoDuration) as number } as VideoInfoDTO;
  160 + contentDTO.photoNum = Number(item.photoNum);
  161 + contentDTO.voiceInfo = { voiceDuration: Number(item.voiceDuration) as number };
  162 + return contentDTO;
  163 + }
156 } 164 }
@@ -11,7 +11,7 @@ const TAG = 'Card11Component'; @@ -11,7 +11,7 @@ const TAG = 'Card11Component';
11 */ 11 */
12 @Component 12 @Component
13 export struct Card11Component { 13 export struct Card11Component {
14 - @State contentDTO: ContentDTO = {} as ContentDTO; 14 + @State contentDTO: ContentDTO = new ContentDTO();
15 @State clicked: boolean = false; 15 @State clicked: boolean = false;
16 16
17 build() { 17 build() {
@@ -12,7 +12,7 @@ const TAG = 'Card12Component'; @@ -12,7 +12,7 @@ const TAG = 'Card12Component';
12 */ 12 */
13 @Component 13 @Component
14 export struct Card12Component { 14 export struct Card12Component {
15 - @State contentDTO: ContentDTO = {} as ContentDTO; 15 + @State contentDTO: ContentDTO = new ContentDTO();
16 @State clicked: boolean = false; 16 @State clicked: boolean = false;
17 17
18 aboutToAppear(): void { 18 aboutToAppear(): void {
@@ -13,7 +13,7 @@ const TAG = 'Card14Component'; @@ -13,7 +13,7 @@ const TAG = 'Card14Component';
13 */ 13 */
14 @Component 14 @Component
15 export struct Card14Component { 15 export struct Card14Component {
16 - @State contentDTO: ContentDTO = {} as ContentDTO; 16 + @State contentDTO: ContentDTO = new ContentDTO();
17 @State loadImg: boolean = false; 17 @State loadImg: boolean = false;
18 @State clicked: boolean = false; 18 @State clicked: boolean = false;
19 19
@@ -17,7 +17,7 @@ const TAG: string = 'Card15Component'; @@ -17,7 +17,7 @@ const TAG: string = 'Card15Component';
17 */ 17 */
18 @Component 18 @Component
19 export struct Card15Component { 19 export struct Card15Component {
20 - @State contentDTO: ContentDTO = {} as ContentDTO; 20 + @State contentDTO: ContentDTO = new ContentDTO();
21 @State loadImg: boolean = false; 21 @State loadImg: boolean = false;
22 @State clicked: boolean = false; 22 @State clicked: boolean = false;
23 23
@@ -18,7 +18,7 @@ interface fullColumnImgUrlItem { @@ -18,7 +18,7 @@ interface fullColumnImgUrlItem {
18 */ 18 */
19 @Component 19 @Component
20 export struct Card16Component { 20 export struct Card16Component {
21 - @State contentDTO: ContentDTO = {} as ContentDTO; 21 + @State contentDTO: ContentDTO = new ContentDTO();
22 @State loadImg: boolean = false; 22 @State loadImg: boolean = false;
23 @State clicked: boolean = false; 23 @State clicked: boolean = false;
24 24
@@ -15,7 +15,7 @@ const TAG = 'Card17Component'; @@ -15,7 +15,7 @@ const TAG = 'Card17Component';
15 @Component 15 @Component
16 export struct Card17Component { 16 export struct Card17Component {
17 @State compDTO: CompDTO = {} as CompDTO 17 @State compDTO: CompDTO = {} as CompDTO
18 - @State contentDTO: ContentDTO = {} as ContentDTO; 18 + @State contentDTO: ContentDTO = new ContentDTO();
19 @State loadImg: boolean = false; 19 @State loadImg: boolean = false;
20 @State clicked: boolean = false; 20 @State clicked: boolean = false;
21 21
@@ -12,8 +12,7 @@ const TAG = 'Card19Component'; @@ -12,8 +12,7 @@ const TAG = 'Card19Component';
12 */ 12 */
13 @Component 13 @Component
14 export struct Card19Component { 14 export struct Card19Component {
15 - @State contentDTO: ContentDTO = {  
16 - } as ContentDTO 15 + @State contentDTO: ContentDTO = new ContentDTO()
17 @State clicked: boolean = false; 16 @State clicked: boolean = false;
18 17
19 build() { 18 build() {
@@ -13,8 +13,7 @@ const TAG = 'Card20Component'; @@ -13,8 +13,7 @@ const TAG = 'Card20Component';
13 */ 13 */
14 @Component 14 @Component
15 export struct Card20Component { 15 export struct Card20Component {
16 - @State contentDTO: ContentDTO = {  
17 - } as ContentDTO; 16 + @State contentDTO: ContentDTO = new ContentDTO();
18 @State clicked: boolean = false; 17 @State clicked: boolean = false;
19 18
20 aboutToAppear(): void { 19 aboutToAppear(): void {
@@ -13,7 +13,7 @@ const TAG: string = 'Card6Component-Card13Component'; @@ -13,7 +13,7 @@ const TAG: string = 'Card6Component-Card13Component';
13 */ 13 */
14 @Component 14 @Component
15 export struct Card21Component { 15 export struct Card21Component {
16 - @State contentDTO: ContentDTO = {} as ContentDTO; 16 + @State contentDTO: ContentDTO = new ContentDTO();
17 @State loadImg: boolean = false; 17 @State loadImg: boolean = false;
18 @State clicked: boolean = false; 18 @State clicked: boolean = false;
19 19
@@ -18,7 +18,7 @@ const TAG: string = 'Card2Component'; @@ -18,7 +18,7 @@ const TAG: string = 'Card2Component';
18 */ 18 */
19 @Component 19 @Component
20 export struct Card2Component { 20 export struct Card2Component {
21 - @State contentDTO: ContentDTO = {} as ContentDTO; 21 + @State contentDTO: ContentDTO = new ContentDTO();
22 @State loadImg: boolean = false; 22 @State loadImg: boolean = false;
23 @State clicked: boolean = false; 23 @State clicked: boolean = false;
24 24
@@ -9,8 +9,7 @@ import { CardSourceInfo } from '../cardCommon/CardSourceInfo' @@ -9,8 +9,7 @@ import { CardSourceInfo } from '../cardCommon/CardSourceInfo'
9 */ 9 */
10 @Component 10 @Component
11 export struct Card3Component { 11 export struct Card3Component {
12 - @State contentDTO: ContentDTO = {  
13 - } as ContentDTO; 12 + @State contentDTO: ContentDTO = new ContentDTO();
14 @State clicked: boolean = false; 13 @State clicked: boolean = false;
15 14
16 build() { 15 build() {
@@ -15,7 +15,7 @@ const TAG: string = 'Card4Component'; @@ -15,7 +15,7 @@ const TAG: string = 'Card4Component';
15 */ 15 */
16 @Component 16 @Component
17 export struct Card4Component { 17 export struct Card4Component {
18 - @State contentDTO: ContentDTO = {} as ContentDTO; 18 + @State contentDTO: ContentDTO = new ContentDTO();
19 @State loadImg: boolean = false; 19 @State loadImg: boolean = false;
20 @State clicked: boolean = false; 20 @State clicked: boolean = false;
21 21
@@ -11,7 +11,7 @@ const TAG: string = 'Card5Component'; @@ -11,7 +11,7 @@ const TAG: string = 'Card5Component';
11 */ 11 */
12 @Component 12 @Component
13 export struct Card5Component { 13 export struct Card5Component {
14 - @State contentDTO: ContentDTO = {} as ContentDTO; 14 + @State contentDTO: ContentDTO = new ContentDTO();
15 @State titleShowPolicy: number | string = 1 15 @State titleShowPolicy: number | string = 1
16 @State loadImg: boolean = false; 16 @State loadImg: boolean = false;
17 @State clicked: boolean = false; 17 @State clicked: boolean = false;
@@ -13,7 +13,7 @@ const TAG: string = 'Card6Component-Card13Component'; @@ -13,7 +13,7 @@ const TAG: string = 'Card6Component-Card13Component';
13 */ 13 */
14 @Component 14 @Component
15 export struct Card6Component { 15 export struct Card6Component {
16 - @State contentDTO: ContentDTO = {} as ContentDTO; 16 + @State contentDTO: ContentDTO = new ContentDTO();
17 @State loadImg: boolean = false; 17 @State loadImg: boolean = false;
18 @State clicked: boolean = false; 18 @State clicked: boolean = false;
19 19
@@ -12,7 +12,7 @@ const TAG: string = 'Card9Component'; @@ -12,7 +12,7 @@ const TAG: string = 'Card9Component';
12 12
13 @Component 13 @Component
14 export struct Card9Component { 14 export struct Card9Component {
15 - @State contentDTO: ContentDTO = {} as ContentDTO; 15 + @State contentDTO: ContentDTO = new ContentDTO();
16 @State loadImg: boolean = false; 16 @State loadImg: boolean = false;
17 @State clicked: boolean = false; 17 @State clicked: boolean = false;
18 18
@@ -443,18 +443,14 @@ struct QualityCommentItem { @@ -443,18 +443,14 @@ struct QualityCommentItem {
443 443
444 jumpToDetail() { 444 jumpToDetail() {
445 // programInfoModel.api_isCommentAction = YES; 445 // programInfoModel.api_isCommentAction = YES;
446 -  
447 - let program: ContentDTO = {  
448 - objectId: this.item.targetId,  
449 - objectType: this.item.targetType,  
450 - relId: this.item.targetRelId,  
451 - relType: this.item.targetRelType,  
452 - // objectLevel: this.item.topicType,  
453 - pageId: this.item.pageId,  
454 - linkUrl: this.item.h5Url,  
455 - } as ContentDTO  
456 -  
457 - ProcessUtils.processPage(program) 446 + let content = new ContentDTO()
  447 + content.objectId = this.item.targetId;
  448 + content.objectType = this.item.targetType;
  449 + content.relId = this.item.targetRelId;
  450 + content.relType = this.item.targetRelType;
  451 + content.pageId = this.item.pageId;
  452 + content.linkUrl = this.item.h5Url;
  453 + ProcessUtils.processPage(content)
458 } 454 }
459 455
460 replyComment() { 456 replyComment() {
@@ -162,7 +162,7 @@ export struct ZhCarouselLayout01 { @@ -162,7 +162,7 @@ export struct ZhCarouselLayout01 {
162 162
163 @Component 163 @Component
164 struct CarouselLayout01CardView { 164 struct CarouselLayout01CardView {
165 - private item: ContentDTO = {} as ContentDTO; 165 + private item: ContentDTO = new ContentDTO();
166 private length: number = 1; // 轮播图数量 166 private length: number = 1; // 轮播图数量
167 @State loadImg: boolean = false; 167 @State loadImg: boolean = false;
168 168
@@ -78,6 +78,14 @@ export default struct MinePagePersonFunctionUI { @@ -78,6 +78,14 @@ export default struct MinePagePersonFunctionUI {
78 WDRouterRule.jumpWithPage(WDRouterPage.browsingHistoryPage) 78 WDRouterRule.jumpWithPage(WDRouterPage.browsingHistoryPage)
79 break; 79 break;
80 } 80 }
  81 + case "消息":{
  82 + if(!this.isLogin){
  83 + WDRouterRule.jumpWithPage(WDRouterPage.loginPage)
  84 + return
  85 + }
  86 + WDRouterRule.jumpWithPage(WDRouterPage.mineMessagePage)
  87 + break;
  88 + }
81 } 89 }
82 }).width('169lpx') 90 }).width('169lpx')
83 .height('117lpx') 91 .height('117lpx')
@@ -195,13 +195,12 @@ export struct ChildCommentComponent { @@ -195,13 +195,12 @@ export struct ChildCommentComponent {
195 }.height('69lpx') 195 }.height('69lpx')
196 .justifyContent(FlexAlign.Center) 196 .justifyContent(FlexAlign.Center)
197 .onClick(() => { 197 .onClick(() => {
198 - ProcessUtils.processPage(  
199 - {  
200 - objectId: this.data.targetId,  
201 - relType: this.data.targetRelType + "",  
202 - relId: this.data.targetRelId,  
203 - objectType: this.data.targetType + "",  
204 - } as ContentDTO) 198 + let content = new ContentDTO()
  199 + content.objectId = this.data.targetId;
  200 + content.relType = this.data.targetRelType + "";
  201 + content.relId = this.data.targetRelId;
  202 + content.objectType = this.data.targetType + "";
  203 + ProcessUtils.processPage(content)
205 }) 204 })
206 } 205 }
207 .margin({ top: '19lpx', bottom: '31lpx', left: '31lpx', right: '31lpx' }) 206 .margin({ top: '19lpx', bottom: '31lpx', left: '31lpx', right: '31lpx' })
  1 +import { StringUtils, ToastUtils } from 'wdKit/Index'
  2 +import MinePageDatasModel from '../../../model/MinePageDatasModel'
  3 +import { MessageItem } from '../../../viewmodel/MessageItem'
  4 +import { CustomTitleUI } from '../../reusable/CustomTitleUI'
  5 +
  6 +const TAG = "MessageListUI"
  7 +
  8 +@Component
  9 +export struct MessageListUI {
  10 + @State msgData: MessageItem[] = []
  11 +
  12 + aboutToAppear() {
  13 + this.msgData = MinePageDatasModel.getMessageData()
  14 + }
  15 +
  16 + build() {
  17 + Column() {
  18 + //标题栏目
  19 + CustomTitleUI({ titleName: "消息" })
  20 +
  21 + List() {
  22 + ForEach(this.msgData, (item: MessageItem, index: number) => {
  23 + ListItem() {
  24 + Column(){
  25 + Column() {
  26 + Row() {
  27 + Row() {
  28 + Image(item.imgSrc)
  29 + .objectFit(ImageFit.Auto)
  30 + .width('92lpx')
  31 + .height('92lpx')
  32 + .margin({ right: '15lpx' })
  33 +
  34 + Column() {
  35 + Text(item.title)
  36 + .fontWeight(500)
  37 + .fontSize('31lpx')
  38 + .lineHeight('42lpx')
  39 + .fontColor($r('app.color.color_222222'))
  40 + .maxLines(1)
  41 + .margin({ bottom: StringUtils.isNotEmpty(item.desc)?'8lpx':0 })
  42 +
  43 + if(StringUtils.isNotEmpty(item.desc)){
  44 + Text(`${item.desc}`)
  45 + .fontColor($r('app.color.color_B0B0B0'))
  46 + .fontSize('23lpx')
  47 + .lineHeight('38lpx')
  48 + .fontWeight(400)
  49 + .maxLines(1)
  50 + .textOverflow({ overflow: TextOverflow.Ellipsis })
  51 + }
  52 + }
  53 + .height('92lpx')
  54 + .layoutWeight(1)
  55 + .alignItems(HorizontalAlign.Start)
  56 + .justifyContent(StringUtils.isNotEmpty(item.desc)?FlexAlign.Start:FlexAlign.Center)
  57 + }.layoutWeight(1)
  58 +
  59 + Row() {
  60 + Text(`${item.time}`)
  61 + .fontColor($r('app.color.color_999999'))
  62 + .fontSize('23lpx')
  63 + .fontWeight(500)
  64 + .lineHeight('35lpx')
  65 + }
  66 + .justifyContent(FlexAlign.Start)
  67 + .alignItems(VerticalAlign.Top)
  68 + .height('92lpx')
  69 + }
  70 + .width('100%')
  71 + .height('92lpx')
  72 + .justifyContent(FlexAlign.SpaceBetween)
  73 +
  74 + }.height('154lpx')
  75 + .width("100%")
  76 + .justifyContent(FlexAlign.Center)
  77 +
  78 + Text().backgroundColor($r('app.color.color_EDEDED'))
  79 + .width('100%')
  80 + .height('1lpx')
  81 + .visibility(index != 3 ?Visibility.Visible:Visibility.None)
  82 + }
  83 + }
  84 + .padding({left:"31lpx",right:"31lpx"})
  85 + .onClick(() => {
  86 + ToastUtils.shortToast(index+"")
  87 + switch (index) {
  88 + case 0: //互动消息
  89 + break;
  90 + case 1: //预约消息
  91 + break;
  92 + case 2: //历史推送
  93 + break;
  94 + case 3: //系统消息
  95 + break;
  96 + }
  97 + })
  98 + .height('154lpx')
  99 + .width("100%")
  100 + })
  101 + }
  102 + }
  103 + .backgroundColor($r('app.color.white'))
  104 + .height('100%')
  105 + .width('100%')
  106 + }
  107 +}
@@ -15,7 +15,7 @@ const TAG: string = 'CardView'; @@ -15,7 +15,7 @@ const TAG: string = 'CardView';
15 */ 15 */
16 @Component 16 @Component
17 export struct CarouselLayout01CardView { 17 export struct CarouselLayout01CardView {
18 - private item: ContentDTO = {} as ContentDTO; 18 + private item: ContentDTO = new ContentDTO();
19 private index: number = -1; 19 private index: number = -1;
20 20
21 build() { 21 build() {
@@ -85,7 +85,7 @@ export struct CarouselLayout01CardView { @@ -85,7 +85,7 @@ export struct CarouselLayout01CardView {
85 */ 85 */
86 @Component 86 @Component
87 export struct SingleColumn01CardView { 87 export struct SingleColumn01CardView {
88 - private item: ContentDTO = {} as ContentDTO; 88 + private item: ContentDTO = new ContentDTO();
89 private index: number = -1; 89 private index: number = -1;
90 90
91 build() { 91 build() {
@@ -164,7 +164,7 @@ export struct SingleColumn01CardView { @@ -164,7 +164,7 @@ export struct SingleColumn01CardView {
164 */ 164 */
165 @Component 165 @Component
166 export struct SingleColumn02CardView { 166 export struct SingleColumn02CardView {
167 - private item: ContentDTO = {} as ContentDTO; 167 + private item: ContentDTO = new ContentDTO();
168 private index: number = -1; 168 private index: number = -1;
169 169
170 build() { 170 build() {
@@ -288,7 +288,7 @@ export struct SingleColumn02CardView { @@ -288,7 +288,7 @@ export struct SingleColumn02CardView {
288 */ 288 */
289 @Component 289 @Component
290 export struct MasonryLayout01CardView { 290 export struct MasonryLayout01CardView {
291 - private item: ContentDTO = {} as ContentDTO; 291 + private item: ContentDTO = new ContentDTO();
292 private index: number = -1; 292 private index: number = -1;
293 293
294 build() { 294 build() {
@@ -387,7 +387,7 @@ export struct MasonryLayout01CardView { @@ -387,7 +387,7 @@ export struct MasonryLayout01CardView {
387 */ 387 */
388 @Component 388 @Component
389 export struct PaperSingleColumn999CardView { 389 export struct PaperSingleColumn999CardView {
390 - private item: ContentDTO = {} as ContentDTO; 390 + private item: ContentDTO = new ContentDTO();
391 private index: number = -1; 391 private index: number = -1;
392 @State interactData: InteractDataDTO = {} as InteractDataDTO; 392 @State interactData: InteractDataDTO = {} as InteractDataDTO;
393 @Consume @Watch('onChangeCommentList') commentList: InteractDataDTO[] 393 @Consume @Watch('onChangeCommentList') commentList: InteractDataDTO[]
@@ -37,9 +37,9 @@ struct EditUserIntroductionPage { @@ -37,9 +37,9 @@ struct EditUserIntroductionPage {
37 37
38 38
39 Divider() 39 Divider()
40 - .margin(12) 40 + .margin(20)
41 41
42 - Text('1、账号中(头像、昵称等)不允许含有违禁违规内容;\n2、出于商业或作为素材恶搞目的,而将国旗、国徽以及国家领导人用于头像、昵称;\n3、最多60个字,只能输入中文、数字、英文字母。') 42 + Text('1、账号中(头像、昵称等)不允许含有违禁违规内容;\n2、最多60个字,只能输入中文、数字、英文字母。')
43 .fontSize(13) 43 .fontSize(13)
44 .padding(12) 44 .padding(12)
45 .fontColor(Color.Gray) 45 .fontColor(Color.Gray)
@@ -39,9 +39,9 @@ struct EditUserNikeNamePage { @@ -39,9 +39,9 @@ struct EditUserNikeNamePage {
39 .alignItems(VerticalAlign.Center) 39 .alignItems(VerticalAlign.Center)
40 40
41 Divider() 41 Divider()
42 - .margin(12) 42 + .margin(20)
43 43
44 - Text('1、账号中(头像、昵称等)不允许含有违禁违规内容;\n2、出于商业或作为素材恶搞目的,而将国旗、国徽以及国家领导人用于头像、昵称;\n3、最多16个字,只能输入中文、数字、英文字母。') 44 + Text('1、账号中(头像、昵称等)不允许含有违禁违规内容;\n2、最多16个字,只能输入中文、数字、英文字母。')
45 .fontSize(13) 45 .fontSize(13)
46 .padding(12) 46 .padding(12)
47 .fontColor(Color.Gray) 47 .fontColor(Color.Gray)
  1 +
  2 +import MyCollectionViewModel from '../../viewmodel/MyCollectionViewModel';
  3 +import PageModel from '../../viewmodel/PageModel';
  4 +import { CommonConstants, ViewType } from 'wdConstant'
  5 +import { EmptyComponent,WDViewDefaultType } from '../view/EmptyComponent'
  6 +import { ContentDTO } from 'wdBean'
  7 +import NoMoreLayout from './NoMoreLayout'
  8 +import CustomRefreshLoadLayout from './CustomRefreshLoadLayout';
  9 +import { CustomSelectUI } from '../view/CustomSelectUI';
  10 +import { CustomBottomFuctionUI } from '../view/CustomBottomFuctionUI';
  11 +import { BigPicCardComponent } from '../view/BigPicCardComponent';
  12 +
  13 +import { CustomTitleUI } from '../reusable/CustomTitleUI';
  14 +import { CustomPullToRefresh } from '../reusable/CustomPullToRefresh';
  15 +
  16 +@Entry
  17 +@Component
  18 +struct InteractMessagePage {
  19 + @State private browSingModel: PageModel = new PageModel()
  20 + isloading : boolean = false
  21 + @Provide isEditState:boolean = false
  22 + @State allDatas :ContentDTO[] = [];
  23 + private scroller: Scroller = new Scroller();
  24 + @State likeNum: number = 20
  25 +
  26 + aboutToAppear(){
  27 + this.getData()
  28 + }
  29 +
  30 + build() {
  31 + Column(){
  32 + CustomTitleUI({titleName:'互动消息'})
  33 +
  34 +
  35 +
  36 + if(this.browSingModel.viewType == ViewType.ERROR){
  37 + EmptyComponent({emptyType:WDViewDefaultType.WDViewDefaultType_NetworkFailed})
  38 + }else if(this.browSingModel.viewType == ViewType.EMPTY){
  39 + EmptyComponent({emptyType:WDViewDefaultType.WDViewDefaultType_NoHistory})
  40 + }else {
  41 + CustomPullToRefresh({
  42 + alldata:this.allDatas,
  43 + scroller:this.scroller,
  44 + customList:()=>{
  45 + this.ListLayout()
  46 + },
  47 + onRefresh:(resolve)=>{
  48 + this.browSingModel.currentPage = 0
  49 + this.getData(resolve)
  50 + },
  51 + onLoadMore:(resolve)=> {
  52 + this.browSingModel.currentPage++
  53 + this.getData()
  54 + }
  55 + })
  56 + }
  57 +
  58 + }
  59 + .width(CommonConstants.FULL_WIDTH)
  60 + .height(CommonConstants.FULL_HEIGHT)
  61 + }
  62 +
  63 + @Builder ListLayout() {
  64 + List({scroller: this.scroller}) {
  65 + ListItem(){
  66 + this.likeUILayout()
  67 + }
  68 +
  69 + // 下拉刷新
  70 + ForEach(this.allDatas, (compDTO: ContentDTO, compIndex: number) => {
  71 + ListItem() {
  72 + this.newCompParser(compDTO,compIndex)
  73 + }
  74 + })
  75 + // 加载更多
  76 + ListItem() {
  77 + if (this.browSingModel.hasMore) {
  78 + } else {
  79 + NoMoreLayout()
  80 + }
  81 + }
  82 + }
  83 + .height(CommonConstants.FULL_PARENT)
  84 + .edgeEffect(EdgeEffect.None) // 必须设置列表为滑动到边缘无效果
  85 + }
  86 +
  87 + @Builder
  88 + likeUILayout(){
  89 + Column(){
  90 + Row(){
  91 + Text('共获')
  92 + .fontSize(18)
  93 + Text(this.likeNum.toString())
  94 + .fontSize(30)
  95 + .fontColor(Color.Red)
  96 + Text('赞')
  97 + .fontSize(18)
  98 +
  99 + }.height(75)
  100 +
  101 +
  102 + Divider()
  103 + .color('#f5f5f5')
  104 + .backgroundColor('#f5f5f5')
  105 + .width('100%')
  106 + .height(5)
  107 + }
  108 + .alignItems(HorizontalAlign.Start)
  109 + .padding({ left:16,right:16 })
  110 + .width('100%')
  111 + .height(80)
  112 +
  113 + }
  114 +
  115 + @Builder
  116 + newCompParser(compDTO: ContentDTO, compIndex: number){
  117 + Row(){
  118 + if (this.isEditState){
  119 + CustomSelectUI({
  120 + isOn:compDTO.isSelect,
  121 + selectCallback:(isOn)=>{
  122 +
  123 + }
  124 + })
  125 + .margin({left:16})
  126 + }
  127 + Column() {
  128 + BigPicCardComponent({contentDTO:compDTO})
  129 + }
  130 + }
  131 + }
  132 +
  133 +
  134 + async getData(resolve?: (value: string | PromiseLike<string>) => void){
  135 + MyCollectionViewModel.fetchMyCollectList(2,'1',this.browSingModel.currentPage,getContext(this)).then(collectionItem => {
  136 + if(resolve) resolve('刷新成功')
  137 + if (collectionItem && collectionItem.list && collectionItem.list.length > 0) {
  138 + this.browSingModel.viewType = ViewType.LOADED;
  139 + this.allDatas.push(...collectionItem.list)
  140 + if (collectionItem.list.length === this.browSingModel.pageSize) {
  141 + this.browSingModel.currentPage++;
  142 + this.browSingModel.hasMore = true;
  143 + } else {
  144 + this.browSingModel.hasMore = false;
  145 + }
  146 + } else {
  147 + this.browSingModel.viewType = ViewType.EMPTY;
  148 + }
  149 + })
  150 + }
  151 +
  152 +}
@@ -29,7 +29,7 @@ struct LiveMorePage { @@ -29,7 +29,7 @@ struct LiveMorePage {
29 pageSize: number = 20; 29 pageSize: number = 20;
30 operDataList: ContentDTO[] = []; 30 operDataList: ContentDTO[] = [];
31 title: string = '直播列表' 31 title: string = '直播列表'
32 - @State contentDTO: ContentDTO = { 32 + @State contentDTO: ContentDTO = new ContentDTO();
33 // appStyle: '15', 33 // appStyle: '15',
34 // coverType: 1, 34 // coverType: 1,
35 // objectType: '9', 35 // objectType: '9',
@@ -67,7 +67,7 @@ struct LiveMorePage { @@ -67,7 +67,7 @@ struct LiveMorePage {
67 // voiceInfo: { 67 // voiceInfo: {
68 // voiceDuration: 12 68 // voiceDuration: 12
69 // } 69 // }
70 - } as ContentDTO; 70 + // } as ContentDTO;
71 71
72 aboutToAppear(): void { 72 aboutToAppear(): void {
73 PageViewModel.getLiveMoreUrl(this.type, this.currentPage, this.pageSize).then((liveReviewDTO) => { 73 PageViewModel.getLiveMoreUrl(this.type, this.currentPage, this.pageSize).then((liveReviewDTO) => {
@@ -96,7 +96,7 @@ export struct PageComponent { @@ -96,7 +96,7 @@ export struct PageComponent {
96 // comp自己处理分页,这里设置EdgeEffect.None 96 // comp自己处理分页,这里设置EdgeEffect.None
97 .edgeEffect(this.pageModel.contentNeedScroll ? EdgeEffect.None : EdgeEffect.Spring) 97 .edgeEffect(this.pageModel.contentNeedScroll ? EdgeEffect.None : EdgeEffect.Spring)
98 .scrollBar(BarState.Off) 98 .scrollBar(BarState.Off)
99 - .cachedCount(8) 99 + .cachedCount(5)
100 .height(CommonConstants.FULL_PARENT) 100 .height(CommonConstants.FULL_PARENT)
101 .onScrollIndex((start: number, end: number) => { 101 .onScrollIndex((start: number, end: number) => {
102 // Listen to the first index of the current list. 102 // Listen to the first index of the current list.
@@ -33,7 +33,7 @@ struct ReserveMorePage { @@ -33,7 +33,7 @@ struct ReserveMorePage {
33 title: string = '预约列表' 33 title: string = '预约列表'
34 //是否预约过直播 34 //是否预约过直播
35 @State isAppointmentLive: boolean = false 35 @State isAppointmentLive: boolean = false
36 - @State contentDTO: ContentDTO = { 36 + @State contentDTO: ContentDTO = new ContentDTO()
37 // appStyle: '15', 37 // appStyle: '15',
38 // coverType: 1, 38 // coverType: 1,
39 // objectType: '9', 39 // objectType: '9',
@@ -71,7 +71,7 @@ struct ReserveMorePage { @@ -71,7 +71,7 @@ struct ReserveMorePage {
71 // voiceInfo: { 71 // voiceInfo: {
72 // voiceDuration: 12 72 // voiceDuration: 12
73 // } 73 // }
74 - } as ContentDTO; 74 + // } as ContentDTO;
75 75
76 async aboutToAppear(): Promise<void> { 76 async aboutToAppear(): Promise<void> {
77 // PageViewModel.get 77 // PageViewModel.get
@@ -66,6 +66,8 @@ export struct TopNavigationComponent { @@ -66,6 +66,8 @@ export struct TopNavigationComponent {
66 private tabsWidth: number = 0 66 private tabsWidth: number = 0
67 //定时器延时处理切换至版面、播报tab时 返回上一个tab 67 //定时器延时处理切换至版面、播报tab时 返回上一个tab
68 @State tabTimmer: number = 0 68 @State tabTimmer: number = 0
  69 + // 标识,是否为点击触发的tab切换,临时变量
  70 + private changeByClick: boolean = false
69 71
70 //处理新闻tab顶导频道数据 72 //处理新闻tab顶导频道数据
71 topNavListHandle() { 73 topNavListHandle() {
@@ -170,13 +172,20 @@ export struct TopNavigationComponent { @@ -170,13 +172,20 @@ export struct TopNavigationComponent {
170 } 172 }
171 173
172 isBroadcast(item: TopNavDTO) { 174 isBroadcast(item: TopNavDTO) {
  175 + // TODO 用id channelId = '2066'
173 return item.name === '播报' 176 return item.name === '播报'
174 } 177 }
175 178
176 isLayout(item: TopNavDTO) { 179 isLayout(item: TopNavDTO) {
  180 + // TODO 用id channelId = '2006'
177 return item.name === '版面' 181 return item.name === '版面'
178 } 182 }
179 183
  184 + isSpecialChannel(item: TopNavDTO) {
  185 + // 版面、播报,可以用这个判断
  186 + return item.channelType === 3
  187 + }
  188 +
180 build() { 189 build() {
181 Column() { 190 Column() {
182 // 顶部搜索、日报logo、早晚报 191 // 顶部搜索、日报logo、早晚报
@@ -287,7 +296,15 @@ export struct TopNavigationComponent { @@ -287,7 +296,15 @@ export struct TopNavigationComponent {
287 if (this.isLayout(this._currentNavIndex === 0 ? this.myChannelList[index] : this.topNavList[index])) { 296 if (this.isLayout(this._currentNavIndex === 0 ? this.myChannelList[index] : this.topNavList[index])) {
288 ProcessUtils.gotoENewsPaper() 297 ProcessUtils.gotoENewsPaper()
289 this.tabTimmer = setTimeout(() => { 298 this.tabTimmer = setTimeout(() => {
290 - this.tabsController.changeIndex(this.currentTopNavSelectedIndex) 299 + if (!this.changeByClick) {
  300 + // 识别左滑右滑,跳过版面,到下一个
  301 + let nextIndex = this.currentTopNavSelectedIndex > index ? index - 1 : index + 1
  302 + this.tabsController.changeIndex(nextIndex)
  303 + } else {
  304 + this.tabsController.changeIndex(this.currentTopNavSelectedIndex)
  305 + // 重置标识
  306 + this.changeByClick = false
  307 + }
291 }, 100) 308 }, 100)
292 } 309 }
293 }) 310 })
@@ -400,7 +417,16 @@ export struct TopNavigationComponent { @@ -400,7 +417,16 @@ export struct TopNavigationComponent {
400 }) 417 })
401 .id(`col_tabBar${index}`) 418 .id(`col_tabBar${index}`)
402 .margin({ right: this.myChannelList.length === index + 1 ? 36 : 0 }) 419 .margin({ right: this.myChannelList.length === index + 1 ? 36 : 0 })
403 - 420 + .onClick(() => {
  421 + Logger.debug(TAG, `onClick, index: ${index}`);
  422 + if (this.currentTopNavSelectedIndex === index) {
  423 + // 当前tab,单击事件
  424 + this.doAutoRefresh()
  425 + } else {
  426 + this.changeByClick = true
  427 + this.tabsController.changeIndex(index)
  428 + }
  429 + })
404 } 430 }
405 431
406 aboutToAppear() { 432 aboutToAppear() {
@@ -425,6 +451,11 @@ export struct TopNavigationComponent { @@ -425,6 +451,11 @@ export struct TopNavigationComponent {
425 this.autoRefresh2Page++ 451 this.autoRefresh2Page++
426 } 452 }
427 453
  454 + private doAutoRefresh() {
  455 + // 通知page刷新
  456 + this.autoRefresh2Page++
  457 + }
  458 +
428 /** 459 /**
429 * 频道id变化,即指定频道跳转场景 460 * 频道id变化,即指定频道跳转场景
430 */ 461 */
@@ -214,7 +214,7 @@ export struct PeopleShipHomeArticleListComponent { @@ -214,7 +214,7 @@ export struct PeopleShipHomeArticleListComponent {
214 this.arr = [] 214 this.arr = []
215 } 215 }
216 for (const element of listData.list) { 216 for (const element of listData.list) {
217 - let contentDTO = {} as ContentDTO 217 + let contentDTO = new ContentDTO()
218 contentDTO.appStyle = this.changeCommon(element.appStyle) 218 contentDTO.appStyle = this.changeCommon(element.appStyle)
219 contentDTO.newsTitle = element.title; 219 contentDTO.newsTitle = element.title;
220 contentDTO.newsSummary = element.description; 220 contentDTO.newsSummary = element.description;
@@ -11,14 +11,17 @@ export default struct CustomLayout { @@ -11,14 +11,17 @@ export default struct CustomLayout {
11 static readonly REFRESH_HEIGHT: number = 90; 11 static readonly REFRESH_HEIGHT: number = 90;
12 @ObjectLink @Watch('onOffsetChange') refreshBean: RefreshLayoutBean; 12 @ObjectLink @Watch('onOffsetChange') refreshBean: RefreshLayoutBean;
13 private mainRenderingSettings: RenderingContextSettings = new RenderingContextSettings(true) 13 private mainRenderingSettings: RenderingContextSettings = new RenderingContextSettings(true)
14 - private mainCanvasRenderingContext: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.mainRenderingSettings) 14 + private mainCanvasRenderingContext: CanvasRenderingContext2D =
  15 + new CanvasRenderingContext2D(this.mainRenderingSettings)
15 private mainRenderingSettings2: RenderingContextSettings = new RenderingContextSettings(true) 16 private mainRenderingSettings2: RenderingContextSettings = new RenderingContextSettings(true)
16 - private mainCanvasRenderingContext2: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.mainRenderingSettings2) 17 + private mainCanvasRenderingContext2: CanvasRenderingContext2D =
  18 + new CanvasRenderingContext2D(this.mainRenderingSettings2)
17 private animateItem: AnimationItem | null = null; 19 private animateItem: AnimationItem | null = null;
18 private animateItem2: AnimationItem | null = null; 20 private animateItem2: AnimationItem | null = null;
19 private animateName: string = "refresh"; 21 private animateName: string = "refresh";
20 private animateName2: string = "refreshing"; 22 private animateName2: string = "refreshing";
21 @State private layoutHeight: number = 0; 23 @State private layoutHeight: number = 0;
  24 + @State private textVisible: boolean = false
22 25
23 build() { 26 build() {
24 Stack({ alignContent: Alignment.Center }) { 27 Stack({ alignContent: Alignment.Center }) {
@@ -58,8 +61,13 @@ export default struct CustomLayout { @@ -58,8 +61,13 @@ export default struct CustomLayout {
58 .fontColor('#676767') 61 .fontColor('#676767')
59 .backgroundColor('#f6f6f6') 62 .backgroundColor('#f6f6f6')
60 .borderRadius(20) 63 .borderRadius(20)
61 - .padding({ left: 19, right: 19, top: 10, bottom: 10 })  
62 - .visibility(this.refreshBean.loadStatus != LoadStatus.LOADED ? Visibility.Hidden : Visibility.Visible) 64 + .padding({
  65 + left: 19,
  66 + right: 19,
  67 + top: 10,
  68 + bottom: 10
  69 + })
  70 + .visibility(this.textVisible ? Visibility.Visible : Visibility.Hidden)
63 71
64 } 72 }
65 .clip(true) 73 .clip(true)
@@ -130,15 +138,32 @@ export default struct CustomLayout { @@ -130,15 +138,32 @@ export default struct CustomLayout {
130 let maxH = CustomLayout.REFRESH_HEIGHT 138 let maxH = CustomLayout.REFRESH_HEIGHT
131 let tmpHeight = this.refreshBean.offset > maxH ? maxH : this.refreshBean.offset 139 let tmpHeight = this.refreshBean.offset > maxH ? maxH : this.refreshBean.offset
132 if (this.refreshBean.loadStatus === LoadStatus.LOADED) { 140 if (this.refreshBean.loadStatus === LoadStatus.LOADED) {
  141 + this.textVisible = true
133 if (tmpHeight <= 0) { 142 if (tmpHeight <= 0) {
134 setTimeout(() => { 143 setTimeout(() => {
135 // 延时设置0,让“已更新到最新”展示 144 // 延时设置0,让“已更新到最新”展示
136 - this.layoutHeight = 0  
137 - }, 1500) 145 + this.textVisible = false
  146 + this.setHeight0WithAnimation()
  147 + }, 800)
138 } 148 }
139 } else { 149 } else {
140 // 直接设置高度 150 // 直接设置高度
141 this.layoutHeight = tmpHeight 151 this.layoutHeight = tmpHeight
142 } 152 }
143 } 153 }
  154 +
  155 + /**
  156 + * 下拉刷新UI,高度慢慢变为0
  157 + */
  158 + setHeight0WithAnimation() {
  159 + // this.layoutHeight = 0
  160 + animateTo({
  161 + duration: 500, // 动画时长
  162 + curve: Curve.Linear, // 动画曲线
  163 + iterations: 1, // 播放次数
  164 + playMode: PlayMode.Normal, // 动画模式
  165 + }, () => {
  166 + this.layoutHeight = 0
  167 + })
  168 + }
144 } 169 }
@@ -6,7 +6,7 @@ import { ProcessUtils } from 'wdRouter/Index'; @@ -6,7 +6,7 @@ import { ProcessUtils } from 'wdRouter/Index';
6 6
7 @Component 7 @Component
8 export struct ActivityItemComponent { 8 export struct ActivityItemComponent {
9 - @State contentDTO: ContentDTO = {} as ContentDTO; 9 + @State contentDTO: ContentDTO = new ContentDTO();
10 10
11 build() { 11 build() {
12 Row() { 12 Row() {
@@ -10,7 +10,7 @@ import { WDRouterPage, WDRouterRule } from 'wdRouter/Index' @@ -10,7 +10,7 @@ import { WDRouterPage, WDRouterRule } from 'wdRouter/Index'
10 import SearcherAboutDataModel from '../../model/SearcherAboutDataModel' 10 import SearcherAboutDataModel from '../../model/SearcherAboutDataModel'
11 import { CreatorDetailRequestItem } from '../../viewmodel/CreatorDetailRequestItem' 11 import { CreatorDetailRequestItem } from '../../viewmodel/CreatorDetailRequestItem'
12 import { SearchResultContentData } from '../../viewmodel/SearchResultContentData' 12 import { SearchResultContentData } from '../../viewmodel/SearchResultContentData'
13 -import { SearchRmhDescription } from '../../viewmodel/SearchResultContentItem' 13 +import { SearchResultContentItem, SearchRmhDescription } from '../../viewmodel/SearchResultContentItem'
14 import { CardParser } from '../CardParser' 14 import { CardParser } from '../CardParser'
15 import { ListHasNoMoreDataUI } from '../reusable/ListHasNoMoreDataUI' 15 import { ListHasNoMoreDataUI } from '../reusable/ListHasNoMoreDataUI'
16 import { ActivityItemComponent } from './ActivityItemComponent' 16 import { ActivityItemComponent } from './ActivityItemComponent'
@@ -132,80 +132,7 @@ export struct SearchResultContentComponent{ @@ -132,80 +132,7 @@ export struct SearchResultContentComponent{
132 }) 132 })
133 } 133 }
134 134
135 - let contentDTO:ContentDTO = {  
136 - appStyle: value.data.appStyle + "",  
137 - cityCode: value.data.cityCode,  
138 - coverSize: "",  
139 - coverType: value.data.type == "5"?1:-1,  
140 - coverUrl: this.searchType=="activity"?value.data.zhChannelPageImg:value.data.appStyleImages.split("&&")[0],  
141 - description: value.data.description,  
142 - districtCode: value.data.districtCode,  
143 - endTime: value.data.endTime,  
144 - hImageUrl: "",  
145 - heatValue: "",  
146 - innerUrl: "",  
147 - landscape: Number.parseInt(value.data.landscape),  
148 - // lengthTime:null,  
149 - linkUrl: value.data.linkUrl,  
150 - openLikes: Number.parseInt(value.data.openLikes),  
151 - openUrl: "",  
152 - pageId: value.data.pageId,  
153 - programAuth: "",  
154 - programId: "",  
155 - programName: "",  
156 - programSource: -1,  
157 - programType: Number.parseInt(value.data.status),  
158 - provinceCode: value.data.provinceCode,  
159 - showTitleEd: value.data.showTitleEd,  
160 - showTitleIng: value.data.showTitleIng,  
161 - showTitleNo: value.data.showTitleNo,  
162 - startTime: value.data.startTime,  
163 - subType: "",  
164 - subtitle: "",  
165 - title: value.data.title,  
166 - vImageUrl: "",  
167 - screenType: "",  
168 - source: StringUtils.isEmpty(value.data.creatorName) ? value.data.sourceName : value.data.creatorName,  
169 - objectId: value.data.id,  
170 - objectType: value.data.type,  
171 - channelId: value.data.channelId,  
172 - relId: value.data.relId,  
173 - relType: value.data.relType,  
174 - newsTitle: value.data.titleLiteral,  
175 - publishTime: StringUtils.isNotEmpty(value.data.firstPublishTime)?value.data.firstPublishTime:value.data.publishTime,  
176 - visitorComment: -1,  
177 - fullColumnImgUrls: photos,  
178 - newsSummary: "",  
179 - hasMore: -1,  
180 - slideShows: [],  
181 - voiceInfo: {} as VoiceInfoDTO,  
182 - tagWord: -1,  
183 - isSelect: true,  
184 - rmhInfo: {} as RmhInfoDTO,  
185 - photoNum: -1,  
186 - liveInfo: {} as LiveInfoDTO,  
187 - videoInfo: {  
188 - videoDuration: Number.parseInt(value.data.duration)  
189 - } as VideoInfoDTO,  
190 - interactData: {  
191 - collectNum:value.data.collectNum ,  
192 - commentNum:value.data.commentNum,  
193 - contentId:value.data.id,  
194 - contentType :Number.parseInt(value.data.type),  
195 - likeNum: value.data.likeNum,  
196 - readNum:Number.parseInt(value.data.readNum),  
197 - shareNum:Number.parseInt(value.data.shareNum)  
198 - } as InteractDataDTO,  
199 - corner: '',  
200 - rmhPlatform: 0,  
201 - newTags: '',  
202 - isSearch: true,  
203 - publishTimestamp:"",  
204 - bottomNavId:'',  
205 - openType:'',  
206 - extra:'',  
207 - titleShow:value.data.type == "5"?1:0,  
208 - } 135 + let contentDTO = this.dataTransform(value,photos);
209 if(contentDTO.appStyle != "13"){ 136 if(contentDTO.appStyle != "13"){
210 this.data.push(contentDTO) 137 this.data.push(contentDTO)
211 } 138 }
@@ -339,4 +266,84 @@ export struct SearchResultContentComponent{ @@ -339,4 +266,84 @@ export struct SearchResultContentComponent{
339 .layoutWeight(1) 266 .layoutWeight(1)
340 .width('100%') 267 .width('100%')
341 } 268 }
  269 +
  270 + private dataTransform(value: SearchResultContentItem, photos: FullColumnImgUrlDTO[]): ContentDTO {
  271 + let contentDTO = new ContentDTO();
  272 + contentDTO.appStyle = value.data.appStyle + ""
  273 + contentDTO.cityCode = value.data.cityCode
  274 + contentDTO.coverSize = ""
  275 + contentDTO.coverType = value.data.type == "5" ? 1 : -1
  276 + contentDTO.coverUrl =
  277 + this.searchType == "activity" ? value.data.zhChannelPageImg : value.data.appStyleImages.split("&&")[0];
  278 + contentDTO.description = value.data.description
  279 + contentDTO.districtCode = value.data.districtCode
  280 + contentDTO.endTime = value.data.endTime
  281 + contentDTO.hImageUrl = ""
  282 + contentDTO.heatValue = ""
  283 + contentDTO.innerUrl = ""
  284 + contentDTO.landscape = Number.parseInt(value.data.landscape)
  285 + contentDTO.linkUrl = value.data.linkUrl
  286 + contentDTO.openLikes = Number.parseInt(value.data.openLikes)
  287 + contentDTO.openUrl = ""
  288 + contentDTO.pageId = value.data.pageId
  289 + contentDTO.programAuth = ""
  290 + contentDTO.programId = ""
  291 + contentDTO.programName = ""
  292 + contentDTO.programSource = -1
  293 + contentDTO.programType = Number.parseInt(value.data.status)
  294 + contentDTO.provinceCode = value.data.provinceCode
  295 + contentDTO.showTitleEd = value.data.showTitleEd
  296 + contentDTO.showTitleIng = value.data.showTitleIng
  297 + contentDTO.showTitleNo = value.data.showTitleNo
  298 + contentDTO.startTime = value.data.startTime
  299 + contentDTO.subType = ""
  300 + contentDTO.subtitle = ""
  301 + contentDTO.title = value.data.title
  302 + contentDTO.vImageUrl = ""
  303 + contentDTO.screenType = ""
  304 + contentDTO.source = StringUtils.isEmpty(value.data.creatorName) ? value.data.sourceName : value.data.creatorName
  305 + contentDTO.objectId = value.data.id
  306 + contentDTO.objectType = value.data.type
  307 + contentDTO.channelId = value.data.channelId
  308 + contentDTO.relId = value.data.relId
  309 + contentDTO.relType = value.data.relType
  310 + contentDTO.newsTitle = value.data.titleLiteral;
  311 + contentDTO.publishTime =
  312 + StringUtils.isNotEmpty(value.data.firstPublishTime) ? value.data.firstPublishTime : value.data.publishTime
  313 + contentDTO.visitorComment = -1
  314 + contentDTO.fullColumnImgUrls = photos
  315 + contentDTO.newsSummary = ""
  316 + contentDTO.hasMore = -1
  317 + contentDTO.slideShows = []
  318 + contentDTO.voiceInfo = {} as VoiceInfoDTO
  319 + contentDTO.tagWord = -1
  320 + contentDTO.isSelect = true
  321 + contentDTO.rmhInfo = {} as RmhInfoDTO
  322 + contentDTO.photoNum = -1
  323 + contentDTO.liveInfo = {} as LiveInfoDTO;
  324 + contentDTO.videoInfo = {
  325 + videoDuration: Number.parseInt(value.data.duration)
  326 + } as VideoInfoDTO;
  327 +
  328 + let interact = new InteractDataDTO()
  329 + interact.collectNum = value.data.collectNum
  330 + interact.commentNum = value.data.commentNum
  331 + interact.contentId = value.data.id
  332 + interact.contentType = Number.parseInt(value.data.type)
  333 + interact.likeNum = value.data.likeNum
  334 + interact.readNum = Number.parseInt(value.data.readNum)
  335 + interact.shareNum = Number.parseInt(value.data.shareNum)
  336 + contentDTO.interactData = interact
  337 + contentDTO.corner = ''
  338 + contentDTO.rmhPlatform = 0
  339 + contentDTO.newTags = ''
  340 + contentDTO.isSearch = true
  341 + contentDTO.publishTimestamp = ""
  342 + contentDTO.bottomNavId = '';
  343 + contentDTO.openType = '';
  344 + contentDTO.extra = '';
  345 + contentDTO.titleShow = value.data.type == "5" ? 1 : 0;
  346 +
  347 + return contentDTO;
  348 + }
342 } 349 }
@@ -15,7 +15,7 @@ const TAG: string = 'BigPicCardComponent'; @@ -15,7 +15,7 @@ const TAG: string = 'BigPicCardComponent';
15 @Component 15 @Component
16 export struct BigPicCardComponent { 16 export struct BigPicCardComponent {
17 @State compDTO: CompDTO = {} as CompDTO 17 @State compDTO: CompDTO = {} as CompDTO
18 - contentDTO: ContentDTO = {} as ContentDTO; 18 + contentDTO: ContentDTO = new ContentDTO();
19 19
20 aboutToAppear() { 20 aboutToAppear() {
21 // 取第一个数据 21 // 取第一个数据
@@ -4,7 +4,7 @@ import { ContentDTO } from 'wdBean' @@ -4,7 +4,7 @@ import { ContentDTO } from 'wdBean'
4 import { CardMediaInfo } from '../cardCommon/CardMediaInfo' 4 import { CardMediaInfo } from '../cardCommon/CardMediaInfo'
5 @Component 5 @Component
6 export struct LiveHorizontalCardForOneComponent { 6 export struct LiveHorizontalCardForOneComponent {
7 - @State contentDTO: ContentDTO = {} as ContentDTO 7 + @State contentDTO: ContentDTO = new ContentDTO()
8 8
9 build() { 9 build() {
10 Column() { 10 Column() {
@@ -23,6 +23,7 @@ import { AppointmentOperationRequestItem } from '../viewmodel/AppointmentOperati @@ -23,6 +23,7 @@ import { AppointmentOperationRequestItem } from '../viewmodel/AppointmentOperati
23 import { CommentLikeOperationRequestItem } from '../viewmodel/CommentLikeOperationRequestItem'; 23 import { CommentLikeOperationRequestItem } from '../viewmodel/CommentLikeOperationRequestItem';
24 import { FollowOperationRequestItem } from '../viewmodel/FollowOperationRequestItem'; 24 import { FollowOperationRequestItem } from '../viewmodel/FollowOperationRequestItem';
25 import { SpConstants } from 'wdConstant/Index'; 25 import { SpConstants } from 'wdConstant/Index';
  26 +import { MessageItem } from '../viewmodel/MessageItem';
26 27
27 const TAG = "MinePageDatasModel" 28 const TAG = "MinePageDatasModel"
28 29
@@ -34,6 +35,7 @@ class MinePageDatasModel{ @@ -34,6 +35,7 @@ class MinePageDatasModel{
34 personalData:MinePagePersonalFunctionsItem[] = [] 35 personalData:MinePagePersonalFunctionsItem[] = []
35 creatorData:MinePageCreatorFunctionsItem[] = [] 36 creatorData:MinePageCreatorFunctionsItem[] = []
36 moreData:MinePageMoreFunctionModel[] = [] 37 moreData:MinePageMoreFunctionModel[] = []
  38 + messageData:MessageItem[] = []
37 39
38 private constructor() { } 40 private constructor() { }
39 41
@@ -63,7 +65,7 @@ class MinePageDatasModel{ @@ -63,7 +65,7 @@ class MinePageDatasModel{
63 this.personalData.push(new MinePagePersonalFunctionsItem("关注",$r('app.media.mine_follow_icon'))) 65 this.personalData.push(new MinePagePersonalFunctionsItem("关注",$r('app.media.mine_follow_icon')))
64 this.personalData.push(new MinePagePersonalFunctionsItem("收藏",$r('app.media.mine_collect_icon'))) 66 this.personalData.push(new MinePagePersonalFunctionsItem("收藏",$r('app.media.mine_collect_icon')))
65 // this.personalData.push(new MinePagePersonalFunctionsItem("历史",$r('app.media.mine_history_icon'))) 67 // this.personalData.push(new MinePagePersonalFunctionsItem("历史",$r('app.media.mine_history_icon')))
66 - // this.personalData.push(new MinePagePersonalFunctionsItem("消息",$r('app.media.mine_msg_icon'))) 68 + this.personalData.push(new MinePagePersonalFunctionsItem("消息",$r('app.media.mine_msg_icon')))
67 // this.personalData.push(new MinePagePersonalFunctionsItem("留言板",$r('app.media.mine_msgboard_icon'))) 69 // this.personalData.push(new MinePagePersonalFunctionsItem("留言板",$r('app.media.mine_msgboard_icon')))
68 // this.personalData.push(new MinePagePersonalFunctionsItem("预约",$r('app.media.mine_order_icon'))) 70 // this.personalData.push(new MinePagePersonalFunctionsItem("预约",$r('app.media.mine_order_icon')))
69 return this.personalData 71 return this.personalData
@@ -102,6 +104,21 @@ class MinePageDatasModel{ @@ -102,6 +104,21 @@ class MinePageDatasModel{
102 } 104 }
103 105
104 /** 106 /**
  107 + * 消息 5 个数据
  108 + * 包含名字和图标
  109 + */
  110 + getMessageData():MessageItem[]{
  111 + if(this.messageData.length === 4){
  112 + return this.messageData
  113 + }
  114 + this.messageData.push(new MessageItem($r('app.media.msg_interact'),"互动消息","",""))
  115 + this.messageData.push(new MessageItem($r('app.media.msg_reserve'),"预约消息","",""))
  116 + this.messageData.push(new MessageItem($r('app.media.msg_history'),"历史推送","",""))
  117 + this.messageData.push(new MessageItem($r('app.media.msg_system'),"系统消息","",""))
  118 + return this.messageData
  119 + }
  120 +
  121 + /**
105 * 预约 122 * 预约
106 * @param pageSize 123 * @param pageSize
107 * @param pageNum 124 * @param pageNum
1 import router from '@ohos.router' 1 import router from '@ohos.router'
2 import { StringUtils } from 'wdKit'; 2 import { StringUtils } from 'wdKit';
3 import { WDRouterPage, WDRouterRule } from 'wdRouter'; 3 import { WDRouterPage, WDRouterRule } from 'wdRouter';
  4 +import { editModelParams } from '../model/EditInfoModel';
4 import { HomePageBottomCommentComponent } from '../components/mine/home/HomePageBottomCommentComponent'; 5 import { HomePageBottomCommentComponent } from '../components/mine/home/HomePageBottomCommentComponent';
5 import { HomePageBottomFollowComponent } from '../components/mine/home/HomePageBottomFollowComponent'; 6 import { HomePageBottomFollowComponent } from '../components/mine/home/HomePageBottomFollowComponent';
6 import MinePageDatasModel from '../model/MinePageDatasModel'; 7 import MinePageDatasModel from '../model/MinePageDatasModel';
@@ -77,7 +78,12 @@ struct MineHomePage { @@ -77,7 +78,12 @@ struct MineHomePage {
77 .fontSize('38lpx') 78 .fontSize('38lpx')
78 .lineHeight('50lpx') 79 .lineHeight('50lpx')
79 .fontWeight('500lpx') 80 .fontWeight('500lpx')
80 - 81 + .onClick(()=>{
  82 + let params: editModelParams = {
  83 + editContent: this.userName
  84 + }
  85 + WDRouterRule.jumpWithPage(WDRouterPage.editUserNikeNamePage,params)
  86 + })
81 if(this.levelId>0){ 87 if(this.levelId>0){
82 Text(`等级${this.levelId}`) 88 Text(`等级${this.levelId}`)
83 .textAlign(TextAlign.Center) 89 .textAlign(TextAlign.Center)
@@ -148,7 +154,7 @@ struct MineHomePage { @@ -148,7 +154,7 @@ struct MineHomePage {
148 //用户简介区域 154 //用户简介区域
149 Column() { 155 Column() {
150 Row() { 156 Row() {
151 - Text(this.desc) 157 + Text(this.isHasIntroduction?'简介:'+this.desc:this.desc)
152 .fontSize('27lpx') 158 .fontSize('27lpx')
153 .maxLines(3) 159 .maxLines(3)
154 .textOverflow({ overflow: TextOverflow.Ellipsis }) 160 .textOverflow({ overflow: TextOverflow.Ellipsis })
@@ -156,7 +162,12 @@ struct MineHomePage { @@ -156,7 +162,12 @@ struct MineHomePage {
156 .fontWeight('400lpx') 162 .fontWeight('400lpx')
157 .fontColor(this.isHasIntroduction?$r('app.color.color_222222'):$r('app.color.color_999999')) 163 .fontColor(this.isHasIntroduction?$r('app.color.color_222222'):$r('app.color.color_999999'))
158 .textAlign(TextAlign.Start) 164 .textAlign(TextAlign.Start)
159 - 165 + .onClick(()=>{
  166 + let params: editModelParams = {
  167 + editContent: this.isHasIntroduction?this.desc:''
  168 + }
  169 + WDRouterRule.jumpWithPage(WDRouterPage.editUserIntroductionPage,params)
  170 + })
160 if(!this.isHasIntroduction){ 171 if(!this.isHasIntroduction){
161 Image($r('app.media.user_info_edit_icon')) 172 Image($r('app.media.user_info_edit_icon'))
162 .width('27lpx') 173 .width('27lpx')
@@ -164,6 +175,8 @@ struct MineHomePage { @@ -164,6 +175,8 @@ struct MineHomePage {
164 .objectFit(ImageFit.Auto) 175 .objectFit(ImageFit.Auto)
165 } 176 }
166 } 177 }
  178 +
  179 +
167 Text(`来到人民日报${this.registerTimeForDay}天`) 180 Text(`来到人民日报${this.registerTimeForDay}天`)
168 .fontSize('23lpx') 181 .fontSize('23lpx')
169 .lineHeight('25lpx') 182 .lineHeight('25lpx')
  1 +import { MessageListUI } from '../components/mine/message/MessageListUI';
  2 +
  3 +@Entry
  4 +@Component
  5 +struct MineMessagePage {
  6 +
  7 + build() {
  8 + Column(){
  9 + MessageListUI()
  10 + }
  11 + }
  12 +}
@@ -24,7 +24,7 @@ export class RefreshConstants { @@ -24,7 +24,7 @@ export class RefreshConstants {
24 */ 24 */
25 static readonly RefreshConstant_DELAY_PULL_DOWN_REFRESH: number = 50; 25 static readonly RefreshConstant_DELAY_PULL_DOWN_REFRESH: number = 50;
26 static readonly RefreshConstant_CLOSE_PULL_DOWN_REFRESH_TIME: number = 150; 26 static readonly RefreshConstant_CLOSE_PULL_DOWN_REFRESH_TIME: number = 150;
27 - static readonly RefreshConstant_DELAY_SHRINK_ANIMATION_TIME: number = 500; 27 + static readonly RefreshConstant_DELAY_SHRINK_ANIMATION_TIME: number = 1500;
28 28
29 /** 29 /**
30 * The page size. 30 * The page size.
  1 +export class MessageItem{
  2 + imgSrc:Resource = $r("app.media.xxhdpi_pic_wb")
  3 + title:string = ""
  4 + desc:string = ""
  5 + time:string = ""
  6 +
  7 + constructor(imgSrc:Resource,title:string,desc:string,time:string){
  8 + this.imgSrc = imgSrc
  9 + this.title = title
  10 + this.desc = desc
  11 + this.time = time
  12 + }
  13 +
  14 +
  15 +}
@@ -236,7 +236,7 @@ export class PageHelper { @@ -236,7 +236,7 @@ export class PageHelper {
236 236
237 // 轮播组件广告数据转 业务信息 237 // 轮播组件广告数据转 业务信息
238 let changeContentDTO = (matInfo: CompAdvMatInfoBean) => { 238 let changeContentDTO = (matInfo: CompAdvMatInfoBean) => {
239 - let advContentBean: ContentDTO = {} as ContentDTO; 239 + let advContentBean: ContentDTO = new ContentDTO();
240 advContentBean.newsTitle = matInfo.advTitle 240 advContentBean.newsTitle = matInfo.advTitle
241 advContentBean.objectType = matInfo.advType == "0" ? matInfo.advType.toString() : "4" 241 advContentBean.objectType = matInfo.advType == "0" ? matInfo.advType.toString() : "4"
242 advContentBean.coverUrl = matInfo.matImageUrl[0] 242 advContentBean.coverUrl = matInfo.matImageUrl[0]
@@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
22 "components/page/ReserveMorePage", 22 "components/page/ReserveMorePage",
23 "pages/VideoPlayPage", 23 "pages/VideoPlayPage",
24 "components/page/ThemeListPage", 24 "components/page/ThemeListPage",
25 - "pages/ShowUserHeaderPage" 25 + "pages/ShowUserHeaderPage",
  26 + "pages/MineMessagePage"
26 ] 27 ]
27 } 28 }
@@ -96,7 +96,7 @@ body { @@ -96,7 +96,7 @@ body {
96 overflow-x: hidden; 96 overflow-x: hidden;
97 width: 100%; 97 width: 100%;
98 height: 100%; 98 height: 100%;
99 - background: #ffffff; 99 + background: transparent;
100 } 100 }
101 * { 101 * {
102 -webkit-overflow-scrolling: touch; 102 -webkit-overflow-scrolling: touch;
1 -{"version":3,"sources":["global.less"],"names":[],"mappings":"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","file":"global.css"}  
  1 +{"version":3,"sources":["global.less"],"names":[],"mappings":"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","file":"global.css"}
@@ -54,7 +54,7 @@ html, body { @@ -54,7 +54,7 @@ html, body {
54 overflow-x: hidden; 54 overflow-x: hidden;
55 width: 100%; 55 width: 100%;
56 height: 100%; 56 height: 100%;
57 - background: #ffffff; 57 + background: transparent;
58 } 58 }
59 59
60 * { 60 * {
1 -article,aside,body,button,dd,details,div,dl,dt,em,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,i,img,input,label,li,menu,nav,ol,p,section,select,table,td,textarea,th,tr,u,ul{border:0;box-sizing:border-box;font-size:100%;margin:0;outline:0;padding:0;vertical-align:baseline}li{list-style:none}h1,h2,h3,h4,h5,h6{font-size:100%}table{border-collapse:collapse;border-spacing:0;width:100%}a,area,button,input,select,textarea{background:none;border:none;color:inherit;font-family:inherit;font-size:inherit;outline:none}a,a:hover{text-decoration:none}textarea{overflow:auto;resize:none}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:none;cursor:pointer}body,html{background:#fff;height:100%;overflow-x:hidden;width:100%}*{-webkit-overflow-scrolling:touch}html{-webkit-tap-highlight-color:transparent}body{text-align:left}body #app{height:100%}body #app::-webkit-scrollbar,body #app::-webkit-scrollbar-thumb{display:none}body #app::-webkit-scrollbar-track{display:none}.fl{float:left}.fr{float:right}.clearfix{zoom:1}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both;font-size:0;height:0;visibility:hidden}.ant-skeleton{display:table;width:100%}.ant-skeleton+.ant-skeleton{margin-top:.64rem}.ant-skeleton.active{display:none}.ant-skeleton-content{display:table-cell;margin-bottom:.64rem;vertical-align:top;width:100%}.ant-skeleton-content .ant-skeleton-title{background:#f2f2f2;height:.53333rem;margin-top:.26667rem;width:100%}.ant-skeleton-content .ant-skeleton-title+.ant-skeleton-paragraph{margin-top:.64rem}.ant-skeleton-content .ant-skeleton-paragraph{padding:0}.ant-skeleton-content .ant-skeleton-paragraph>li{background:#f2f2f2;height:.32rem;list-style:none;width:23.3%}.ant-skeleton-content .ant-skeleton-paragraph>li+li{margin-top:.26667rem}.ant-skeleton-content .ant-skeleton-paragraph>li:last-child:not(:first-child):not(:nth-child(2)){width:61%}.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,.ant-skeleton.ant-skeleton-active .ant-skeleton-button,.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title,.ant-skeleton.ant-skeleton-active .ant-skeleton-image,.ant-skeleton.ant-skeleton-active .ant-skeleton-input{-webkit-animation:ant-skeleton-loading 1.4s ease infinite;animation:ant-skeleton-loading 1.4s ease infinite;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2));background:-webkit-linear-gradient(left,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%}@-webkit-keyframes ant-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes ant-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}@-webkit-keyframes spinner-anime{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spinner-anime{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.toast-loading{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;left:0;position:fixed;text-align:center;top:0;width:100%;z-index:9999999999}.toast-loading.active,.toast-loading.none{display:none}.toast-loading .loading-cont{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;background-clip:padding-box;background-color:rgba(58,58,58,.9);border-radius:7px;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-size:15px;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;line-height:20px;padding:15px}.toast-loading .loading-cont .svg{-webkit-animation:spinner-anime 1s linear infinite;animation:spinner-anime 1s linear infinite;background-image:url(../image/loading.svg);background-position:50%;background-repeat:no-repeat;background-size:100%;display:inline-block;height:32px;height:20px;margin:0;width:32px;width:20px}.toast-loading .loading-cont .svg-text{display:inline-block;position:relative;top:4px}.skeleton-loading{display:block;height:100%;overflow:hidden;padding:.26666667rem .48rem 0}.skeleton-loading.active{left:0;opacity:0;position:fixed;top:0;visibility:hidden;width:100%;z-index:-1}.skeleton-loading.none{display:none}.error-block{box-sizing:border-box;display:none;padding-top:3.76rem;text-align:center}.error-block.active{display:block}.error-block .error-block-image{text-align:center}.error-block .error-block-image img{height:2.98666667rem;width:4.26666667rem}.error-block .error-block-reload-btn,.error-block .error-block-retry-btn{border:.02666667rem solid #ededed;border-radius:.08rem;color:#666;font-size:.32rem;font-weight:700;height:.74666667rem;line-height:.74666667rem;margin:.42666667rem auto 0;text-align:center;width:2.13333333rem}.error-block .error-block-reload-btn{width:3.73333333rem}.error-block .error-block-description-title{color:#999;font-size:14px;margin:0 auto;text-align:center}.ellipsis1{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;word-wrap:break-word}#app.fixed,.gx-mobile.fixed{left:0;opacity:0;position:fixed;top:0;visibility:hidden;width:100%;z-index:-1}.gx-mobile.fixed{height:17.57333333rem}.refresh-content,.refresh-content .van-pull-refresh{height:100%}html{-webkit-transition:color .3s,background-color .3s;transition:color .3s,background-color .3s}body .van-image__error,body .van-image__loading{display:block}body .prism-fullscreen{z-index:999999!important}body .prism-player .dplayer-thumb,body .prism-player .prism-ErrorMessage,body .prism-player .prism-animation,body .prism-player .prism-big-play-btn,body .prism-player .prism-button,body .prism-player .prism-button-retry,body .prism-player .prism-cc-btn,body .prism-player .prism-controlbar,body .prism-player .prism-cover,body .prism-player .prism-detect-info,body .prism-player .prism-error-operation,body .prism-player .prism-info-display,body .prism-player .prism-loading,body .prism-player .prism-progress-cursor,body .prism-player .prism-progress-hover,body .prism-player .prism-progress-played,body .prism-player .prism-setting-audio,body .prism-player .prism-setting-btn,body .prism-player .prism-setting-cc,body .prism-player .prism-setting-quality,body .prism-player .prism-text-overlay,body .prism-player .prism-tooltip,body .prism-player .prism-volume{display:none!important}#__vconsole,#__vconsole .vc-switch{z-index:10000000}#__vconsole .vc-panel{height:500px!important;min-height:unset!important}#app{overflow-x:hidden;overflow-y:hidden}#app .van-loading{text-align:center}html[dark-mode=true] body{background-color:#1d1d1d}html[dark-mode=true] body .error-block .error-block-reload-btn,html[dark-mode=true] body .error-block .error-block-retry-btn{border:.02666667rem solid #333;color:#aaa}html[dark-mode=true] body .ant-skeleton-content .ant-skeleton-paragraph>li,html[dark-mode=true] body .ant-skeleton-content .ant-skeleton-title{background:#262626}html[dark-mode=true] body .ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,html[dark-mode=true] body .ant-skeleton.ant-skeleton-active .ant-skeleton-button,html[dark-mode=true] body .ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph>li,html[dark-mode=true] body .ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title,html[dark-mode=true] body .ant-skeleton.ant-skeleton-active .ant-skeleton-image,html[dark-mode=true] body .ant-skeleton.ant-skeleton-active .ant-skeleton-input{-webkit-animation:ant-skeleton-loading 1.4s ease infinite;animation:ant-skeleton-loading 1.4s ease infinite;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#262626),color-stop(37%,#333),color-stop(63%,#262626));background:-webkit-linear-gradient(left,#262626 25%,#333 37%,#262626 63%);background:linear-gradient(90deg,#262626 25%,#333 37%,#262626 63%);background-size:400% 100%}html[dark-mode=true] body .error-block .error-block-description-title{color:#666}html[dark-mode=true] body .gx-mobile .title{color:#ddd}html[dark-mode=true] body .gx-mobile .short-title{color:#aaa}html[dark-mode=true] body .gx-mobile .head-link-block{background:#1d1d1d;border:.02666667rem solid hsla(0,0%,100%,.05);box-shadow:0 .05333333rem .21333333rem 0 hsla(0,0%,100%,.05);color:#ddd}html[dark-mode=true] body .gx-mobile .down-title-box .down-title{color:#666}html[dark-mode=true] body .gx-mobile .new-intro-box{background:#262626;color:#aaa}html[dark-mode=true] body .gx-mobile .rmcard .cdescrip .cdescrip_text:first-child{color:#ddd}html[dark-mode=true] body .gx-mobile .rmcard .cdescrip .cdescrip_text{color:#555}html[dark-mode=true] body .gx-mobile .rmcard .clook{background:#262626;color:#ccc}html[dark-mode=true] body .gx-mobile .rmcard .rmcard-image.default{background:#1d1d1d}html[dark-mode=true] body .gx-mobile .rmcard .rmcard-image{border:.5px solid hsla(0,0%,100%,.1)}html[dark-mode=true] body .gx-mobile .time.pageView{color:#555}html[dark-mode=true] body .gx-mobile #newsContent{color:#ddd}html[dark-mode=true] body #newsContent .en-scroll-text,html[dark-mode=true] body #newsContent .en-scroll-text:after,html[dark-mode=true] body #newsContent .en-text-3 .en-text-3-title,html[dark-mode=true] body #newsContent .preview-audio-player,html[dark-mode=true] body #newsContent .scroll-text-left{background:#1d1d1d}html[dark-mode=true] body #newsContent section[data-title=\5DE6\56FE\53F3\6587]>div h3{color:#fff!important}html[dark-mode=true] body #newsContent section[data-title=\5DE6\56FE\53F3\6587]>div p{color:#ddd!important}html[dark-mode=true] body #newsContent section[data-title=\5DE6\6587\53F3\56FE]>div h3{color:#fff!important}html[dark-mode=true] body #newsContent section[data-title=\5DE6\6587\53F3\56FE]>div p{color:#ddd!important}html[dark-mode=true] body #newsContent section[data-title=\4F5C\8005\5934\50CF\6846]>div{background:#262626!important}html[dark-mode=true] body #newsContent section[data-title=\4F5C\8005\5934\50CF\6846]>div>div div:first-child{color:#ddd!important}html[dark-mode=true] body #newsContent section[data-title=\4F5C\8005\5934\50CF\6846]>div>div div:last-child{color:#aaa!important}html[dark-mode=true] body #newsContent section[data-title=\5206\5272\7EBF-2]>div div:last-child,html[dark-mode=true] body #newsContent section[data-title=\5206\5272\7EBF-3]>div>div{background:#1d1d1d!important}html[dark-mode=true] body #newsContent .en-scroll-text,html[dark-mode=true] body #newsContent .preview-audio-player-cover{border:.02666667rem solid hsla(0,0%,100%,.05);box-shadow:0 .05333333rem .21333333rem 0 hsla(0,0%,100%,.05)}html[dark-mode=true] body #newsContent .preview-audio-player-cover .right .audio-title{color:#ddd}html[dark-mode=true] body #newsContent .preview-audio-player-cover .right .audio-extra .audio-time{color:#666}html[dark-mode=true] body .gx-mobile #newsContent .preview-image-block.error,html[dark-mode=true] body .gx-mobile #newsContent .preview-image-block.loading{background:#333}html[dark-mode=true] body .gx-mobile #newsContent .preview-video .player-layer-state .player-state-icon{background:hsla(0,0%,100%,.5)}html[dark-mode=true] body #newsContent .preview-link-card-mobile{background:#262626;border:.02666667rem solid hsla(0,0%,100%,.05)}html[dark-mode=true] body #newsContent .preview-audio-player{border:.02666667rem solid hsla(0,0%,100%,.05);box-shadow:0 .05333333rem .21333333rem 0 hsla(0,0%,100%,.05)}html[dark-mode=true] body #newsContent .preview-audio-player .right .audio-time{color:#555}html[dark-mode=true] body #newsContent .preview-audio-player .right .audio-progress-block{background:#262626}html[dark-mode=true] body #newsContent .preview-audio-player .right .audio-title{color:#ddd}html[dark-mode=true] body #newsContent .en-echart .en-echart-yname{color:#aaa}html[dark-mode=true] body #newsContent .bjh-image-caption,html[dark-mode=true] body #newsContent .rmrb-caption-img,html[dark-mode=true] body #newsContent .rmrb-caption-img2{color:#555!important}html[dark-mode=true] body .vote{background:#262626}html[dark-mode=true] body #newsContent .en-echart .en-echart-title,html[dark-mode=true] body #newsContent .en-scroll-text .swiper-txet,html[dark-mode=true] body #newsContent .en-table .en-table-title,html[dark-mode=true] body #newsContent .en-text-2-title,html[dark-mode=true] body #newsContent .en-text-3 .en-text-3-content,html[dark-mode=true] body .active-wrapper .active-title,html[dark-mode=true] body .timeline .timeLine_list_item_content,html[dark-mode=true] body .timeline .timeLine_list_item_title,html[dark-mode=true] body .timeline .timeline_title,html[dark-mode=true] body .vote .vote-title{color:#ddd}html[dark-mode=true] body .vote .aft .bf .lt .lt-s2,html[dark-mode=true] body .vote .aft .bf .rt .lt-s2,html[dark-mode=true] body .vote .bts3 .zsbox .bf .sbf,html[dark-mode=true] body .vote .bts3 .zsbox .bf .sumBox .stx{color:#aaa}html[dark-mode=true] body .vote .bts3 .zsbox .jd{background:#aaa}html[dark-mode=true] body .vote .bts3 .zsbox .jd .s1:before{background:-webkit-linear-gradient(right,#666 1%,#666 98%);background:linear-gradient(270deg,#666 1%,#666 98%)}html[dark-mode=true] body .vote .bts3 .zsbox .jd .s1.active:before{background:-webkit-linear-gradient(right,#486fff,#5a88ff);background:linear-gradient(270deg,#486fff,#5a88ff)}html[dark-mode=true] body .vote-line{background:#333}html[dark-mode=true] body .vote .bts2 .btsIem{background:#1d1d1d;border:.01333333rem solid #333;color:#ddd}html[dark-mode=true] body .timeline .timeLine_list_item_line{color:#333}html[dark-mode=true] body .timeline .timeline_more{background:#262626;color:#ddd}html[dark-mode=true] body .active-wrapper{background:#262626;border:.5px solid hsla(0,0%,100%,.05)}html[dark-mode=true] body .statement{color:#444}html[dark-mode=true] body .share-box-center:before,html[dark-mode=true] body .share-box-last:before{border-color:#333}html[dark-mode=true] body .share .share-content span{color:#aaa}html[data-size=Large] #newsContent{font-size:.50666667rem;line-height:.888rem}.anticon-spin{-webkit-animation:loadingCircle 1s linear infinite;animation:loadingCircle 1s linear infinite}.prism-player{position:relative}.prism-player video{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);-ms-transform-origin:center;-moz-transform-origin:center;-webkit-transform-origin:center;-o-transform-origin:center}.prism-player .loading-center,.prism-player .prism-ErrorMessage,.prism-player .prism-audio-selector,.prism-player .prism-auto-stream-selector,.prism-player .prism-cc-selector,.prism-player .prism-marker-text,.prism-player .prism-quality-selector,.prism-player .prism-setting-list,.prism-player .prism-speed-selector,.prism-player .prism-thumbnail,.prism-player .prism-volume-control{display:none!important}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes loadingCircle{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingCircle{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}} 1 +article,aside,body,button,dd,details,div,dl,dt,em,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,i,img,input,label,li,menu,nav,ol,p,section,select,table,td,textarea,th,tr,u,ul{border:0;box-sizing:border-box;font-size:100%;margin:0;outline:0;padding:0;vertical-align:baseline}li{list-style:none}h1,h2,h3,h4,h5,h6{font-size:100%}table{border-collapse:collapse;border-spacing:0;width:100%}a,area,button,input,select,textarea{background:none;border:none;color:inherit;font-family:inherit;font-size:inherit;outline:none}a,a:hover{text-decoration:none}textarea{overflow:auto;resize:none}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:none;cursor:pointer}body,html{background:transparent;height:100%;overflow-x:hidden;width:100%}*{-webkit-overflow-scrolling:touch}html{-webkit-tap-highlight-color:transparent}body{text-align:left}body #app{height:100%}body #app::-webkit-scrollbar,body #app::-webkit-scrollbar-thumb{display:none}body #app::-webkit-scrollbar-track{display:none}.fl{float:left}.fr{float:right}.clearfix{zoom:1}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both;font-size:0;height:0;visibility:hidden}.ant-skeleton{display:table;width:100%}.ant-skeleton+.ant-skeleton{margin-top:.64rem}.ant-skeleton.active{display:none}.ant-skeleton-content{display:table-cell;margin-bottom:.64rem;vertical-align:top;width:100%}.ant-skeleton-content .ant-skeleton-title{background:#f2f2f2;height:.53333rem;margin-top:.26667rem;width:100%}.ant-skeleton-content .ant-skeleton-title+.ant-skeleton-paragraph{margin-top:.64rem}.ant-skeleton-content .ant-skeleton-paragraph{padding:0}.ant-skeleton-content .ant-skeleton-paragraph>li{background:#f2f2f2;height:.32rem;list-style:none;width:23.3%}.ant-skeleton-content .ant-skeleton-paragraph>li+li{margin-top:.26667rem}.ant-skeleton-content .ant-skeleton-paragraph>li:last-child:not(:first-child):not(:nth-child(2)){width:61%}.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,.ant-skeleton.ant-skeleton-active .ant-skeleton-button,.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title,.ant-skeleton.ant-skeleton-active .ant-skeleton-image,.ant-skeleton.ant-skeleton-active .ant-skeleton-input{-webkit-animation:ant-skeleton-loading 1.4s ease infinite;animation:ant-skeleton-loading 1.4s ease infinite;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2));background:-webkit-linear-gradient(left,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%}@-webkit-keyframes ant-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes ant-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}@-webkit-keyframes spinner-anime{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spinner-anime{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.toast-loading{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;left:0;position:fixed;text-align:center;top:0;width:100%;z-index:9999999999}.toast-loading.active,.toast-loading.none{display:none}.toast-loading .loading-cont{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;background-clip:padding-box;background-color:rgba(58,58,58,.9);border-radius:7px;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-size:15px;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;line-height:20px;padding:15px}.toast-loading .loading-cont .svg{-webkit-animation:spinner-anime 1s linear infinite;animation:spinner-anime 1s linear infinite;background-image:url(../image/loading.svg);background-position:50%;background-repeat:no-repeat;background-size:100%;display:inline-block;height:32px;height:20px;margin:0;width:32px;width:20px}.toast-loading .loading-cont .svg-text{display:inline-block;position:relative;top:4px}.skeleton-loading{display:block;height:100%;overflow:hidden;padding:.26666667rem .48rem 0}.skeleton-loading.active{left:0;opacity:0;position:fixed;top:0;visibility:hidden;width:100%;z-index:-1}.skeleton-loading.none{display:none}.error-block{box-sizing:border-box;display:none;padding-top:3.76rem;text-align:center}.error-block.active{display:block}.error-block .error-block-image{text-align:center}.error-block .error-block-image img{height:2.98666667rem;width:4.26666667rem}.error-block .error-block-reload-btn,.error-block .error-block-retry-btn{border:.02666667rem solid #ededed;border-radius:.08rem;color:#666;font-size:.32rem;font-weight:700;height:.74666667rem;line-height:.74666667rem;margin:.42666667rem auto 0;text-align:center;width:2.13333333rem}.error-block .error-block-reload-btn{width:3.73333333rem}.error-block .error-block-description-title{color:#999;font-size:14px;margin:0 auto;text-align:center}.ellipsis1{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;word-wrap:break-word}#app.fixed,.gx-mobile.fixed{left:0;opacity:0;position:fixed;top:0;visibility:hidden;width:100%;z-index:-1}.gx-mobile.fixed{height:17.57333333rem}.refresh-content,.refresh-content .van-pull-refresh{height:100%}html{-webkit-transition:color .3s,background-color .3s;transition:color .3s,background-color .3s}body .van-image__error,body .van-image__loading{display:block}body .prism-fullscreen{z-index:999999!important}body .prism-player .dplayer-thumb,body .prism-player .prism-ErrorMessage,body .prism-player .prism-animation,body .prism-player .prism-big-play-btn,body .prism-player .prism-button,body .prism-player .prism-button-retry,body .prism-player .prism-cc-btn,body .prism-player .prism-controlbar,body .prism-player .prism-cover,body .prism-player .prism-detect-info,body .prism-player .prism-error-operation,body .prism-player .prism-info-display,body .prism-player .prism-loading,body .prism-player .prism-progress-cursor,body .prism-player .prism-progress-hover,body .prism-player .prism-progress-played,body .prism-player .prism-setting-audio,body .prism-player .prism-setting-btn,body .prism-player .prism-setting-cc,body .prism-player .prism-setting-quality,body .prism-player .prism-text-overlay,body .prism-player .prism-tooltip,body .prism-player .prism-volume{display:none!important}#__vconsole,#__vconsole .vc-switch{z-index:10000000}#__vconsole .vc-panel{height:500px!important;min-height:unset!important}#app{overflow-x:hidden;overflow-y:hidden}#app .van-loading{text-align:center}html[dark-mode=true] body{background-color:#1d1d1d}html[dark-mode=true] body .error-block .error-block-reload-btn,html[dark-mode=true] body .error-block .error-block-retry-btn{border:.02666667rem solid #333;color:#aaa}html[dark-mode=true] body .ant-skeleton-content .ant-skeleton-paragraph>li,html[dark-mode=true] body .ant-skeleton-content .ant-skeleton-title{background:#262626}html[dark-mode=true] body .ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,html[dark-mode=true] body .ant-skeleton.ant-skeleton-active .ant-skeleton-button,html[dark-mode=true] body .ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph>li,html[dark-mode=true] body .ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title,html[dark-mode=true] body .ant-skeleton.ant-skeleton-active .ant-skeleton-image,html[dark-mode=true] body .ant-skeleton.ant-skeleton-active .ant-skeleton-input{-webkit-animation:ant-skeleton-loading 1.4s ease infinite;animation:ant-skeleton-loading 1.4s ease infinite;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#262626),color-stop(37%,#333),color-stop(63%,#262626));background:-webkit-linear-gradient(left,#262626 25%,#333 37%,#262626 63%);background:linear-gradient(90deg,#262626 25%,#333 37%,#262626 63%);background-size:400% 100%}html[dark-mode=true] body .error-block .error-block-description-title{color:#666}html[dark-mode=true] body .gx-mobile .title{color:#ddd}html[dark-mode=true] body .gx-mobile .short-title{color:#aaa}html[dark-mode=true] body .gx-mobile .head-link-block{background:#1d1d1d;border:.02666667rem solid hsla(0,0%,100%,.05);box-shadow:0 .05333333rem .21333333rem 0 hsla(0,0%,100%,.05);color:#ddd}html[dark-mode=true] body .gx-mobile .down-title-box .down-title{color:#666}html[dark-mode=true] body .gx-mobile .new-intro-box{background:#262626;color:#aaa}html[dark-mode=true] body .gx-mobile .rmcard .cdescrip .cdescrip_text:first-child{color:#ddd}html[dark-mode=true] body .gx-mobile .rmcard .cdescrip .cdescrip_text{color:#555}html[dark-mode=true] body .gx-mobile .rmcard .clook{background:#262626;color:#ccc}html[dark-mode=true] body .gx-mobile .rmcard .rmcard-image.default{background:#1d1d1d}html[dark-mode=true] body .gx-mobile .rmcard .rmcard-image{border:.5px solid hsla(0,0%,100%,.1)}html[dark-mode=true] body .gx-mobile .time.pageView{color:#555}html[dark-mode=true] body .gx-mobile #newsContent{color:#ddd}html[dark-mode=true] body #newsContent .en-scroll-text,html[dark-mode=true] body #newsContent .en-scroll-text:after,html[dark-mode=true] body #newsContent .en-text-3 .en-text-3-title,html[dark-mode=true] body #newsContent .preview-audio-player,html[dark-mode=true] body #newsContent .scroll-text-left{background:#1d1d1d}html[dark-mode=true] body #newsContent section[data-title=\5DE6\56FE\53F3\6587]>div h3{color:#fff!important}html[dark-mode=true] body #newsContent section[data-title=\5DE6\56FE\53F3\6587]>div p{color:#ddd!important}html[dark-mode=true] body #newsContent section[data-title=\5DE6\6587\53F3\56FE]>div h3{color:#fff!important}html[dark-mode=true] body #newsContent section[data-title=\5DE6\6587\53F3\56FE]>div p{color:#ddd!important}html[dark-mode=true] body #newsContent section[data-title=\4F5C\8005\5934\50CF\6846]>div{background:#262626!important}html[dark-mode=true] body #newsContent section[data-title=\4F5C\8005\5934\50CF\6846]>div>div div:first-child{color:#ddd!important}html[dark-mode=true] body #newsContent section[data-title=\4F5C\8005\5934\50CF\6846]>div>div div:last-child{color:#aaa!important}html[dark-mode=true] body #newsContent section[data-title=\5206\5272\7EBF-2]>div div:last-child,html[dark-mode=true] body #newsContent section[data-title=\5206\5272\7EBF-3]>div>div{background:#1d1d1d!important}html[dark-mode=true] body #newsContent .en-scroll-text,html[dark-mode=true] body #newsContent .preview-audio-player-cover{border:.02666667rem solid hsla(0,0%,100%,.05);box-shadow:0 .05333333rem .21333333rem 0 hsla(0,0%,100%,.05)}html[dark-mode=true] body #newsContent .preview-audio-player-cover .right .audio-title{color:#ddd}html[dark-mode=true] body #newsContent .preview-audio-player-cover .right .audio-extra .audio-time{color:#666}html[dark-mode=true] body .gx-mobile #newsContent .preview-image-block.error,html[dark-mode=true] body .gx-mobile #newsContent .preview-image-block.loading{background:#333}html[dark-mode=true] body .gx-mobile #newsContent .preview-video .player-layer-state .player-state-icon{background:hsla(0,0%,100%,.5)}html[dark-mode=true] body #newsContent .preview-link-card-mobile{background:#262626;border:.02666667rem solid hsla(0,0%,100%,.05)}html[dark-mode=true] body #newsContent .preview-audio-player{border:.02666667rem solid hsla(0,0%,100%,.05);box-shadow:0 .05333333rem .21333333rem 0 hsla(0,0%,100%,.05)}html[dark-mode=true] body #newsContent .preview-audio-player .right .audio-time{color:#555}html[dark-mode=true] body #newsContent .preview-audio-player .right .audio-progress-block{background:#262626}html[dark-mode=true] body #newsContent .preview-audio-player .right .audio-title{color:#ddd}html[dark-mode=true] body #newsContent .en-echart .en-echart-yname{color:#aaa}html[dark-mode=true] body #newsContent .bjh-image-caption,html[dark-mode=true] body #newsContent .rmrb-caption-img,html[dark-mode=true] body #newsContent .rmrb-caption-img2{color:#555!important}html[dark-mode=true] body .vote{background:#262626}html[dark-mode=true] body #newsContent .en-echart .en-echart-title,html[dark-mode=true] body #newsContent .en-scroll-text .swiper-txet,html[dark-mode=true] body #newsContent .en-table .en-table-title,html[dark-mode=true] body #newsContent .en-text-2-title,html[dark-mode=true] body #newsContent .en-text-3 .en-text-3-content,html[dark-mode=true] body .active-wrapper .active-title,html[dark-mode=true] body .timeline .timeLine_list_item_content,html[dark-mode=true] body .timeline .timeLine_list_item_title,html[dark-mode=true] body .timeline .timeline_title,html[dark-mode=true] body .vote .vote-title{color:#ddd}html[dark-mode=true] body .vote .aft .bf .lt .lt-s2,html[dark-mode=true] body .vote .aft .bf .rt .lt-s2,html[dark-mode=true] body .vote .bts3 .zsbox .bf .sbf,html[dark-mode=true] body .vote .bts3 .zsbox .bf .sumBox .stx{color:#aaa}html[dark-mode=true] body .vote .bts3 .zsbox .jd{background:#aaa}html[dark-mode=true] body .vote .bts3 .zsbox .jd .s1:before{background:-webkit-linear-gradient(right,#666 1%,#666 98%);background:linear-gradient(270deg,#666 1%,#666 98%)}html[dark-mode=true] body .vote .bts3 .zsbox .jd .s1.active:before{background:-webkit-linear-gradient(right,#486fff,#5a88ff);background:linear-gradient(270deg,#486fff,#5a88ff)}html[dark-mode=true] body .vote-line{background:#333}html[dark-mode=true] body .vote .bts2 .btsIem{background:#1d1d1d;border:.01333333rem solid #333;color:#ddd}html[dark-mode=true] body .timeline .timeLine_list_item_line{color:#333}html[dark-mode=true] body .timeline .timeline_more{background:#262626;color:#ddd}html[dark-mode=true] body .active-wrapper{background:#262626;border:.5px solid hsla(0,0%,100%,.05)}html[dark-mode=true] body .statement{color:#444}html[dark-mode=true] body .share-box-center:before,html[dark-mode=true] body .share-box-last:before{border-color:#333}html[dark-mode=true] body .share .share-content span{color:#aaa}html[data-size=Large] #newsContent{font-size:.50666667rem;line-height:.888rem}.anticon-spin{-webkit-animation:loadingCircle 1s linear infinite;animation:loadingCircle 1s linear infinite}.prism-player{position:relative}.prism-player video{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);-ms-transform-origin:center;-moz-transform-origin:center;-webkit-transform-origin:center;-o-transform-origin:center}.prism-player .loading-center,.prism-player .prism-ErrorMessage,.prism-player .prism-audio-selector,.prism-player .prism-auto-stream-selector,.prism-player .prism-cc-selector,.prism-player .prism-marker-text,.prism-player .prism-quality-selector,.prism-player .prism-setting-list,.prism-player .prism-speed-selector,.prism-player .prism-thumbnail,.prism-player .prism-volume-control{display:none!important}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes loadingCircle{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingCircle{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}
2 /*# sourceMappingURL=prodGlobal.css.map */ 2 /*# sourceMappingURL=prodGlobal.css.map */
@@ -27,6 +27,7 @@ function useVideo() { @@ -27,6 +27,7 @@ function useVideo() {
27 url: option.src, 27 url: option.src,
28 poster: option.poster, 28 poster: option.poster,
29 originId: option.originId, 29 originId: option.originId,
  30 + isNewspaper: option.isNewspaper,
30 rect: { 31 rect: {
31 top: 0, width: 0, height: 0 32 top: 0, width: 0, height: 0
32 }, 33 },
@@ -287,6 +287,7 @@ const app = Vue.createApp({ @@ -287,6 +287,7 @@ const app = Vue.createApp({
287 } 287 }
288 state.appFontSize = extraData ? extraData.fontSizes : '' 288 state.appFontSize = extraData ? extraData.fontSizes : ''
289 state.clientHeight = extraData ? extraData.clientHeight : '' 289 state.clientHeight = extraData ? extraData.clientHeight : ''
  290 + appFontSize = state.appFontSize
290 clientHeight = state.clientHeight 291 clientHeight = state.clientHeight
291 console.info('clientHeight', state.clientHeight) 292 console.info('clientHeight', state.clientHeight)
292 setRemUnit(state.appFontSize, state.clientHeight) 293 setRemUnit(state.appFontSize, state.clientHeight)
@@ -341,6 +342,8 @@ const app = Vue.createApp({ @@ -341,6 +342,8 @@ const app = Vue.createApp({
341 const reload = () => { 342 const reload = () => {
342 clearData() 343 clearData()
343 pageReloadChange() 344 pageReloadChange()
  345 + loadingBlock(true)
  346 + changeContentHtmlHeight({ str: '.skeleton-loading' })
344 347
345 if (window.config.VUE_BASE_NODE === 'dev') { 348 if (window.config.VUE_BASE_NODE === 'dev') {
346 initData({}, state.contentId) 349 initData({}, state.contentId)
@@ -376,6 +379,7 @@ const app = Vue.createApp({ @@ -376,6 +379,7 @@ const app = Vue.createApp({
376 methot: 'post', 379 methot: 'post',
377 appStatus: false, 380 appStatus: false,
378 // isMock: true, 381 // isMock: true,
  382 + // weakNetwork: true,
379 // mockTimeOut: 10, 383 // mockTimeOut: 10,
380 //环境 384 //环境
381 environment: state.environment, 385 environment: state.environment,
@@ -2,6 +2,7 @@ var docEl = document.documentElement @@ -2,6 +2,7 @@ var docEl = document.documentElement
2 var dpr = window.devicePixelRatio || 1 2 var dpr = window.devicePixelRatio || 1
3 3
4 var clientHeight = 0 4 var clientHeight = 0
  5 +var appFontSize = ''
5 6
6 /* 判断设备类型 */ 7 /* 判断设备类型 */
7 function judgTerminal() { 8 function judgTerminal() {
@@ -10,6 +11,7 @@ function judgTerminal() { @@ -10,6 +11,7 @@ function judgTerminal() {
10 const isXiaomi = u.indexOf('XiaoMi') > -1 // 小米手机 11 const isXiaomi = u.indexOf('XiaoMi') > -1 // 小米手机
11 const isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1 // 其它安卓 12 const isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1 // 其它安卓
12 const isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios 13 const isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios
  14 + const isHarmony = u.indexOf('OpenHarmony') > -1
13 if (isAndroid) { 15 if (isAndroid) {
14 return 1 16 return 1
15 } else if (isIOS) { 17 } else if (isIOS) {
@@ -18,6 +20,8 @@ function judgTerminal() { @@ -18,6 +20,8 @@ function judgTerminal() {
18 } else { 20 } else {
19 return 2 21 return 2
20 } 22 }
  23 + }else if (isHarmony){
  24 + return 2
21 } 25 }
22 26
23 return 1 27 return 1
@@ -41,8 +45,9 @@ function changeRemValue(rem, type) { @@ -41,8 +45,9 @@ function changeRemValue(rem, type) {
41 45
42 // set 1rem = viewWidth / 10 46 // set 1rem = viewWidth / 10
43 function setRemUnit(type = 'normalsize') { 47 function setRemUnit(type = 'normalsize') {
44 - if (typeof type !== 'string') {  
45 - type = docEl.getAttribute('data-size') || 'normalsize' 48 + console.log('setRemUnit:',type)
  49 + if (type !== 'normalsize' || type !== 'small' || type !== 'large' || type !== 'Large') {
  50 + type = appFontSize || docEl.getAttribute('data-size') || 'normalsize'
46 } 51 }
47 docEl.setAttribute('data-size', type) 52 docEl.setAttribute('data-size', type)
48 if (docEl) { 53 if (docEl) {
@@ -60,7 +65,10 @@ function setRemUnit(type = 'normalsize') { @@ -60,7 +65,10 @@ function setRemUnit(type = 'normalsize') {
60 } 65 }
61 } 66 }
62 67
63 -window.addEventListener('resize', () => setRemUnit()) 68 +window.addEventListener('resize', () => {
  69 + console.log('resize')
  70 + setRemUnit()
  71 +})
64 72
65 if (judgTerminal() === 2) { 73 if (judgTerminal() === 2) {
66 setRemUnit() 74 setRemUnit()
@@ -47,11 +47,10 @@ class videoEnPlayer extends Emitter { @@ -47,11 +47,10 @@ class videoEnPlayer extends Emitter {
47 if (!this.previewPoster) { 47 if (!this.previewPoster) {
48 this.originPoster = `${url.split('?')[0]}?x-oss-process=video/snapshot,t_0,f_jpg` 48 this.originPoster = `${url.split('?')[0]}?x-oss-process=video/snapshot,t_0,f_jpg`
49 this.previewPoster = `${url.split('?')[0]}?x-oss-process=video/snapshot,t_0,f_jpg` 49 this.previewPoster = `${url.split('?')[0]}?x-oss-process=video/snapshot,t_0,f_jpg`
50 - }  
51 -  
52 - if (this.previewPoster) {  
53 - this.originPoster = handleImageSrc(this.originPoster, 2)  
54 - this.previewPoster = handleImageSrc(this.previewPoster, 2) 50 + } else {
  51 + const isNewspaper = this.options.record.isNewspaper
  52 + this.originPoster = handleImageSrc(this.originPoster, 2, isNewspaper)
  53 + this.previewPoster = handleImageSrc(this.previewPoster, 2, isNewspaper)
55 } 54 }
56 55
57 this.poster = isDark ? './image/placeHoldVlogo.svg' : './image/placeholdLogo.svg' 56 this.poster = isDark ? './image/placeHoldVlogo.svg' : './image/placeholdLogo.svg'
@@ -662,7 +662,7 @@ class DomUtil { @@ -662,7 +662,7 @@ class DomUtil {
662 linkIocnHtml = `<div class="preview-image-link-icon"><img class="local-image" src="./image/image_link.svg" alt=""><span>链接</span></div>` 662 linkIocnHtml = `<div class="preview-image-link-icon"><img class="local-image" src="./image/image_link.svg" alt=""><span>链接</span></div>`
663 } 663 }
664 const el = document.createElement('div') 664 const el = document.createElement('div')
665 - const previewSrc = handleImageSrc(src) 665 + const previewSrc = handleImageSrc(src, 1, details.isNewspaper)
666 const findRecord = photoList.find(el => { 666 const findRecord = photoList.find(el => {
667 const originSrc = src.split('?')[0] 667 const originSrc = src.split('?')[0]
668 return handleMediaSrc(el.picPath) == handleMediaSrc(originSrc) 668 return handleMediaSrc(el.picPath) == handleMediaSrc(originSrc)
@@ -816,7 +816,7 @@ class DomUtil { @@ -816,7 +816,7 @@ class DomUtil {
816 videoEl.remove() 816 videoEl.remove()
817 } 817 }
818 } 818 }
819 - nextCallback(2, { src, id, poster, originId: videoElId }) 819 + nextCallback(2, { src, id, poster, originId: videoElId, isNewspaper: details.isNewspaper })
820 } 820 }
821 821
822 const aEl = document.querySelectorAll('#newsContent a') 822 const aEl = document.querySelectorAll('#newsContent a')
@@ -83,23 +83,6 @@ function loadFile(doc, obj = {}, fn) { @@ -83,23 +83,6 @@ function loadFile(doc, obj = {}, fn) {
83 } 83 }
84 doc.getElementsByTagName('head')[0].appendChild(element) 84 doc.getElementsByTagName('head')[0].appendChild(element)
85 } 85 }
86 -/* 判断设备类型 */  
87 -function judgTerminal() {  
88 - /* 返回当前的用户代理(User Agent)字符串 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1' */  
89 - const u = navigator.userAgent  
90 - const isXiaomi = u.indexOf('XiaoMi') > -1 // 小米手机  
91 - const isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1 // 其它安卓  
92 - const isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios  
93 - if (isAndroid) {  
94 - return 1  
95 - } else if (isIOS) {  
96 - if (isXiaomi) {  
97 - return 1  
98 - } else {  
99 - return 2  
100 - }  
101 - }  
102 -}  
103 /*用于在 WebView 中建立与 JavaScript 的桥接通信 原生应用程序与 WebView 中运行的 JavaScript 之间进行交互 */ 86 /*用于在 WebView 中建立与 JavaScript 的桥接通信 原生应用程序与 WebView 中运行的 JavaScript 之间进行交互 */
104 function setupWebViewJavascriptBridge(callback) { 87 function setupWebViewJavascriptBridge(callback) {
105 if (window.WebViewJavascriptBridge) { return callback(WebViewJavascriptBridge) } 88 if (window.WebViewJavascriptBridge) { return callback(WebViewJavascriptBridge) }
@@ -379,7 +362,7 @@ document.addEventListener('DOMContentLoaded', function () { @@ -379,7 +362,7 @@ document.addEventListener('DOMContentLoaded', function () {
379 connectWebViewJavascriptBridge(function (bridge) { 362 connectWebViewJavascriptBridge(function (bridge) {
380 bridge.registerHandler('jsCall_receiveAppData', function (appData, responseCallback) { 363 bridge.registerHandler('jsCall_receiveAppData', function (appData, responseCallback) {
381 window.config.VUE_CONTENT_CONFIG = appData 364 window.config.VUE_CONTENT_CONFIG = appData
382 - // setHtmlBaseOptions(appData) 365 + setHtmlBaseOptions(appData)
383 if (document.querySelector('#detail-change')) { 366 if (document.querySelector('#detail-change')) {
384 document.querySelector('#detail-change').click() 367 document.querySelector('#detail-change').click()
385 } 368 }
@@ -390,7 +373,7 @@ document.addEventListener('DOMContentLoaded', function () { @@ -390,7 +373,7 @@ document.addEventListener('DOMContentLoaded', function () {
390 setupWebViewJavascriptBridge(function (bridge) { 373 setupWebViewJavascriptBridge(function (bridge) {
391 bridge.registerHandler('jsCall_receiveAppData', function (appData, responseCallback) { 374 bridge.registerHandler('jsCall_receiveAppData', function (appData, responseCallback) {
392 window.config.VUE_CONTENT_CONFIG = appData 375 window.config.VUE_CONTENT_CONFIG = appData
393 - // setHtmlBaseOptions(appData) 376 + setHtmlBaseOptions(appData)
394 if (document.querySelector('#detail-change')) { 377 if (document.querySelector('#detail-change')) {
395 document.querySelector('#detail-change').click() 378 document.querySelector('#detail-change').click()
396 } 379 }
@@ -8,6 +8,7 @@ async function axiosRequest(config) { @@ -8,6 +8,7 @@ async function axiosRequest(config) {
8 timeOut = 10000, 8 timeOut = 10000,
9 mockTimeOut = 200, 9 mockTimeOut = 200,
10 prefix, 10 prefix,
  11 + weakNetwork = false,
11 appStatus = true, 12 appStatus = true,
12 showError = true, 13 showError = true,
13 environment = 'sit', 14 environment = 'sit',
@@ -22,6 +23,14 @@ async function axiosRequest(config) { @@ -22,6 +23,14 @@ async function axiosRequest(config) {
22 setTimeout(() => { 23 setTimeout(() => {
23 const code = '0' 24 const code = '0'
24 25
  26 + if (weakNetwork) {
  27 + resolve({
  28 + network: 0,
  29 + success: false,
  30 + data: null
  31 + })
  32 + }
  33 +
25 if (appStatus) { 34 if (appStatus) {
26 appBlock(true) 35 appBlock(true)
27 } 36 }
@@ -1322,7 +1322,7 @@ function getFileSuffix(url = '') { @@ -1322,7 +1322,7 @@ function getFileSuffix(url = '') {
1322 } 1322 }
1323 1323
1324 // 1 图片 2 视频 1324 // 1 图片 2 视频
1325 -function handleImageSrc(src, type = 1) { 1325 +function handleImageSrc(src, type = 1, isNewspaper) {
1326 if (!src) return '' 1326 if (!src) return ''
1327 let fileSuffix = '' 1327 let fileSuffix = ''
1328 try { 1328 try {
@@ -1338,6 +1338,7 @@ function handleImageSrc(src, type = 1) { @@ -1338,6 +1338,7 @@ function handleImageSrc(src, type = 1) {
1338 !hasGif 1338 !hasGif
1339 ) { 1339 ) {
1340 if (type === 1) { 1340 if (type === 1) {
  1341 + if (isNewspaper) return src
1341 return `${src.split('?')[0]}?x-oss-process=image/resize,w_700/quality,q_90/format,jpg` 1342 return `${src.split('?')[0]}?x-oss-process=image/resize,w_700/quality,q_90/format,jpg`
1342 } else if (type === 2) { 1343 } else if (type === 2) {
1343 try { 1344 try {
@@ -1345,7 +1346,6 @@ function handleImageSrc(src, type = 1) { @@ -1345,7 +1346,6 @@ function handleImageSrc(src, type = 1) {
1345 fileSuffix.toLowerCase() 1346 fileSuffix.toLowerCase()
1346 )) { 1347 )) {
1347 return src 1348 return src
1348 -  
1349 } 1349 }
1350 if ([ 'bmp', 'png', 'gif', 'jpg', 'jpeg', 'psd', 'tif' ].includes(fileSuffix.toLowerCase())) { 1350 if ([ 'bmp', 'png', 'gif', 'jpg', 'jpeg', 'psd', 'tif' ].includes(fileSuffix.toLowerCase())) {
1351 return `${src.split('?')[0]}?x-oss-process=style/w10` 1351 return `${src.split('?')[0]}?x-oss-process=style/w10`
@@ -334,7 +334,7 @@ export struct SettingPasswordLayout { @@ -334,7 +334,7 @@ export struct SettingPasswordLayout {
334 SPHelper.default.get(SpConstants.USER_TEMP_TOKEN, '').then((str) => { 334 SPHelper.default.get(SpConstants.USER_TEMP_TOKEN, '').then((str) => {
335 this.loginViewModel.forgotPassword(this.password01, str.toString()).then((data =>{ 335 this.loginViewModel.forgotPassword(this.password01, str.toString()).then((data =>{
336 if (this.pageType == 0) {//登录页 336 if (this.pageType == 0) {//登录页
337 - ToastUtils.shortToast("修改成功") 337 + this.showToastTip("修改成功")
338 router.back({ 338 router.back({
339 url: `${WDRouterPage.getLoginBundleInfo()}` 339 url: `${WDRouterPage.getLoginBundleInfo()}`
340 }) 340 })
@@ -342,7 +342,7 @@ export struct SettingPasswordLayout { @@ -342,7 +342,7 @@ export struct SettingPasswordLayout {
342 let params: Params = { 342 let params: Params = {
343 pageID: 'AccountAndSecurityLayout' 343 pageID: 'AccountAndSecurityLayout'
344 } 344 }
345 - ToastUtils.shortToast("修改成功") 345 + this.showToastTip("修改成功")
346 router.back({ 346 router.back({
347 params:params, 347 params:params,
348 url: `${WDRouterPage.getSettingBundleInfo()}` 348 url: `${WDRouterPage.getSettingBundleInfo()}`
@@ -350,8 +350,11 @@ export struct SettingPasswordLayout { @@ -350,8 +350,11 @@ export struct SettingPasswordLayout {
350 // WDRouterRule.jumpWithPage(WDRouterPage.settingPage, params) 350 // WDRouterRule.jumpWithPage(WDRouterPage.settingPage, params)
351 } 351 }
352 })) 352 }))
  353 + .catch((err: string) => {
  354 + this.showToastTip(err)
  355 + });
353 }).catch((err: string) => { 356 }).catch((err: string) => {
354 - ToastUtils.shortToast(err) 357 + this.showToastTip(err)
355 Logger.error(TAG, 'catch err:' + JSON.stringify(err)); 358 Logger.error(TAG, 'catch err:' + JSON.stringify(err));
356 }); 359 });
357 } 360 }