|
|
|
@ -157,10 +157,21 @@ export class ImageKnifeDispatcher {
|
|
|
|
|
isWatchProgress = true
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
let src: string | number = ""
|
|
|
|
|
let moduleName: string = ""
|
|
|
|
|
let resName: string = ""
|
|
|
|
|
if((imageSrc as Resource).id != undefined) {
|
|
|
|
|
moduleName = (imageSrc as Resource).moduleName
|
|
|
|
|
src = (imageSrc as Resource).id
|
|
|
|
|
if(src == -1) {
|
|
|
|
|
resName = (imageSrc as Resource).params![0]
|
|
|
|
|
}
|
|
|
|
|
} else if(typeof imageSrc == "string") {
|
|
|
|
|
src = imageSrc
|
|
|
|
|
}
|
|
|
|
|
let request: RequestJobRequest = {
|
|
|
|
|
context: currentRequest.context,
|
|
|
|
|
src: imageSrc,
|
|
|
|
|
src: src,
|
|
|
|
|
headers: currentRequest.imageKnifeOption.headerOption,
|
|
|
|
|
allHeaders: currentRequest.headers,
|
|
|
|
|
componentWidth:currentRequest.componentWidth,
|
|
|
|
@ -176,7 +187,9 @@ export class ImageKnifeDispatcher {
|
|
|
|
|
isWatchProgress: isWatchProgress,
|
|
|
|
|
memoryKey: memoryKey,
|
|
|
|
|
fileCacheFolder: ImageKnife.getInstance().getFileCache()?.getCacheFolder(),
|
|
|
|
|
isAnimator:isAnimator
|
|
|
|
|
isAnimator:isAnimator,
|
|
|
|
|
moduleName: moduleName == "" ? undefined : moduleName,
|
|
|
|
|
resName: resName == "" ? undefined : resName
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(request.customGetImage == undefined) {
|
|
|
|
@ -391,12 +404,12 @@ async function requestJob(request: RequestJobRequest, requestList?: List<ImageKn
|
|
|
|
|
receiveSize: number = 2000
|
|
|
|
|
totalSize: number = 2000
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let src = typeof request.src == "number" ? request.resName != undefined ? request.resName : request.src + "" : request.src
|
|
|
|
|
// 生成文件key
|
|
|
|
|
let fileKey = request.engineKey.generateFileKey(request.src, request.signature,request.isAnimator)
|
|
|
|
|
let fileKey = request.engineKey.generateFileKey(src, request.signature,request.isAnimator)
|
|
|
|
|
|
|
|
|
|
// 判断自定义下载
|
|
|
|
|
if (request.customGetImage !== undefined && request.requestSource == ImageKnifeRequestSource.SRC) {
|
|
|
|
|
if (request.customGetImage !== undefined && request.requestSource == ImageKnifeRequestSource.SRC && typeof request.src == "string") {
|
|
|
|
|
// 先从文件缓存获取
|
|
|
|
|
resBuf = FileCache.getFileCacheByFile(request.context, fileKey , request.fileCacheFolder)
|
|
|
|
|
if (resBuf === undefined) {
|
|
|
|
@ -524,22 +537,21 @@ async function requestJob(request: RequestJobRequest, requestList?: List<ImageKn
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else if ((request.src as Resource).id !== undefined) { //从资源文件获取
|
|
|
|
|
let res = request.src as Resource;
|
|
|
|
|
let manager = request.context.createModuleContext(res.moduleName).resourceManager
|
|
|
|
|
} else if (typeof request.src == "number") { //从资源文件获取
|
|
|
|
|
let manager = request.context.createModuleContext(request.moduleName).resourceManager
|
|
|
|
|
if (resBuf == undefined && request.onlyRetrieveFromCache != true && request.requestSource == ImageKnifeRequestSource.SRC) {
|
|
|
|
|
if(res.id == -1) {
|
|
|
|
|
let resName = (res.params![0] as string)
|
|
|
|
|
if(request.src == -1) {
|
|
|
|
|
let resName = request.resName as string
|
|
|
|
|
resBuf = (await manager.getMediaByName(resName.substring(10))).buffer as ArrayBuffer
|
|
|
|
|
} else {
|
|
|
|
|
resBuf = manager.getMediaContentSync(res.id).buffer as ArrayBuffer
|
|
|
|
|
resBuf = manager.getMediaContentSync(request.src).buffer as ArrayBuffer
|
|
|
|
|
}
|
|
|
|
|
} else if (resBuf == undefined && request.requestSource != ImageKnifeRequestSource.SRC) {
|
|
|
|
|
if(res.id == -1) {
|
|
|
|
|
let resName = (res.params![0] as string)
|
|
|
|
|
if(request.src == -1) {
|
|
|
|
|
let resName = request.resName as string
|
|
|
|
|
resBuf = (await manager.getMediaByName(resName.substring(10))).buffer as ArrayBuffer
|
|
|
|
|
} else {
|
|
|
|
|
resBuf = manager.getMediaContentSync(res.id).buffer as ArrayBuffer
|
|
|
|
|
resBuf = manager.getMediaContentSync(request.src).buffer as ArrayBuffer
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|