diff --git a/CHANGELOG.md b/CHANGELOG.md index 89ec477..aad4420 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 3.2.0-rc.6 +- LogUtil adds switch +- ImageKnifeOption adds network request timeout parameter + ## 3.2.0-rc.5 - Enhance: ImageFit.Auto support adaptive height after component width change - Fix bug: call onLoadStart 2 times(import from 3.2.0-rc.0) diff --git a/README_zh.md b/README_zh.md index 8032d64..a04ad4f 100644 --- a/README_zh.md +++ b/README_zh.md @@ -377,7 +377,9 @@ async function custom(context: Context, src: string | PixelMap | Resource,header | onComplete | (event:EventImage、undefined) => void | 图片成功回调事件(可选) | | onLoadListener | onLoadStart?: (req?: ImageKnifeRequest) => void,onLoadSuccess?: (data: string \| PixelMap \| undefined, imageData: ImageKnifeData, req?: ImageKnifeRequest) => void,onLoadFailed?: (err: string, req?: ImageKnifeRequest) => void,onLoadCancel?: (res: string, req?: ImageKnifeRequest) => void | 监听图片加载成功与失败 | | downsampleOf | DownsampleStrategy | 降采样(可选) | - +| connectTimeout | number | 连接超时时间(可选) | +| readTimeout | number | 读取超时时间(可选) | +| caPath | string | 协议证书(可选) | ### 降采样类型 | 类型 | 相关描述 | |------------------------|-------------------| diff --git a/library/oh-package.json5 b/library/oh-package.json5 index 428e958..b1c00f6 100644 --- a/library/oh-package.json5 +++ b/library/oh-package.json5 @@ -14,7 +14,7 @@ "main": "index.ets", "repository": "https://gitee.com/openharmony-tpc/ImageKnife", "type": "module", - "version": "3.2.0-rc.5", + "version": "3.2.0-rc.6", "dependencies": { "@ohos/gpu_transform": "^1.0.2" }, diff --git a/library/src/main/ets/ImageKnifeDispatcher.ets b/library/src/main/ets/ImageKnifeDispatcher.ets index 4de0eb2..97c9e3a 100644 --- a/library/src/main/ets/ImageKnifeDispatcher.ets +++ b/library/src/main/ets/ImageKnifeDispatcher.ets @@ -251,7 +251,9 @@ export class ImageKnifeDispatcher { downsampType: currentRequest.imageKnifeOption.downsampleOf == undefined ? DownsampleStrategy.DEFAULT : currentRequest.imageKnifeOption.downsampleOf, isAutoImageFit: currentRequest.imageKnifeOption.objectFit == ImageFit.Auto, componentId: currentRequest.componentId, - componentVersion: currentRequest.componentVersion + componentVersion: currentRequest.componentVersion, + connectTimeout: currentRequest.imageKnifeOption.connectTimeout, + readTimeout: currentRequest.imageKnifeOption.readTimeout } if(request.customGetImage == undefined) { @@ -361,10 +363,10 @@ export class ImageKnifeDispatcher { let pixelmap = requestJobResult.pixelMap; if (pixelmap === undefined) { - LogUtil.error('getAndShowImage_CallBack.pixelmap failed:' + currentRequest.componentId + ',srcType:' + requestSource + ',version:' + currentRequest.componentVersion + " error: " + requestJobResult.loadFail) + this.executingJobMap.remove(memoryKey); requestList.forEach((requestWithSource: ImageKnifeRequestWithSource) => { requestWithSource.request.requestState = ImageKnifeRequestState.ERROR - this.executingJobMap.remove(memoryKey); + LogUtil.error('getAndShowImage_CallBack.pixelmap failed:' + currentRequest.componentId + ',srcType:' + requestSource + ',version:' + currentRequest.componentVersion + " error: " + requestJobResult.loadFail) // 回调请求失败 if (requestWithSource.source === ImageKnifeRequestSource.SRC && requestWithSource.request.imageKnifeOption.onLoadListener?.onLoadFailed !== undefined && diff --git a/library/src/main/ets/ImageKnifeLoader.ets b/library/src/main/ets/ImageKnifeLoader.ets index d520784..f85d655 100644 --- a/library/src/main/ets/ImageKnifeLoader.ets +++ b/library/src/main/ets/ImageKnifeLoader.ets @@ -525,8 +525,8 @@ export class ImageKnifeLoader { header: headerObj, method: http.RequestMethod.GET, expectDataType: http.HttpDataType.ARRAY_BUFFER, - connectTimeout: 60000, - readTimeout: 30000, + connectTimeout: request.connectTimeout == undefined ? 60000 : request.connectTimeout, + readTimeout: request.readTimeout == undefined ? 30000 : request.readTimeout, // usingProtocol:http.HttpProtocol.HTTP1_1 // header: new Header('application/json') caPath: request.caPath === undefined ? undefined : request.caPath, diff --git a/library/src/main/ets/model/ImageKnifeData.ets b/library/src/main/ets/model/ImageKnifeData.ets index bddfbe4..93b1e17 100644 --- a/library/src/main/ets/model/ImageKnifeData.ets +++ b/library/src/main/ets/model/ImageKnifeData.ets @@ -154,5 +154,7 @@ export interface RequestJobRequest { isAutoImageFit: boolean, componentId?: number, componentVersion?: number + connectTimeout?: number + readTimeout?: number } diff --git a/library/src/main/ets/model/ImageKnifeOption.ets b/library/src/main/ets/model/ImageKnifeOption.ets index 9e9b100..8b49b85 100644 --- a/library/src/main/ets/model/ImageKnifeOption.ets +++ b/library/src/main/ets/model/ImageKnifeOption.ets @@ -82,6 +82,8 @@ export class ImageKnifeOption { downsampleOf?: DownsampleStrategy // 降采样 // 自定义证书路径 caPath?: string + connectTimeout?: number + readTimeout?: number constructor() { } diff --git a/library/src/main/ets/utils/LogUtil.ets b/library/src/main/ets/utils/LogUtil.ets index 7c802a2..b17231b 100644 --- a/library/src/main/ets/utils/LogUtil.ets +++ b/library/src/main/ets/utils/LogUtil.ets @@ -17,17 +17,25 @@ import { hilog } from '@kit.PerformanceAnalysisKit'; export class LogUtil { public static readonly DOMAIN: number = 0xD002220; public static readonly TAG: string = 'ImageKnife::'; - + public static ON: number = 1 + public static OFF: number = 2 + public static mLogLevel:number = LogUtil.ON public static debug(message: string, ...args: Object[]) { - hilog.debug(LogUtil.DOMAIN, LogUtil.TAG, message, args) + if (LogUtil.mLogLevel == LogUtil.ON) { + hilog.debug(LogUtil.DOMAIN, LogUtil.TAG, message, args) + } } public static info(message: string, ...args: Object[]) { - hilog.info(LogUtil.DOMAIN, LogUtil.TAG, message, args) + if (LogUtil.mLogLevel == LogUtil.ON) { + hilog.info(LogUtil.DOMAIN, LogUtil.TAG, message, args) + } } public static log(message: string, ...args: Object[]) { - hilog.debug(LogUtil.DOMAIN, LogUtil.TAG, message, args) + if (LogUtil.mLogLevel == LogUtil.ON) { + hilog.debug(LogUtil.DOMAIN, LogUtil.TAG, message, args) + } } public static warn(message: string, ...args: Object[]) {