!442 增加日志开关和网络请求超时参数

Merge pull request !442 from zgf/master
This commit is contained in:
openharmony_ci 2024-12-09 02:56:01 +00:00 committed by Gitee
commit db78e56e9a
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
11 changed files with 39 additions and 17 deletions

View File

@ -1,3 +1,7 @@
## 3.2.0-rc.6
- Support LogUtil to turn off log
- Support set network request readTimeout and connectTimeout through ImageKnifeOption
## 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)

View File

@ -377,6 +377,7 @@ 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 | 降采样(可选) |
| httpOption | httpRequestOption | 网络请求配置(可选) |
### 降采样类型
| 类型 | 相关描述 |

View File

@ -30,6 +30,10 @@ struct LongImagePage {
//src:$r('app.media.aaa'),
placeholderSrc: $r('app.media.loading'),
errorholderSrc: $r('app.media.failed'),
httpOption: {
connectTimeout: 60000,
readTimeout: 60000
},
objectFit: ImageFit.Auto
}
})

View File

@ -18,7 +18,7 @@ export { ImageKnifeAnimatorComponent } from './src/main/ets/components/ImageKnif
export { ImageKnife } from './src/main/ets/ImageKnife'
export { ImageKnifeOption , AnimatorOption } from './src/main/ets/model/ImageKnifeOption'
export { ImageKnifeOption , AnimatorOption,httpRequestOption,HeaderOptions } from './src/main/ets/model/ImageKnifeOption'
export { ImageKnifeRequest } from './src/main/ets/model/ImageKnifeRequest'

View File

@ -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"
},

View File

@ -245,13 +245,15 @@ export class ImageKnifeDispatcher {
isAnimator:isAnimator,
moduleName: moduleName == '' ? undefined : moduleName,
resName: resName == '' ? undefined : resName,
caPath: currentRequest.imageKnifeOption.caPath,
caPath: currentRequest.imageKnifeOption.httpOption?.caPath,
targetWidth: currentRequest.componentWidth,
targetHeight: currentRequest.componentHeight,
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.httpOption?.connectTimeout,
readTimeout: currentRequest.imageKnifeOption.httpOption?.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 &&

View File

@ -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,

View File

@ -154,5 +154,7 @@ export interface RequestJobRequest {
isAutoImageFit: boolean,
componentId?: number,
componentVersion?: number
connectTimeout?: number
readTimeout?: number
}

View File

@ -45,9 +45,10 @@ export class AnimatorOption {
onRepeat?:()=>void
}
interface ImageOption {
// 自定义证书路径
caPath?: string,
export interface httpRequestOption {
caPath?: string // 自定义证书路径
connectTimeout?: number // 连接超时
readTimeout?: number // 读取超时
}
@Observed
export class ImageKnifeOption {
@ -81,7 +82,7 @@ export class ImageKnifeOption {
drawingColorFilter?: ColorFilter | drawing.ColorFilter
downsampleOf?: DownsampleStrategy // 降采样
// 自定义证书路径
caPath?: string
httpOption?: httpRequestOption
constructor() {
}

View File

@ -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: boolean = true
public static OFF: boolean = false
public static mLogLevel:boolean = 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[]) {

View File

@ -22,7 +22,7 @@ export { ImageKnifeComponent,ImageKnifeAnimatorComponent } from '@ohos/imageknif
export { ImageKnife } from '@ohos/imageknife'
export { ImageKnifeOption,AnimatorOption } from '@ohos/imageknife'
export { ImageKnifeOption,AnimatorOption,httpRequestOption,HeaderOptions } from '@ohos/imageknife'
export { DownsampleStrategy } from "@ohos/imageknife"