Toggle navigation
Toggle navigation
This project
Loading...
Sign in
developOne
/
harmonyPool
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
xugenyuan
2024-07-22 17:13:23 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
1f5d905b704a4137fa7b15e00540b4ec46f5be67
1f5d905b
1 parent
51cbe326
ref |> 优化App内链处理方法
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
20 additions
and
19 deletions
sight_harmony/commons/wdRouter/Index.ets
sight_harmony/features/wdShare/src/main/ets/utils/DeepLinkUtil.ets → sight_harmony/commons/wdRouter/src/main/ets/utils/AppInnerLinkGenerator.ets
sight_harmony/features/wdShare/Index.ets
sight_harmony/features/wdShare/src/main/ets/WDShare.ets
sight_harmony/products/phone/src/main/ets/dailynewspaperformability/NewspaperDataFetcher.ets
sight_harmony/commons/wdRouter/Index.ets
View file @
1f5d905
...
...
@@ -16,4 +16,6 @@ export { RouterJumpInterceptor, JumpInterceptorAction } from './src/main/ets/rou
export { AppInnerLink } from './src/main/ets/utils/AppInnerLink'
export { ContentType } from './src/main/ets/common/ContentType'
\ No newline at end of file
export { ContentType } from './src/main/ets/common/ContentType'
export { AppInnerLinkGenerator } from "./src/main/ets/utils/AppInnerLinkGenerator"
\ No newline at end of file
...
...
sight_harmony/
features/wdShare/src/main/ets/utils/DeepLinkUtil
.ets → sight_harmony/
commons/wdRouter/src/main/ets/utils/AppInnerLinkGenerator
.ets
View file @
1f5d905
import { ContentDetailDTO, ContentDTO, FrontLinkObject } from 'wdBean/Index';
import { BreakpointSystem } from 'wdKit/Index';
import { ContentType } from 'wdRouter/Index';
import { ContentType } from '../common/ContentType';
export class
DeepLinkUtil
{
export class
AppInnerLinkGenerator
{
private static DEEP_LINK_PREFIX = "rmrbapp://rmrb.app/openwith"
static generateDeepLinkWithConent(content: ContentDetailDTO): string {
return
DeepLinkUtil
.generate(content.newsType, content.newsId +'', content.reLInfo?.relId, content.newsLinkUrl)
return
AppInnerLinkGenerator
.generate(content.newsType, content.newsId +'', content.reLInfo?.relId, content.newsLinkUrl)
}
static generateDeepLinkWithProgram(content: ContentDTO) {
return
DeepLinkUtil
.generate(Number(content.objectType), content.objectId +'', content.relId, content.linkUrl)
return
AppInnerLinkGenerator
.generate(Number(content.objectType), content.objectId +'', content.relId, content.linkUrl)
}
static generateDeepLinkWithFrontObjectLink(content: FrontLinkObject) {
return
DeepLinkUtil
.generate(Number(content.newsType), content.newsId +'', content.newsRelId + '', content.linkUrl)
return
AppInnerLinkGenerator
.generate(Number(content.newsType), content.newsId +'', content.newsRelId + '', content.linkUrl)
}
private static generate(contentType: number, contentId?: string, relId?: string, link?: string): string {
let deeplink =
DeepLinkUtil
.DEEP_LINK_PREFIX
let deeplink =
AppInnerLinkGenerator
.DEEP_LINK_PREFIX
let pubParam = `&contentId=${contentId}&relId=${relId}&skipType=1`
...
...
sight_harmony/features/wdShare/Index.ets
View file @
1f5d905
export { WDShare } from './src/main/ets/WDShare'
export { DeepLinkUtil } from "./src/main/ets/utils/DeepLinkUtil"
\ No newline at end of file
export { WDShare } from './src/main/ets/WDShare'
\ No newline at end of file
...
...
sight_harmony/features/wdShare/src/main/ets/WDShare.ets
View file @
1f5d905
...
...
@@ -2,7 +2,10 @@ import { ContentDetailDTO, ContentDTO, PageInfoDTO, ShareInfoDTO, TopicInfo } fr
import { SharePosterItemBean } from 'wdBean/src/main/ets/bean/detail/SharePosterItemBean';
import { ShareScene, ShareType, WDShareBase } from 'wdShareBase/Index';
import { ShareContentType } from 'wdShareBase/src/main/ets/Constant';
import { DeepLinkUtil } from './utils/DeepLinkUtil';
import { bundleManager } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { AppInnerLinkGenerator } from 'wdRouter';
export class WDShare {
...
...
@@ -18,7 +21,7 @@ export class WDShare {
title: content.shareInfo.shareTitle,
desc: content.shareInfo.shareSummary,
link: content.shareInfo.shareUrl,
deeplink:
DeepLinkUtil
.generateDeepLinkWithConent(content),
deeplink:
AppInnerLinkGenerator
.generateDeepLinkWithConent(content),
}
})
}
...
...
@@ -34,7 +37,7 @@ export class WDShare {
title: program.shareInfo.shareTitle,
desc: program.shareInfo.shareSummary,
link: program.shareInfo.shareUrl,
deeplink:
DeepLinkUtil
.generateDeepLinkWithProgram(program),
deeplink:
AppInnerLinkGenerator
.generateDeepLinkWithProgram(program),
}
})
}
...
...
sight_harmony/products/phone/src/main/ets/dailynewspaperformability/NewspaperDataFetcher.ets
View file @
1f5d905
import { CompInfoBean, ContentDTO, PageInfoBean } from 'wdBean/Index';
import { MorningEveningViewModel } from 'wdComponent/Index';
import { CrptoUtils, FileUtils, Logger } from 'wdKit/Index';
import { HttpUrlUtils, ResponseDTO, WDHttp } from 'wdNetwork/Index';
import { DeepLinkUtil } from 'wdShare/Index'
import { FormNewspaperPaperType, FormNewspaperPaperInfo, FormNewspaperPaperContent,
import { FormNewspaperPaperType, FormNewspaperPaperContent,
FormNewspaperData } from "../dailynewspaperwidget/common/NewspaperWidgetData"
import { http } from '@kit.NetworkKit';
import fs from '@ohos.file.fs';
import { BusinessError } from '@kit.BasicServicesKit';
import { JSON } from '@kit.ArkTS';
import { AppInnerLinkGenerator } from 'wdRouter';
const TAG = "NewspaperDataFetcher"
...
...
@@ -38,7 +37,7 @@ export class NewspaperDataFetcher {
data.paperInfo.showLeftImage = true
data.paperInfo.leftImageUrl = page.topicInfo.frontLinkObject.coverUrl
data.paperInfo.leftTitle = page.topicInfo.frontLinkObject.title
data.paperInfo.leftDeepLink =
DeepLinkUtil
.generateDeepLinkWithFrontObjectLink(page.topicInfo.frontLinkObject)
data.paperInfo.leftDeepLink =
AppInnerLinkGenerator
.generateDeepLinkWithFrontObjectLink(page.topicInfo.frontLinkObject)
}
let contents: ContentDTO[] = compInfo.compList[0].operDataList as ContentDTO[]
...
...
@@ -47,7 +46,7 @@ export class NewspaperDataFetcher {
let content : FormNewspaperPaperContent = {
title: contentDTO.newsTitle,
coverUrl: contentDTO.coverUrl,
deepLink:
DeepLinkUtil
.generateDeepLinkWithProgram(contentDTO)
deepLink:
AppInnerLinkGenerator
.generateDeepLinkWithProgram(contentDTO)
}
return content
})
...
...
Please
register
or
login
to post a comment