子线程本地Resource参数类型转换成number
Signed-off-by: zgf <zenggaofeng2@h-partners.com>
This commit is contained in:
parent
6612dea1d5
commit
7252a2fe05
|
@ -1,6 +1,7 @@
|
||||||
## 3.1.0-rc.3
|
## 3.1.0-rc.3
|
||||||
- 部分静态webp图片有delay属性导致识别成动图,改用getFrameCount识别
|
- 部分静态webp图片有delay属性导致识别成动图,改用getFrameCount识别
|
||||||
- 修复加载错误图后未去请求排队队列中的请求
|
- 修复加载错误图后未去请求排队队列中的请求
|
||||||
|
- 子线程本地Resource参数类型转换成number
|
||||||
|
|
||||||
## 3.1.0-rc.2
|
## 3.1.0-rc.2
|
||||||
- 修复宽高不等svg图片显示有毛边
|
- 修复宽高不等svg图片显示有毛边
|
||||||
|
|
|
@ -157,10 +157,21 @@ export class ImageKnifeDispatcher {
|
||||||
isWatchProgress = true
|
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 = {
|
let request: RequestJobRequest = {
|
||||||
context: currentRequest.context,
|
context: currentRequest.context,
|
||||||
src: imageSrc,
|
src: src,
|
||||||
headers: currentRequest.imageKnifeOption.headerOption,
|
headers: currentRequest.imageKnifeOption.headerOption,
|
||||||
allHeaders: currentRequest.headers,
|
allHeaders: currentRequest.headers,
|
||||||
componentWidth:currentRequest.componentWidth,
|
componentWidth:currentRequest.componentWidth,
|
||||||
|
@ -176,7 +187,9 @@ export class ImageKnifeDispatcher {
|
||||||
isWatchProgress: isWatchProgress,
|
isWatchProgress: isWatchProgress,
|
||||||
memoryKey: memoryKey,
|
memoryKey: memoryKey,
|
||||||
fileCacheFolder: ImageKnife.getInstance().getFileCache()?.getCacheFolder(),
|
fileCacheFolder: ImageKnife.getInstance().getFileCache()?.getCacheFolder(),
|
||||||
isAnimator:isAnimator
|
isAnimator:isAnimator,
|
||||||
|
moduleName: moduleName == "" ? undefined : moduleName,
|
||||||
|
resName: resName == "" ? undefined : resName
|
||||||
}
|
}
|
||||||
|
|
||||||
if(request.customGetImage == undefined) {
|
if(request.customGetImage == undefined) {
|
||||||
|
@ -391,12 +404,12 @@ async function requestJob(request: RequestJobRequest, requestList?: List<ImageKn
|
||||||
receiveSize: number = 2000
|
receiveSize: number = 2000
|
||||||
totalSize: number = 2000
|
totalSize: number = 2000
|
||||||
}
|
}
|
||||||
|
let src = typeof request.src == "number" ? request.resName != undefined ? request.resName : request.src + "" : request.src
|
||||||
// 生成文件key
|
// 生成文件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)
|
resBuf = FileCache.getFileCacheByFile(request.context, fileKey , request.fileCacheFolder)
|
||||||
if (resBuf === undefined) {
|
if (resBuf === undefined) {
|
||||||
|
@ -524,22 +537,21 @@ async function requestJob(request: RequestJobRequest, requestList?: List<ImageKn
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if ((request.src as Resource).id !== undefined) { //从资源文件获取
|
} else if (typeof request.src == "number") { //从资源文件获取
|
||||||
let res = request.src as Resource;
|
let manager = request.context.createModuleContext(request.moduleName).resourceManager
|
||||||
let manager = request.context.createModuleContext(res.moduleName).resourceManager
|
|
||||||
if (resBuf == undefined && request.onlyRetrieveFromCache != true && request.requestSource == ImageKnifeRequestSource.SRC) {
|
if (resBuf == undefined && request.onlyRetrieveFromCache != true && request.requestSource == ImageKnifeRequestSource.SRC) {
|
||||||
if(res.id == -1) {
|
if(request.src == -1) {
|
||||||
let resName = (res.params![0] as string)
|
let resName = request.resName as string
|
||||||
resBuf = (await manager.getMediaByName(resName.substring(10))).buffer as ArrayBuffer
|
resBuf = (await manager.getMediaByName(resName.substring(10))).buffer as ArrayBuffer
|
||||||
} else {
|
} 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) {
|
} else if (resBuf == undefined && request.requestSource != ImageKnifeRequestSource.SRC) {
|
||||||
if(res.id == -1) {
|
if(request.src == -1) {
|
||||||
let resName = (res.params![0] as string)
|
let resName = request.resName as string
|
||||||
resBuf = (await manager.getMediaByName(resName.substring(10))).buffer as ArrayBuffer
|
resBuf = (await manager.getMediaByName(resName.substring(10))).buffer as ArrayBuffer
|
||||||
} else {
|
} else {
|
||||||
resBuf = manager.getMediaContentSync(res.id).buffer as ArrayBuffer
|
resBuf = manager.getMediaContentSync(request.src).buffer as ArrayBuffer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,7 +86,7 @@ export interface RequestJobResult {
|
||||||
*/
|
*/
|
||||||
export interface RequestJobRequest {
|
export interface RequestJobRequest {
|
||||||
context: common.UIAbilityContext,
|
context: common.UIAbilityContext,
|
||||||
src: string | PixelMap | Resource,
|
src: string | number,
|
||||||
headers?: Array<HeaderOptions>,
|
headers?: Array<HeaderOptions>,
|
||||||
allHeaders: Map<string, Object>,
|
allHeaders: Map<string, Object>,
|
||||||
componentWidth: number,
|
componentWidth: number,
|
||||||
|
@ -101,6 +101,8 @@ export interface RequestJobRequest {
|
||||||
isWatchProgress: boolean
|
isWatchProgress: boolean
|
||||||
memoryKey: string
|
memoryKey: string
|
||||||
fileCacheFolder: string,
|
fileCacheFolder: string,
|
||||||
isAnimator?: boolean
|
isAnimator?: boolean,
|
||||||
|
moduleName?:string,
|
||||||
|
resName?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue