From c75bb9226a903a720a7c3ad4e33824341f43d0c3 Mon Sep 17 00:00:00 2001 From: jinzhao Date: Wed, 30 Oct 2024 14:23:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Ehttps=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E8=AF=81=E4=B9=A6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: jinzhao --- entry/src/main/ets/pages/SingleImage.ets | 4 +++- library/src/main/ets/ImageKnifeDispatcher.ets | 3 ++- library/src/main/ets/ImageKnifeLoader.ets | 1 + library/src/main/ets/model/ImageKnifeData.ets | 1 + library/src/main/ets/model/ImageKnifeOption.ets | 10 ++++++++-- 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/entry/src/main/ets/pages/SingleImage.ets b/entry/src/main/ets/pages/SingleImage.ets index 1c2c8af..c1d51e6 100644 --- a/entry/src/main/ets/pages/SingleImage.ets +++ b/entry/src/main/ets/pages/SingleImage.ets @@ -76,7 +76,9 @@ struct SingleImage { placeholderSrc: $r("app.media.loading"), errorholderSrc: $r("app.media.failed"), objectFit: ImageFit.Contain, - progressListener:(progress:number)=>{console.info("ImageKnife:: call back progress = " + progress)} + progressListener:(progress:number)=>{console.info("ImageKnife:: call back progress = " + progress)}, + // 通过https协议进行连接时,默认使用系统预设CA证书。若希望使用自定义证书进行https连接,则需要将自定义证书上传至应用沙箱目录中,并在caPath中指定该证书所在的应用沙箱路径 + // caPath: "/data/storage/el1/bundle/ca.pem", } }).width(100).height(100) Text($r('app.string.Custom_network_download')) diff --git a/library/src/main/ets/ImageKnifeDispatcher.ets b/library/src/main/ets/ImageKnifeDispatcher.ets index 914882e..4b27b9b 100644 --- a/library/src/main/ets/ImageKnifeDispatcher.ets +++ b/library/src/main/ets/ImageKnifeDispatcher.ets @@ -254,7 +254,8 @@ export class ImageKnifeDispatcher { fileCacheFolder: ImageKnife.getInstance().getFileCache()?.getCacheFolder(), isAnimator:isAnimator, moduleName: moduleName == "" ? undefined : moduleName, - resName: resName == "" ? undefined : resName + resName: resName == "" ? undefined : resName, + caPath: currentRequest.imageKnifeOption.caPath, } if(request.customGetImage == undefined) { diff --git a/library/src/main/ets/ImageKnifeLoader.ets b/library/src/main/ets/ImageKnifeLoader.ets index 6c359a9..3ef64c4 100644 --- a/library/src/main/ets/ImageKnifeLoader.ets +++ b/library/src/main/ets/ImageKnifeLoader.ets @@ -454,6 +454,7 @@ export class ImageKnifeLoader { readTimeout: 0, // usingProtocol:http.HttpProtocol.HTTP1_1 // header: new Header('application/json') + caPath: request.caPath === undefined ? undefined : request.caPath, }); promise.then((data: number) => { diff --git a/library/src/main/ets/model/ImageKnifeData.ets b/library/src/main/ets/model/ImageKnifeData.ets index fa96255..ba94e76 100644 --- a/library/src/main/ets/model/ImageKnifeData.ets +++ b/library/src/main/ets/model/ImageKnifeData.ets @@ -146,5 +146,6 @@ export interface RequestJobRequest { isAnimator?: boolean, moduleName?:string, resName?: string + caPath?: string, } diff --git a/library/src/main/ets/model/ImageKnifeOption.ets b/library/src/main/ets/model/ImageKnifeOption.ets index ffab2ba..4bc96b5 100644 --- a/library/src/main/ets/model/ImageKnifeOption.ets +++ b/library/src/main/ets/model/ImageKnifeOption.ets @@ -44,6 +44,10 @@ export class AnimatorOption { onRepeat?:()=>void } +interface ImageOption { + // 自定义证书路径 + caPath?: string, +} @Observed export class ImageKnifeOption { // 主图资源 @@ -74,8 +78,10 @@ export class ImageKnifeOption { onLoadListener?: OnLoadCallBack | undefined; onComplete?:(event:EventImage | undefined) => void drawingColorFilter?: ColorFilter | drawing.ColorFilter - constructor() { - + // 自定义证书路径 + caPath?: string + constructor(option?:ImageOption) { + this.caPath = option?.caPath } }