新增reload加载接口和网络恢复重新加载样例

Signed-off-by: zgf <zenggaofeng2@h-partners.com>
This commit is contained in:
zgf
2024-10-09 11:13:32 +08:00
parent 1787fffea7
commit aa2cd9c1bf
9 changed files with 126 additions and 19 deletions

View File

@@ -12,7 +12,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ImageKnifeRequest } from './model/ImageKnifeRequest';
import { ImageKnifeRequest, ImageKnifeRequestState } from './model/ImageKnifeRequest';
import { CacheStrategy, ImageKnifeData, ImageKnifeRequestSource } from './model/ImageKnifeData';
import { MemoryLruCache } from './cache/MemoryLruCache';
import { IMemoryCache } from './cache/IMemoryCache'
@@ -80,7 +80,15 @@ export class ImageKnife {
public isFileCacheInit(): boolean {
return this.fileCache === undefined ? false : this.fileCache.isFileCacheInit()
}
/**
* 重新加载
*/
reload(request: ImageKnifeRequest) {
if (request.requestState == ImageKnifeRequestState.ERROR) {
request.requestState = ImageKnifeRequestState.PROGRESS
ImageKnife.getInstance().execute(request)
}
}
/**
* 全局添加单个请求头header
* @param key 请求头属性

View File

@@ -260,7 +260,7 @@ export class ImageKnifeDispatcher {
if (requestWithSource.source === ImageKnifeRequestSource.SRC &&
requestWithSource.request.imageKnifeOption.onLoadListener?.onLoadFailed !== undefined &&
requestJobResult.loadFail) {
requestWithSource.request.imageKnifeOption.onLoadListener.onLoadFailed(requestJobResult.loadFail);
requestWithSource.request.imageKnifeOption.onLoadListener.onLoadFailed(requestJobResult.loadFail,requestWithSource.request);
LogUtil.log("ImageKnife_DataTime_getAndShowImage_onLoadFailed:"+currentRequest.imageKnifeOption.loadSrc)
}
if (requestWithSource.source === ImageKnifeRequestSource.SRC &&

View File

@@ -17,6 +17,7 @@ import common from '@ohos.app.ability.common'
import { CacheStrategy, ImageKnifeData,EventImage } from './ImageKnifeData';
import { PixelMapTransformation } from '../transform/PixelMapTransformation';
import { drawing } from '@kit.ArkGraphics2D';
import { ImageKnifeRequest } from './ImageKnifeRequest';
export interface HeaderOptions {
key: string;
@@ -89,7 +90,7 @@ export interface OnLoadCallBack {
onLoadSuccess?: (data: string | PixelMap | undefined, imageKnifeData: ImageKnifeData) => void;
// 请求结束
onLoadFailed?: (err: string) => void;
onLoadFailed?: (err: string,request?: ImageKnifeRequest) => void;
// 请求取消
onLoadCancel?: (reason: string) => void;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB