王士厅
@@ -55,7 +55,8 @@ @@ -55,7 +55,8 @@
55 "buildProfileFields": { 55 "buildProfileFields": {
56 "BUILD_VERSION": "" 56 "BUILD_VERSION": ""
57 } 57 }
58 - } 58 + },
  59 + "strictMode": {"useNormalizedOHMUrl": true}
59 }, 60 },
60 }, 61 },
61 { 62 {
@@ -69,7 +70,8 @@ @@ -69,7 +70,8 @@
69 "buildProfileFields": { 70 "buildProfileFields": {
70 "BUILD_VERSION": "" 71 "BUILD_VERSION": ""
71 } 72 }
72 - } 73 + },
  74 + "strictMode": {"useNormalizedOHMUrl": true}
73 } 75 }
74 } 76 }
75 ], 77 ],
1 import { url } from '@kit.ArkTS' 1 import { url } from '@kit.ArkTS'
  2 +import { RetryHolderManager } from '@ohos/imageknife/src/main/ets/components/imageknife/holder/RetryHolderManager'
2 import App from '@system.app' 3 import App from '@system.app'
3 import { Action, Params } from 'wdBean/Index' 4 import { Action, Params } from 'wdBean/Index'
4 import { ExtraDTO } from 'wdBean/src/main/ets/bean/component/extra/ExtraDTO' 5 import { ExtraDTO } from 'wdBean/src/main/ets/bean/component/extra/ExtraDTO'
@@ -17,12 +18,12 @@ export class AppInnerLink { @@ -17,12 +18,12 @@ export class AppInnerLink {
17 18
18 // 内链跳转 19 // 内链跳转
19 // 内链地址例如:rmrbapp://rmrb.app/openwith?type=article&subType=h5_template_article&contentId=30000762651&relId=500000038702&skipType=1&relType=1 20 // 内链地址例如:rmrbapp://rmrb.app/openwith?type=article&subType=h5_template_article&contentId=30000762651&relId=500000038702&skipType=1&relType=1
20 - static jumpWithLink(innerLink: string) { 21 + static jumpWithLink(innerLink: string) : boolean {
21 22
22 let params = AppInnerLink.parseParams(innerLink) 23 let params = AppInnerLink.parseParams(innerLink)
23 if (!params) { 24 if (!params) {
24 Logger.info(TAG, "跳转无效的链接地址 " + innerLink) 25 Logger.info(TAG, "跳转无效的链接地址 " + innerLink)
25 - return 26 + return false
26 } 27 }
27 28
28 switch (params.skipType) { 29 switch (params.skipType) {
@@ -48,8 +49,10 @@ export class AppInnerLink { @@ -48,8 +49,10 @@ export class AppInnerLink {
48 } 49 }
49 default: { 50 default: {
50 Logger.info(TAG, "跳转无效的链接地址 " + innerLink) 51 Logger.info(TAG, "跳转无效的链接地址 " + innerLink)
  52 + return false
51 } 53 }
52 } 54 }
  55 + return true
53 } 56 }
54 57
55 private static jumpParams(params: InnerLinkParam) { 58 private static jumpParams(params: InnerLinkParam) {
@@ -64,7 +64,7 @@ export struct H5NewsWebPageComponent { @@ -64,7 +64,7 @@ export struct H5NewsWebPageComponent {
64 Stack({ alignContent: Alignment.Top }){ 64 Stack({ alignContent: Alignment.Top }){
65 Stack(){ 65 Stack(){
66 Column(){ 66 Column(){
67 - CustomTitleUI({ titleName: this.navTitle }) 67 + CustomTitleUI({ titleName: this.navTitle ,imgBack:false})
68 WdWebComponent({ 68 WdWebComponent({
69 webviewControl: this.webviewControl, 69 webviewControl: this.webviewControl,
70 webUrl: this.webUrl, 70 webUrl: this.webUrl,
@@ -5,7 +5,12 @@ import { promptAction } from '@kit.ArkUI'; @@ -5,7 +5,12 @@ import { promptAction } from '@kit.ArkUI';
5 import { image } from '@kit.ImageKit'; 5 import { image } from '@kit.ImageKit';
6 import { photoAccessHelper } from '@kit.MediaLibraryKit'; 6 import { photoAccessHelper } from '@kit.MediaLibraryKit';
7 import fs from '@ohos.file.fs'; 7 import fs from '@ohos.file.fs';
8 -import { NetworkUtil } from 'wdKit'; 8 +import { DateTimeUtils, NetworkUtil, PermissionUtil } from 'wdKit';
  9 +import { PrivacySettingModel } from '../model/PrivacySettingModel';
  10 +import { TrackConstants, TrackingButton } from 'wdTracking';
  11 +import { faceDetector } from '@kit.CoreVisionKit';
  12 +import mediaLibrary from '@ohos.multimedia.mediaLibrary';
  13 +import fileIo from '@ohos.file.fs';
9 14
10 const PERMISSIONS: Array<Permissions> = [ 15 const PERMISSIONS: Array<Permissions> = [
11 'ohos.permission.READ_IMAGEVIDEO', 16 'ohos.permission.READ_IMAGEVIDEO',
@@ -22,6 +27,8 @@ export struct ImageDownloadComponent { @@ -22,6 +27,8 @@ export struct ImageDownloadComponent {
22 @State photoAccessHelper: photoAccessHelper.PhotoAccessHelper | undefined = undefined; // 相册模块管理实例 27 @State photoAccessHelper: photoAccessHelper.PhotoAccessHelper | undefined = undefined; // 相册模块管理实例
23 @State imageBuffer: ArrayBuffer | undefined = undefined; // 图片ArrayBuffer 28 @State imageBuffer: ArrayBuffer | undefined = undefined; // 图片ArrayBuffer
24 @Prop @Watch('onChangeUrl') url: string = '' 29 @Prop @Watch('onChangeUrl') url: string = ''
  30 + @State isGranted: boolean = false
  31 + @State name: string = ''
25 32
26 build() { 33 build() {
27 Column() { 34 Column() {
@@ -34,14 +41,20 @@ export struct ImageDownloadComponent { @@ -34,14 +41,20 @@ export struct ImageDownloadComponent {
34 .backgroundColor(Color.Transparent) 41 .backgroundColor(Color.Transparent)
35 .iconColor(Color.White) 42 .iconColor(Color.White)
36 .onClick(async () => { 43 .onClick(async () => {
37 - console.info(`cj2024 onClick ${this.imageBuffer}`) 44 + //console.info(`cj2024 onClick ${this.imageBuffer}`)
38 if (this.imageBuffer !== undefined) { 45 if (this.imageBuffer !== undefined) {
39 - await this.saveImage(this.imageBuffer);  
40 - promptAction.showToast({  
41 - message: $r('app.string.image_request_success'),  
42 - duration: 2000,  
43 - alignment:Alignment.Center  
44 - }) 46 + try {
  47 + await this.saveImage(this.imageBuffer);
  48 + promptAction.showToast({
  49 + message: $r('app.string.image_request_success'),
  50 + duration: 2000,
  51 + alignment: Alignment.Center
  52 + })
  53 + } catch (error) {
  54 + const err: BusinessError = error as BusinessError;
  55 + //console.info(`Failed to save photo. Code is ${err.code}, message is ${err.message}`);
  56 + promptAction.showToast({ message: '保存图片失败!' });
  57 + }
45 } 58 }
46 }) 59 })
47 } 60 }
@@ -55,10 +68,11 @@ export struct ImageDownloadComponent { @@ -55,10 +68,11 @@ export struct ImageDownloadComponent {
55 // 有网络 68 // 有网络
56 this.onChangeUrl() 69 this.onChangeUrl()
57 } 70 }
  71 +
58 } 72 }
59 73
60 async onChangeUrl(): Promise<void> { 74 async onChangeUrl(): Promise<void> {
61 - console.info(`cj2024 图片下载 ${this.url}`) 75 + //console.info(`cj2024 图片下载 ${this.url}`)
62 const context = getContext(this) as common.UIAbilityContext; 76 const context = getContext(this) as common.UIAbilityContext;
63 const atManager = abilityAccessCtrl.createAtManager(); 77 const atManager = abilityAccessCtrl.createAtManager();
64 await atManager.requestPermissionsFromUser(context, PERMISSIONS); 78 await atManager.requestPermissionsFromUser(context, PERMISSIONS);
@@ -73,7 +87,7 @@ export struct ImageDownloadComponent { @@ -73,7 +87,7 @@ export struct ImageDownloadComponent {
73 let httpRequest = http.createHttp(); 87 let httpRequest = http.createHttp();
74 // 用于订阅HTTP响应头事件 88 // 用于订阅HTTP响应头事件
75 httpRequest.on('headersReceive', (header: Object) => { 89 httpRequest.on('headersReceive', (header: Object) => {
76 - console.info('header: ' + JSON.stringify(header)); 90 + //console.info('header: ' + JSON.stringify(header));
77 }); 91 });
78 // 用于订阅HTTP流式响应数据接收事件 92 // 用于订阅HTTP流式响应数据接收事件
79 let res = new ArrayBuffer(0); 93 let res = new ArrayBuffer(0);
@@ -83,40 +97,40 @@ export struct ImageDownloadComponent { @@ -83,40 +97,40 @@ export struct ImageDownloadComponent {
83 resView.set(new Uint8Array(res)); 97 resView.set(new Uint8Array(res));
84 resView.set(new Uint8Array(data), res.byteLength); 98 resView.set(new Uint8Array(data), res.byteLength);
85 res = newRes; 99 res = newRes;
86 - // console.info('dataReceive res length: ' + res.byteLength); 100 + // //console.info('dataReceive res length: ' + res.byteLength);
87 }); 101 });
88 // 用于订阅HTTP流式响应数据接收完毕事件 102 // 用于订阅HTTP流式响应数据接收完毕事件
89 httpRequest.on('dataEnd', () => { 103 httpRequest.on('dataEnd', () => {
90 this.transcodePixelMap(res); 104 this.transcodePixelMap(res);
91 // 判断网络获取到的资源是否为ArrayBuffer类型 105 // 判断网络获取到的资源是否为ArrayBuffer类型
92 - console.info(`dataEnd getPicture ${res}`) 106 + //console.info(`dataEnd getPicture ${res}`)
93 if (res instanceof ArrayBuffer) { 107 if (res instanceof ArrayBuffer) {
94 - console.info(`dataEnd getPicture`) 108 + //console.info(`dataEnd getPicture`)
95 this.imageBuffer = res as ArrayBuffer; 109 this.imageBuffer = res as ArrayBuffer;
96 } 110 }
97 - console.info('No more data in response, data receive end'); 111 + //console.info('No more data in response, data receive end');
98 }); 112 });
99 httpRequest.requestInStream(this.url, 113 httpRequest.requestInStream(this.url,
100 - (error: BusinessError, data: number) => {  
101 - if (error) {  
102 - // 下载失败时弹窗提示检查网络,不执行后续逻辑  
103 - promptAction.showToast({  
104 - message: $r('app.string.image_request_fail'),  
105 - duration: 2000  
106 - })  
107 - console.error(`http reqeust failed with. Code: ${error.code}, message: ${error.message}`);  
108 - return;  
109 - }  
110 - // 取消订阅HTTP响应头事件  
111 - httpRequest.off('headersReceive');  
112 - // 取消订阅HTTP流式响应数据接收事件  
113 - httpRequest.off('dataReceive');  
114 - // 取消订阅HTTP流式响应数据接收完毕事件  
115 - httpRequest.off('dataEnd');  
116 - // 当该请求使用完毕时,调用destroy方法主动销毁  
117 - httpRequest.destroy(); 114 + (error: BusinessError, data: number) => {
  115 + if (error) {
  116 + // 下载失败时弹窗提示检查网络,不执行后续逻辑
  117 + promptAction.showToast({
  118 + message: $r('app.string.image_request_fail'),
  119 + duration: 2000
  120 + })
  121 + //console.error(`http reqeust failed with. Code: ${error.code}, message: ${error.message}`);
  122 + return;
118 } 123 }
119 - ) 124 + // 取消订阅HTTP响应头事件
  125 + httpRequest.off('headersReceive');
  126 + // 取消订阅HTTP流式响应数据接收事件
  127 + httpRequest.off('dataReceive');
  128 + // 取消订阅HTTP流式响应数据接收完毕事件
  129 + httpRequest.off('dataEnd');
  130 + // 当该请求使用完毕时,调用destroy方法主动销毁
  131 + httpRequest.destroy();
  132 + }
  133 + )
120 } 134 }
121 135
122 /** 136 /**
@@ -147,13 +161,39 @@ export struct ImageDownloadComponent { @@ -147,13 +161,39 @@ export struct ImageDownloadComponent {
147 * @returns 161 * @returns
148 */ 162 */
149 async saveImage(buffer: ArrayBuffer | string): Promise<void> { 163 async saveImage(buffer: ArrayBuffer | string): Promise<void> {
150 - console.info(`cj2024 saveImage buffer ${buffer}`) 164 + //console.info(`cj2024 saveImage buffer ${buffer}`)
  165 + if (!this.isGranted) {
  166 + //跳转权限设置
  167 + // const permissionUtil = new PermissionUtil();
  168 + PermissionUtil.reqPermissionsFromUser(['ohos.permission.READ_MEDIA'], this).then((res) => {
  169 + this.isGranted = res;
  170 + });
  171 + } else {
  172 + // PermissionUtil.openPermissionsInSystemSettings(this);
  173 + }
  174 +
  175 +
151 const context = getContext(this) as common.UIAbilityContext; // 获取getPhotoAccessHelper需要的context 176 const context = getContext(this) as common.UIAbilityContext; // 获取getPhotoAccessHelper需要的context
152 - const helper = photoAccessHelper.getPhotoAccessHelper(context); // 获取相册管理模块的实例  
153 - const uri = await helper.createAsset(photoAccessHelper.PhotoType.IMAGE, 'jpg'); // 指定待创建的文件类型、后缀和创建选项,创建图片或视频资源  
154 - console.info(`cj2024 saveImage uri ${uri}`)  
155 - const file = await fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);  
156 - await fs.write(file.fd, buffer);  
157 - await fs.close(file.fd); 177 + // const helper = photoAccessHelper.getPhotoAccessHelper(context); // 获取相册管理模块的实例
  178 + // const uri = await helper.createAsset(photoAccessHelper.PhotoType.IMAGE, 'jpg'); // 指定待创建的文件类型、后缀和创建选项,创建图片或视频资源
  179 + // //console.info(`cj2024 saveImage uri ${uri}`)
  180 + // const file = await fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
  181 + // await fs.write(file.fd, buffer);
  182 + // await fs.close(file.fd);
  183 + let media = mediaLibrary.getMediaLibrary(context);
  184 + let publicPath = await media.getPublicDirectory(mediaLibrary.DirectoryType.DIR_IMAGE);
  185 + let picName = DateTimeUtils.getCurDate(DateTimeUtils.PATTERN_DATE_TIME_DEFAULT) + '.jpg'
  186 + // //console.info(`cj2024 saveImage time ${picName}`)
  187 + let asset = await media.createAsset(mediaLibrary.MediaType.IMAGE, picName, publicPath);
  188 +
  189 + if (asset) {
  190 + let fd = await asset.open('rw');
  191 + await fileIo.write(fd, buffer);
  192 + await asset.close(fd);
  193 + promptAction.showToast({ message: '已保存至相册!' });
  194 + } else {
  195 + promptAction.showToast({ message: '保存图片失败!' });
  196 + throw new Error('Failed to create asset');
  197 + }
158 } 198 }
159 } 199 }
@@ -174,10 +174,10 @@ export struct PageComponent { @@ -174,10 +174,10 @@ export struct PageComponent {
174 pageHornAd() { 174 pageHornAd() {
175 175
176 if (this.pageAdvModel.isShowAds) { 176 if (this.pageAdvModel.isShowAds) {
177 - if (this.pageAdvModel.pageCornerAdv.matInfo != null) { 177 + if (this.pageAdvModel.pageCornerAdv.matInfo != null && this.pageAdvModel.pageCornerAdv.matInfo.linkType != '2') {
178 // 广告中心的挂角广告 178 // 广告中心的挂角广告
179 this.drawPageCornerAdvView(1, 1 == this.pageAdvModel.isRightAdv) 179 this.drawPageCornerAdvView(1, 1 == this.pageAdvModel.isRightAdv)
180 - } else if (this.pageAdvModel.pageCornerContentInfo.advert != null) { 180 + } else if (this.pageAdvModel.pageCornerContentInfo.advert != null && this.pageAdvModel.pageCornerContentInfo.advert.objectType != '6') {
181 // 展现中心的挂角广告业务 181 // 展现中心的挂角广告业务
182 this.drawPageCornerAdvView(2, 1 == this.pageAdvModel.isRightAdv) 182 this.drawPageCornerAdvView(2, 1 == this.pageAdvModel.isRightAdv)
183 } 183 }
@@ -148,6 +148,7 @@ export struct PlayerTitleView { @@ -148,6 +148,7 @@ export struct PlayerTitleView {
148 148
149 private updateSummaryLines() { 149 private updateSummaryLines() {
150 this.summaryLines = Math.max(1, 4 - this.titleLines) 150 this.summaryLines = Math.max(1, 4 - this.titleLines)
  151 + // console.info(`cj2024 titleLines = ${this.titleLines}`)
151 this.isOverLines = this.summary.length > this.clipText(this.summary, 14, this.summaryLines, this.windowWidth - 150 - vp2px(50)).length 152 this.isOverLines = this.summary.length > this.clipText(this.summary, 14, this.summaryLines, this.windowWidth - 150 - vp2px(50)).length
152 } 153 }
153 154
@@ -306,7 +307,9 @@ export struct PlayerTitleView { @@ -306,7 +307,9 @@ export struct PlayerTitleView {
306 } 307 }
307 } 308 }
308 .onAreaChange((oldArea: Area, newArea: Area) => { 309 .onAreaChange((oldArea: Area, newArea: Area) => {
309 - this.titleLines = Math.ceil((newArea.height as number) / 20) // 20是行高 310 + //console.info(`cj2024 titleLines = ${newArea.height as number} line = ${(newArea.height as number) / 20}`)
  311 + this.titleLines = Math.floor((newArea.height as number) / 20)// 20是行高
  312 + //console.info(`cj2024 titleLines = ${this.titleLines}`)
310 this.updateSummaryLines() 313 this.updateSummaryLines()
311 }) 314 })
312 .padding({ 315 .padding({
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 "license": "Apache-2.0", 7 "license": "Apache-2.0",
8 "packageType": "InterfaceHar", 8 "packageType": "InterfaceHar",
9 "dependencies": { 9 "dependencies": {
10 - "library": "file:./src/main/ets/getuiPush/GTSDK-1.0.1.0.har", 10 + "library": "file:./src/main/ets/getuiPush/GT-HM-1.0.4.har",
11 "wdConstant": "file:../../commons/wdConstant", 11 "wdConstant": "file:../../commons/wdConstant",
12 "wdLogin": "file:../../features/wdLogin", 12 "wdLogin": "file:../../features/wdLogin",
13 "wdKit": "file:../../commons/wdKit", 13 "wdKit": "file:../../commons/wdKit",
@@ -48,7 +48,7 @@ export class GetuiPush { @@ -48,7 +48,7 @@ export class GetuiPush {
48 } 48 }
49 49
50 init(context: common.UIAbilityContext) { 50 init(context: common.UIAbilityContext) {
51 - 51 + Logger.debug(TAG, "个推SDK开始初始化....")
52 const isOnlineEnv = HostManager.getHost() === HostEnum.HOST_PRODUCT 52 const isOnlineEnv = HostManager.getHost() === HostEnum.HOST_PRODUCT
53 53
54 PushManager.initialize({ 54 PushManager.initialize({
@@ -8,4 +8,6 @@ export { WDComp } from "./src/main/ets/layout/WDComp" @@ -8,4 +8,6 @@ export { WDComp } from "./src/main/ets/layout/WDComp"
8 8
9 export { Lego } from "./src/main/ets/lego/LegoService" 9 export { Lego } from "./src/main/ets/lego/LegoService"
10 10
11 -export { PageViewModel } from "./src/main/ets/viewmodel/PageViewModel"  
  11 +export { PageViewModel } from "./src/main/ets/viewmodel/PageViewModel"
  12 +
  13 +export * from "./src/main/etc/bean"
@@ -5,12 +5,12 @@ import { LoginViewModel } from './LoginViewModel' @@ -5,12 +5,12 @@ import { LoginViewModel } from './LoginViewModel'
5 import { LoginInputComponent } from './LoginInputComponent' 5 import { LoginInputComponent } from './LoginInputComponent'
6 import { WDRouterPage } from 'wdRouter/src/main/ets/router/WDRouterPage'; 6 import { WDRouterPage } from 'wdRouter/src/main/ets/router/WDRouterPage';
7 import { WDRouterRule } from 'wdRouter/src/main/ets/router/WDRouterRule'; 7 import { WDRouterRule } from 'wdRouter/src/main/ets/router/WDRouterRule';
8 -import { Params } from '../../../../../../../commons/wdRouter/oh_modules/wdBean/src/main/ets/bean/content/Params'  
9 -import {InterestsHobbiesModel} from '../../../../../../../products/phone/src/main/ets/pages/viewModel/InterestsHobbiesModel' 8 +import {InterestsHobbiesModel} from '../../bean/InterestsHobbiesModel'
10 import { TrackingPageBrowse, TrackConstants, TrackingButton, ParamType, Tracking } from 'wdTracking/Index' 9 import { TrackingPageBrowse, TrackConstants, TrackingButton, ParamType, Tracking } from 'wdTracking/Index'
11 import { window } from '@kit.ArkUI'; 10 import { window } from '@kit.ArkUI';
12 import { BusinessError } from '@kit.BasicServicesKit'; 11 import { BusinessError } from '@kit.BasicServicesKit';
13 import { common } from '@kit.AbilityKit' 12 import { common } from '@kit.AbilityKit'
  13 +import { Params } from 'wdBean'
14 14
15 @Extend(Row) 15 @Extend(Row)
16 function otherStyle() { 16 function otherStyle() {
@@ -5,7 +5,7 @@ import HuaweiAuth from '../../utils/HuaweiAuth' @@ -5,7 +5,7 @@ import HuaweiAuth from '../../utils/HuaweiAuth'
5 import { BusinessError } from '@kit.BasicServicesKit' 5 import { BusinessError } from '@kit.BasicServicesKit'
6 import { Logger, ToastUtils, CustomToast, EmitterUtils, EmitterEventId } from 'wdKit/Index' 6 import { Logger, ToastUtils, CustomToast, EmitterUtils, EmitterEventId } from 'wdKit/Index'
7 import { LoginViewModel } from './LoginViewModel' 7 import { LoginViewModel } from './LoginViewModel'
8 -import {InterestsHobbiesModel} from '../../../../../../../products/phone/src/main/ets/pages/viewModel/InterestsHobbiesModel' 8 +import {InterestsHobbiesModel} from '../../bean/InterestsHobbiesModel'
9 import { TrackConstants, TrackingButton, TrackingPageBrowse } from 'wdTracking/Index' 9 import { TrackConstants, TrackingButton, TrackingPageBrowse } from 'wdTracking/Index'
10 import { loginComponentManager, LoginWithHuaweiIDButton } from '@kit.AccountKit' 10 import { loginComponentManager, LoginWithHuaweiIDButton } from '@kit.AccountKit'
11 import { JSON } from '@kit.ArkTS' 11 import { JSON } from '@kit.ArkTS'
1 -import {InterestsHobbiesModel, InterestsList} from '../viewModel/InterestsHobbiesModel' 1 +import {InterestsHobbiesModel, InterestsList} from 'wdLogin/src/main/ets/bean/InterestsHobbiesModel'
2 import { WDRouterRule } from 'wdRouter'; 2 import { WDRouterRule } from 'wdRouter';
3 import { WDRouterPage } from 'wdRouter'; 3 import { WDRouterPage } from 'wdRouter';
4 import { NetworkUtil, SPHelper } from 'wdKit/Index'; 4 import { NetworkUtil, SPHelper } from 'wdKit/Index';
@@ -252,16 +252,18 @@ export class StartupManager { @@ -252,16 +252,18 @@ export class StartupManager {
252 252
253 private dealWithDeepLink(want: Want): boolean { 253 private dealWithDeepLink(want: Want): boolean {
254 254
255 - if (!want.parameters) {  
256 - return false 255 + // H5换端地址
  256 + let innerLink = want["uri"] as string
  257 + if (innerLink && innerLink.length) {
  258 + return AppInnerLink.jumpWithLink(innerLink)
257 } 259 }
258 260
259 - let deepLink = want.parameters[NewspaperWidgetCommon.JumpParam.DeepLinkKey] as string  
260 -  
261 - if (deepLink && deepLink.length) {  
262 -  
263 - AppInnerLink.jumpWithLink(deepLink)  
264 - return true 261 + if (want.parameters) {
  262 + // 桌面组件换端
  263 + let deepLink = want.parameters[NewspaperWidgetCommon.JumpParam.DeepLinkKey] as string
  264 + if (deepLink && deepLink.length) {
  265 + return AppInnerLink.jumpWithLink(deepLink)
  266 + }
265 } 267 }
266 return false 268 return false
267 } 269 }
@@ -29,7 +29,7 @@ @@ -29,7 +29,7 @@
29 "audioPlayback" 29 "audioPlayback"
30 ], 30 ],
31 "skills": [ 31 "skills": [
32 - { 32 + { // App Linking 跳转
33 "entities": [ 33 "entities": [
34 "entity.system.browsable" 34 "entity.system.browsable"
35 ], 35 ],
@@ -37,11 +37,6 @@ @@ -37,11 +37,6 @@
37 "ohos.want.action.viewData" 37 "ohos.want.action.viewData"
38 ], 38 ],
39 "uris": [ 39 "uris": [
40 - // { // 之前的 推送配置  
41 - // "scheme": 'rmrbapp',  
42 - // "host": 'rmrb.app',  
43 - // 'port': '8080',  
44 - // "path": 'openwith'}  
45 { 40 {
46 "scheme": "https", 41 "scheme": "https",
47 "host": "pd-people-uat.pdnews.cn", 42 "host": "pd-people-uat.pdnews.cn",
@@ -145,39 +140,39 @@ @@ -145,39 +140,39 @@
145 ], 140 ],
146 "domainVerify": true 141 "domainVerify": true
147 }, 142 },
148 - { 143 + { // 默认的
149 "entities": [ 144 "entities": [
150 "entity.system.home", 145 "entity.system.home",
151 ], 146 ],
152 "actions": [ 147 "actions": [
153 - "com.test.pushaction",  
154 "action.system.home", 148 "action.system.home",
155 ], 149 ],
156 150
157 }, 151 },
158 - {"uris": [  
159 - { // 推送配置 - (播控中心共用)  
160 - "scheme": 'rmrbapp',  
161 - "host": 'rmrb.app',  
162 - 'port': '8080',  
163 - "path": 'openwith'  
164 - },  
165 - { // 普通配置 - 暂时无法跳转 - ?? 152 + { // H5换端
  153 + "actions": [
  154 + "ohos.want.action.viewData"
  155 + ],
  156 + "uris": [
  157 + {
166 "scheme": "rmrbapp", 158 "scheme": "rmrbapp",
167 "host": "rmrb.app", 159 "host": "rmrb.app",
168 "path": "openwith" 160 "path": "openwith"
169 }, 161 },
170 - // { // 分享用 - 正式环境地址  
171 - // "scheme": "https",  
172 - // "host": "www.peopleapp.com",  
173 - // "pathStartWith": "column"  
174 - // },  
175 - // { // 分享用 - 测试环境地址  
176 - // "scheme": "https",  
177 - // "host": "pd-people-uat.pdnews.cn",  
178 - //// "pathStartWith": "column"  
179 - // }  
180 - ]} 162 + ]},
  163 + { // 推送
  164 + "actions": [
  165 + "com.test.pushaction"
  166 + ],
  167 + "uris": [
  168 + {
  169 + "scheme": 'rmrbapp',
  170 + "host": 'rmrb.app',
  171 + 'port': '8080',
  172 + "path": 'openwith'
  173 + }
  174 + ]
  175 + },
181 ] 176 ]
182 } 177 }
183 ], 178 ],