diff --git a/entry/src/main/ets/entryability/EntryAbility.ts b/entry/src/main/ets/entryability/EntryAbility.ts index af3922b..23b1c61 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ts +++ b/entry/src/main/ets/entryability/EntryAbility.ts @@ -15,7 +15,7 @@ import UIAbility from '@ohos.app.ability.UIAbility'; import hilog from '@ohos.hilog'; import window from '@ohos.window'; -import { ImageKnife,ImageKnifeDrawFactory,LogUtil } from '@ohos/imageknife' +import { ImageKnifeGlobal,ImageKnife,ImageKnifeDrawFactory,LogUtil } from '@ohos/imageknife' import { CustomEngineKeyImpl } from './CustomEngineKeyImpl' import abilityAccessCtrl,{Permissions} from '@ohos.abilityAccessCtrl'; @@ -44,12 +44,12 @@ export default class EntryAbility extends UIAbility { } hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); }); - - globalThis.ImageKnife = ImageKnife.with(this.context); + this.context.resourceManager + ImageKnife.with(this.context); // 全局配置网络加载进度条 - globalThis.ImageKnife.setDefaultLifeCycle(ImageKnifeDrawFactory.createProgressLifeCycle("#10a5ff", 0.5)) + ImageKnifeGlobal.getInstance().getImageKnife().setDefaultLifeCycle(ImageKnifeDrawFactory.createProgressLifeCycle("#10a5ff", 0.5)) // 全局配置缓存key - globalThis.ImageKnife.setEngineKeyImpl(new CustomEngineKeyImpl()) + ImageKnifeGlobal.getInstance().getImageKnife().setEngineKeyImpl(new CustomEngineKeyImpl()) //开启ImageKnife所有级别日志开关 LogUtil.mLogLevel = LogUtil.ALL } diff --git a/entry/src/main/ets/pages/basicTestFileIOPage.ets b/entry/src/main/ets/pages/basicTestFileIOPage.ets index 3f19ef8..d4a0019 100644 --- a/entry/src/main/ets/pages/basicTestFileIOPage.ets +++ b/entry/src/main/ets/pages/basicTestFileIOPage.ets @@ -13,7 +13,7 @@ * limitations under the License. */ -import { FileUtils } from '@ohos/imageknife' +import { FileUtils, ImageKnifeGlobal} from '@ohos/imageknife' import resourceManager from '@ohos.resourceManager'; @Entry @@ -41,7 +41,7 @@ struct basicTestFileIOPage { .margin({ top: 10 }) .onClick(() => { - let data = globalThis.ImageKnife.getImageKnifeContext().filesDir; + let data:string = (ImageKnifeGlobal.getInstance().getHapContext as Record).filesDir as string; console.log('ImageKnife filesPath = ' + data) this.filePath = data this.appFilePath = data; @@ -51,7 +51,7 @@ struct basicTestFileIOPage { .margin({ top: 10 }) .onClick(() => { - let data = globalThis.ImageKnife.getImageKnifeContext().cacheDir; + let data:string = (ImageKnifeGlobal.getInstance().getHapContext as Record).cacheDir as string; console.log('ImageKnife cachesPath = ' + data) this.filePath = data this.appFilePath = data; @@ -79,8 +79,8 @@ struct basicTestFileIOPage { this.appFilePath = 'appFilePath未取到值,请按顺序从上往下,从左往右依次测试' return } - globalThis.ImageKnife.getImageKnifeContext().resourceManager - .getMedia($r('app.media.gifSample').id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.gifSample').id) .then(data => { console.log('result.getMedia') console.log('basicTestFileIOPage - 本地加载资源 解析后数据data length= ' + data.byteLength) diff --git a/entry/src/main/ets/pages/basicTestMediaImage.ets b/entry/src/main/ets/pages/basicTestMediaImage.ets index c5400ec..f009c2f 100644 --- a/entry/src/main/ets/pages/basicTestMediaImage.ets +++ b/entry/src/main/ets/pages/basicTestMediaImage.ets @@ -18,6 +18,7 @@ import { FileTypeUtil } from '@ohos/imageknife' import resourceManager from '@ohos.resourceManager'; import { Base64 } from '@ohos/imageknife' import { ParseImageUtil } from '@ohos/imageknife' +import { ImageKnifeGlobal } from '@ohos/imageknife' @Entry @Component @@ -30,7 +31,8 @@ struct BasicTestMediaImage { Flex({ direction: FlexDirection.Row }) { Button('本地资源jpg') .onClick(() => { - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMedia($r('app.media.jpgSample').id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.jpgSample').id) .then(data => { let arrayBuffer = this.typedArrayToBuffer(data); let parseImageUtil = new ParseImageUtil(); @@ -45,7 +47,8 @@ struct BasicTestMediaImage { }).margin({ left: 15 }).backgroundColor(Color.Blue) Button('本地资源png') .onClick(() => { - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMedia($r('app.media.pngSample').id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.pngSample').id) .then(data => { let arrayBuffer = this.typedArrayToBuffer(data); let parseImageUtil = new ParseImageUtil(); @@ -60,7 +63,8 @@ struct BasicTestMediaImage { }).margin({ left: 15 }).backgroundColor(Color.Blue) Button('本地资源bmp') .onClick(() => { - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMedia($r('app.media.bmpSample').id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.bmpSample').id) .then(data => { let arrayBuffer = this.typedArrayToBuffer(data); let parseImageUtil = new ParseImageUtil(); @@ -75,7 +79,8 @@ struct BasicTestMediaImage { }).margin({ left: 15 }).backgroundColor(Color.Blue) Button('本地资源webp') .onClick(() => { - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMedia($r('app.media.jpgSample').id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.jpgSample').id) .then(data => { let arrayBuffer = this.typedArrayToBuffer(data); let parseImageUtil = new ParseImageUtil(); @@ -90,7 +95,8 @@ struct BasicTestMediaImage { }).margin({ left: 15 }).backgroundColor(Color.Blue) Button('本地资源gif') .onClick(() => { - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMedia($r('app.media.gifSample').id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.gifSample').id) .then(data => { let arrayBuffer = this.typedArrayToBuffer(data); let parseImageUtil = new ParseImageUtil(); diff --git a/entry/src/main/ets/pages/basicTestResourceManagerPage.ets b/entry/src/main/ets/pages/basicTestResourceManagerPage.ets index ce86ac9..f52af78 100644 --- a/entry/src/main/ets/pages/basicTestResourceManagerPage.ets +++ b/entry/src/main/ets/pages/basicTestResourceManagerPage.ets @@ -17,6 +17,7 @@ import {FileUtils} from '@ohos/imageknife' import {FileTypeUtil} from '@ohos/imageknife' import resourceManager from '@ohos.resourceManager'; import {Base64} from '@ohos/imageknife' +import {ImageKnifeGlobal} from '@ohos/imageknife' @Entry @Component @@ -31,8 +32,9 @@ struct BasicTestResourceManagerPage { Button('getMedia解析一张jpg图片') .margin({ top: 10 }) .onClick(() => { - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMedia($r('app.media.jpgSample') - .id,) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.jpgSample') + .id) .then(data => { console.log('basicTestFileIOPage - 本地加载资源 解析后数据data = ' + data) let arrayBuffer = this.typedArrayToBuffer(data); @@ -47,7 +49,8 @@ struct BasicTestResourceManagerPage { Button('getMediaBase64解析一张png图片') .margin({ top: 10 }) .onClick(() => { - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMediaBase64($r('app.media.pngSample') + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContentBase64($r('app.media.pngSample') .id) .then(data => { console.log('ParseResClientBase64 - 本地加载资源 解析后数据data') diff --git a/entry/src/main/ets/pages/compressPage.ets b/entry/src/main/ets/pages/compressPage.ets index 00e6d97..e9db808 100644 --- a/entry/src/main/ets/pages/compressPage.ets +++ b/entry/src/main/ets/pages/compressPage.ets @@ -15,6 +15,7 @@ import {ImageKnife} from '@ohos/imageknife' import {OnRenameListener} from '@ohos/imageknife' import {OnCompressListener} from '@ohos/imageknife' +import {ImageKnifeGlobal} from '@ohos/imageknife' @Entry @Component @@ -94,7 +95,7 @@ struct CompressPage { data.push($r('app.media.jpgSample')) console.info("asasd start compress") - globalThis.ImageKnife + (ImageKnifeGlobal.getInstance().getImageKnife()) .compressBuilder() .load(data) .ignoreBy(100) @@ -135,7 +136,7 @@ struct CompressPage { } console.info("asasd start compress") - globalThis.ImageKnife + (ImageKnifeGlobal.getInstance().getImageKnife()) .compressBuilder() .load(data) .ignoreBy(100) diff --git a/entry/src/main/ets/pages/cropImagePage2.ets b/entry/src/main/ets/pages/cropImagePage2.ets index a273999..c65273b 100644 --- a/entry/src/main/ets/pages/cropImagePage2.ets +++ b/entry/src/main/ets/pages/cropImagePage2.ets @@ -20,6 +20,7 @@ import { RecourseProvider } from '@ohos/imageknife' import { PixelMapCrop } from '@ohos/imageknife' import { CropCallback } from '@ohos/imageknife' import { FileUtils } from '@ohos/imageknife' +import { ImageKnifeGlobal } from '@ohos/imageknife' @@ -41,7 +42,8 @@ export struct CropImagePage2 { Column() { Button('点击解析图片') .onClick(() => { - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMedia($r('app.media.bmpSample').id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.bmpSample').id) .then(data => { let arrayBuffer = FileUtils.getInstance().uint8ArrayToBuffer(data); let optionx = new PixelMapCrop.Options(); diff --git a/entry/src/main/ets/pages/gifTestCasePage.ets b/entry/src/main/ets/pages/gifTestCasePage.ets index 04cf4cc..854f394 100644 --- a/entry/src/main/ets/pages/gifTestCasePage.ets +++ b/entry/src/main/ets/pages/gifTestCasePage.ets @@ -13,6 +13,7 @@ * limitations under the License. */ import {GIFParseImpl} from '@ohos/imageknife' +import {ImageKnifeGlobal} from '@ohos/imageknife' import ArkWorker from '@ohos.worker' import worker from '@ohos.worker'; @Entry @@ -28,7 +29,8 @@ struct gifTestCasePage { Flex({direction:FlexDirection.Row}){ Button("加载gif图片") .onClick(()=>{ - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMedia($r('app.media.test').id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.test').id) .then(data => { console.log('basicTestFileIOPage - 本地加载资源 解析后数据data length= ' + data.byteLength) let gifImpl = new GIFParseImpl(); @@ -49,7 +51,8 @@ struct gifTestCasePage { }).margin({left:5}).backgroundColor(Color.Blue) Button("加载gif图片自带worker") .onClick(()=>{ - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMedia($r('app.media.gifSample_single_frame').id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.gifSample_single_frame').id) .then(data => { console.log('basicTestFileIOPage - 本地加载资源 解析后数据data length = ' + data.byteLength) let local_worker = new worker.ThreadWorker('entry/ets/workers/GifLoadWorker.ts', { @@ -74,7 +77,8 @@ struct gifTestCasePage { }).margin({left:5}).backgroundColor(Color.Blue) Button("加载gif图片全局配置worker") .onClick(()=>{ - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMedia($r('app.media.test').id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.test').id) .then(data => { console.log('basicTestFileIOPage - 本地加载资源 解析后数据data length = ' + data.byteLength) @@ -116,7 +120,7 @@ struct gifTestCasePage { type: 'classic', name: 'ImageKnifeParseGIF' }) - globalThis.ImageKnife.setGifWorker(this.globalGifWorker) + (ImageKnifeGlobal.getInstance().getImageKnife()).setGifWorker(this.globalGifWorker) } aboutToDisappear(){ if(this.globalGifWorker){ diff --git a/entry/src/main/ets/pages/index.ets b/entry/src/main/ets/pages/index.ets index e147837..12466d3 100644 --- a/entry/src/main/ets/pages/index.ets +++ b/entry/src/main/ets/pages/index.ets @@ -16,6 +16,7 @@ import router from '@system.router'; import { ImageKnifeComponent, ImageKnifeOption, + ImageKnifeGlobal, } from '@ohos/imageknife' import worker from '@ohos.worker'; @@ -91,7 +92,7 @@ struct IndexFunctionDemo { name: 'ImageKnifeParseGIF' }) // gif解析在子线程,请在页面构建后创建worker,注入imageknife - globalThis.ImageKnife.setGifWorker(this.globalGifWorker) + (ImageKnifeGlobal.getInstance().getImageKnife()).setGifWorker(this.globalGifWorker) } aboutToDisappear(){ if(this.globalGifWorker){ diff --git a/entry/src/main/ets/pages/manyPhotoShowPage.ets b/entry/src/main/ets/pages/manyPhotoShowPage.ets index 0e86795..a3f4218 100644 --- a/entry/src/main/ets/pages/manyPhotoShowPage.ets +++ b/entry/src/main/ets/pages/manyPhotoShowPage.ets @@ -14,6 +14,7 @@ */ import {ImageKnifeComponent, ScaleType} from '@ohos/imageknife' import {ImageKnifeOption} from '@ohos/imageknife' +import {ImageKnifeGlobal} from '@ohos/imageknife' import {RotateImageTransformation} from '@ohos/imageknife' import {Material} from './model/Material' import {TestDataSource} from './model/TestDataSource' @@ -32,7 +33,7 @@ struct ManyPhotoShowPage { Button('设置磁盘存储为50M') .onClick(()=>{ - let disk:DiskLruCache = globalThis.ImageKnife.getDiskMemoryCache(); + let disk:DiskLruCache = (ImageKnifeGlobal.getInstance().getImageKnife()).getDiskMemoryCache(); disk.setMaxSize(50*1024*1024) Prompt.showToast({message:"设置成功"}) diff --git a/entry/src/main/ets/pages/pngjTestCasePage.ets b/entry/src/main/ets/pages/pngjTestCasePage.ets index d67de8d..5ebbd07 100644 --- a/entry/src/main/ets/pages/pngjTestCasePage.ets +++ b/entry/src/main/ets/pages/pngjTestCasePage.ets @@ -15,7 +15,7 @@ import router from '@system.router'; import { Pngj } from '@ohos/imageknife' import resourceManager from '@ohos.resourceManager'; -import { FileUtils } from '@ohos/imageknife' +import { FileUtils,ImageKnifeGlobal } from '@ohos/imageknife' import featureability from '@ohos.ability.featureAbility' import ArkWorker from '@ohos.worker' import worker from '@ohos.worker'; @@ -52,10 +52,10 @@ struct PngjTestCasePage { Button(this.hint7).fontSize(30) .onClick(() => { - this.rootFolder = globalThis.ImageKnife.getImageKnifeContext().filesDir; - globalThis.ImageKnife.getImageKnifeContext() - .resourceManager - .getMedia($r('app.media.pngSample').id) + this.rootFolder = (ImageKnifeGlobal.getInstance().getHapContext() as Record).filesDir as string; + ((ImageKnifeGlobal.getInstance().getHapContext() as Record) + .resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.pngSample').id) .then(data => { this.pngSource1 = FileUtils.getInstance().uint8ArrayToBuffer(data); this.hint7 = '获取buffer成功,可以测试' @@ -91,10 +91,14 @@ struct PngjTestCasePage { Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Button(this.hint8).fontSize(30) .onClick(() => { - this.rootFolder = globalThis.ImageKnife.getImageKnifeContext().filesDir; - globalThis.ImageKnife.getImageKnifeContext() - .resourceManager - .getMedia($r('app.media.pngSample').id) + + + + this.rootFolder = (ImageKnifeGlobal.getInstance().getHapContext() as Record).filesDir as string; + ((ImageKnifeGlobal.getInstance().getHapContext() as Record) + .resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.pngSample').id) + .then(data => { this.pngSource2 = FileUtils.getInstance().uint8ArrayToBuffer(data); this.hint8 = '获取buffer成功,可以测试' @@ -136,10 +140,10 @@ struct PngjTestCasePage { Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Button(this.hint9).fontSize(30) .onClick(() => { - this.rootFolder = globalThis.ImageKnife.getImageKnifeContext().filesDir; - globalThis.ImageKnife.getImageKnifeContext() - .resourceManager - .getMedia($r('app.media.pngSample').id) + this.rootFolder = (ImageKnifeGlobal.getInstance().getHapContext() as Record).filesDir as string; + ((ImageKnifeGlobal.getInstance().getHapContext() as Record) + .resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.pngSample').id) .then(data => { this.pngSource3 = FileUtils.getInstance().uint8ArrayToBuffer(data); this.hint9 = '获取buffer成功,可以测试' @@ -186,10 +190,10 @@ struct PngjTestCasePage { Button(this.hint10).fontSize(30) .onClick(() => { - this.rootFolder = globalThis.ImageKnife.getImageKnifeContext().filesDir; - globalThis.ImageKnife.getImageKnifeContext() - .resourceManager - .getMedia($r('app.media.pngSample').id) + this.rootFolder = (ImageKnifeGlobal.getInstance().getHapContext as Record).filesDir as string; + ((ImageKnifeGlobal.getInstance().getHapContext() as Record) + .resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.pngSample').id) .then(data => { this.pngSource4 = FileUtils.getInstance().uint8ArrayToBuffer(data); this.hint10 = '获取buffer成功,可以测试' diff --git a/entry/src/main/ets/pages/svgTestCasePage.ets b/entry/src/main/ets/pages/svgTestCasePage.ets index 4c3516c..fab08f2 100644 --- a/entry/src/main/ets/pages/svgTestCasePage.ets +++ b/entry/src/main/ets/pages/svgTestCasePage.ets @@ -13,6 +13,7 @@ * limitations under the License. */ import {SVGParseImpl} from '@ohos/imageknife' +import {ImageKnifeGlobal} from '@ohos/imageknife' @Entry @Component @@ -28,7 +29,8 @@ struct svgTestCasePage { Button("加载SVG图片") .onClick(()=>{ - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMedia($r('app.media.svgSample').id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.svgSample').id) .then(data => { console.log('basicTestFileIOPage - 本地加载资源 解析后数据data = ' + data) let svgImpl = new SVGParseImpl(); @@ -57,7 +59,8 @@ struct svgTestCasePage { Button("加载SVG图片") .onClick(()=>{ - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMedia($r('app.media.iconsvg').id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent($r('app.media.iconsvg').id) .then(data => { console.log('basicTestFileIOPage - 本地加载资源 解析后数据data = ' + data) let svgImpl = new SVGParseImpl(); diff --git a/entry/src/main/ets/pages/tempUrlTestPage.ets b/entry/src/main/ets/pages/tempUrlTestPage.ets index 5c614d4..1115662 100644 --- a/entry/src/main/ets/pages/tempUrlTestPage.ets +++ b/entry/src/main/ets/pages/tempUrlTestPage.ets @@ -16,6 +16,7 @@ import router from '@system.router'; import { ImageKnifeComponent, ImageKnifeOption, + ImageKnifeGlobal, ImageKnifeDrawFactory, ScaleType } from '@ohos/imageknife' @@ -90,7 +91,7 @@ struct tempUrlTestPage { name: 'ImageKnifeParseGIF' }) // gif解析在子线程,请在页面构建后创建worker,注入imageknife - globalThis.ImageKnife.setGifWorker(this.globalGifWorker) + (ImageKnifeGlobal.getInstance().getImageKnife()).setGifWorker(this.globalGifWorker) } aboutToDisappear(){ if(this.globalGifWorker){ diff --git a/entry/src/main/ets/pages/testAllCacheInfoPage.ets b/entry/src/main/ets/pages/testAllCacheInfoPage.ets index a2f4123..9a6c414 100644 --- a/entry/src/main/ets/pages/testAllCacheInfoPage.ets +++ b/entry/src/main/ets/pages/testAllCacheInfoPage.ets @@ -17,6 +17,7 @@ import {AllCacheInfo,IAllCacheInfoCallback} from '@ohos/imageknife' import {ImageKnifeComponent} from '@ohos/imageknife' import {TransformType} from '@ohos/imageknife' import {ImageKnifeOption} from '@ohos/imageknife' +import {ImageKnifeGlobal} from '@ohos/imageknife' import {RotateImageTransformation} from '@ohos/imageknife' @Entry @@ -206,4 +207,4 @@ struct TestAllCacheInfoPage { } -var ImageKnife = globalThis.ImageKnife \ No newline at end of file +var ImageKnife = (ImageKnifeGlobal.getInstance().getImageKnife()) \ No newline at end of file diff --git a/entry/src/main/ets/pages/testGifDontAnimatePage.ets b/entry/src/main/ets/pages/testGifDontAnimatePage.ets index 22cd6cd..ad9cc3f 100644 --- a/entry/src/main/ets/pages/testGifDontAnimatePage.ets +++ b/entry/src/main/ets/pages/testGifDontAnimatePage.ets @@ -14,6 +14,7 @@ */ import {ImageKnifeComponent} from '@ohos/imageknife' import {ImageKnifeOption} from '@ohos/imageknife' +import {ImageKnifeGlobal} from '@ohos/imageknife' import {RotateImageTransformation} from '@ohos/imageknife' import ArkWorker from '@ohos.worker' import worker from '@ohos.worker' @@ -90,7 +91,7 @@ struct TestGifDontAnimatePage { type: 'classic', name: 'ImageKnifeParseGIF' }) - globalThis.ImageKnife.setGifWorker(this.globalGifWorker) + (ImageKnifeGlobal.getInstance().getImageKnife()).setGifWorker(this.globalGifWorker) } aboutToDisappear(){ if(this.globalGifWorker){ diff --git a/entry/src/main/ets/pages/testGifLoadWithWorkerPage.ets b/entry/src/main/ets/pages/testGifLoadWithWorkerPage.ets index fadbe80..993f5e9 100644 --- a/entry/src/main/ets/pages/testGifLoadWithWorkerPage.ets +++ b/entry/src/main/ets/pages/testGifLoadWithWorkerPage.ets @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { ImageKnife, ImageKnifeComponent, ImageKnifeOption } from '@ohos/imageknife' +import { ImageKnife,ImageKnifeGlobal,ImageKnifeGlobal, ImageKnifeComponent, ImageKnifeOption } from '@ohos/imageknife' import worker, { MessageEvents } from '@ohos.worker' import Prompt from '@system.prompt' @@ -86,7 +86,7 @@ struct TestGifLoadWithWorkerPage { this.my_gif_worker.onmessage = (e: MessageEvents) => { console.log("my_gif_worker.onmessage: " + e.data) } - globalThis.ImageKnife.setGifWorker(this.my_gif_worker) + (ImageKnifeGlobal.getInstance().getImageKnife()).setGifWorker(this.my_gif_worker) //子线程加载gif,不阻塞toast的消失 this.options = { @@ -102,7 +102,7 @@ struct TestGifLoadWithWorkerPage { .onClick(() => { console.log("ImageKnifeComponent button 加载gif onClick()") - globalThis.ImageKnife.setGifWorker(undefined) + (ImageKnifeGlobal.getInstance().getImageKnife()).setGifWorker(undefined) //主线程加载gif,阻塞toast的消失 this.options = { diff --git a/entry/src/main/ets/pages/testImageKnifeOptionChangedPage.ets b/entry/src/main/ets/pages/testImageKnifeOptionChangedPage.ets index 43fb568..827fb82 100644 --- a/entry/src/main/ets/pages/testImageKnifeOptionChangedPage.ets +++ b/entry/src/main/ets/pages/testImageKnifeOptionChangedPage.ets @@ -14,6 +14,7 @@ */ import {ImageKnifeComponent} from '@ohos/imageknife' import {ImageKnifeOption} from '@ohos/imageknife' +import {ImageKnifeGlobal} from '@ohos/imageknife' import {RotateImageTransformation} from '@ohos/imageknife' import ArkWorker from '@ohos.worker' import worker from '@ohos.worker' @@ -190,7 +191,7 @@ struct TestImageKnifeOptionChangedPage { type: 'classic', name: 'ImageKnifeParseGIF' }) - globalThis.ImageKnife.setGifWorker(this.globalGifWorker) + (ImageKnifeGlobal.getInstance().getImageKnife()).setGifWorker(this.globalGifWorker) } aboutToDisappear(){ if(this.globalGifWorker){ diff --git a/entry/src/main/ets/pages/testImageKnifeOptionChangedPage3.ets b/entry/src/main/ets/pages/testImageKnifeOptionChangedPage3.ets index 34d67bb..3442018 100644 --- a/entry/src/main/ets/pages/testImageKnifeOptionChangedPage3.ets +++ b/entry/src/main/ets/pages/testImageKnifeOptionChangedPage3.ets @@ -14,6 +14,7 @@ */ import {ImageKnifeComponent} from '@ohos/imageknife' import {ImageKnifeOption} from '@ohos/imageknife' +import {ImageKnifeGlobal} from '@ohos/imageknife' import {ScaleType} from '@ohos/imageknife' import {RotateImageTransformation} from '@ohos/imageknife' import {GrayscaleTransformation} from '@ohos/imageknife' @@ -203,7 +204,7 @@ struct TestImageKnifeOptionChangedPage3 { type: 'classic', name: 'ImageKnifeParseGIF' }) - globalThis.ImageKnife.setGifWorker(this.globalGifWorker) + (ImageKnifeGlobal.getInstance().getImageKnife()).setGifWorker(this.globalGifWorker) } aboutToDisappear(){ if(this.globalGifWorker){ diff --git a/entry/src/main/ets/pages/testImageKnifeOptionChangedPage4.ets b/entry/src/main/ets/pages/testImageKnifeOptionChangedPage4.ets index 39252c8..3b50cad 100644 --- a/entry/src/main/ets/pages/testImageKnifeOptionChangedPage4.ets +++ b/entry/src/main/ets/pages/testImageKnifeOptionChangedPage4.ets @@ -21,7 +21,8 @@ import { SketchFilterTransformation, ScaleTypeHelper, IDrawLifeCycle, - ScaleType + ScaleType, + ImageKnifeGlobal } from '@ohos/imageknife' import ArkWorker from '@ohos.worker' import worker from '@ohos.worker'; @@ -118,7 +119,7 @@ struct TestImageKnifeOptionChangedPage4 { type: 'classic', name: 'ImageKnifeParseGIF' }) - globalThis.ImageKnife.setGifWorker(this.globalGifWorker) + ImageKnifeGlobal.getInstance().getImageKnife().setGifWorker(this.globalGifWorker) } aboutToDisappear(){ if(this.globalGifWorker){ diff --git a/entry/src/main/ets/pages/testImageKnifeOptionChangedPage5.ets b/entry/src/main/ets/pages/testImageKnifeOptionChangedPage5.ets index b7cf616..dd61a2a 100644 --- a/entry/src/main/ets/pages/testImageKnifeOptionChangedPage5.ets +++ b/entry/src/main/ets/pages/testImageKnifeOptionChangedPage5.ets @@ -16,6 +16,7 @@ import { GrayscaleTransformation, ImageKnifeComponent, ImageKnifeData, + ImageKnifeGlobal, ImageKnifeOption, RotateImageTransformation, SketchFilterTransformation, @@ -100,7 +101,7 @@ struct TestImageKnifeOptionChangedPage5 { type: 'classic', name: 'ImageKnifeParseGIF' }) - globalThis.ImageKnife.setGifWorker(this.globalGifWorker) + (ImageKnifeGlobal.getInstance().getImageKnife()).setGifWorker(this.globalGifWorker) } aboutToDisappear(){ if(this.globalGifWorker){ diff --git a/entry/src/main/ets/pages/testPreloadPage.ets b/entry/src/main/ets/pages/testPreloadPage.ets index eda05a8..a0ec611 100644 --- a/entry/src/main/ets/pages/testPreloadPage.ets +++ b/entry/src/main/ets/pages/testPreloadPage.ets @@ -15,6 +15,7 @@ import {ImageKnifeComponent} from '@ohos/imageknife' import {ImageKnifeOption} from '@ohos/imageknife' import {RequestOption} from '@ohos/imageknife' +import {ImageKnifeGlobal } from '@ohos/imageknife' import ArkWorker from '@ohos.worker' import worker from '@ohos.worker' @@ -90,7 +91,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -124,7 +125,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -159,7 +160,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -191,7 +192,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -230,7 +231,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -269,7 +270,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -310,7 +311,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -349,7 +350,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -388,7 +389,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -427,7 +428,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -466,7 +467,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -505,7 +506,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -544,7 +545,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -583,7 +584,7 @@ struct TestPreloadPage { } return false; }) - globalThis.ImageKnife.preload(request); + ImageKnifeGlobal.getInstance().getImageKnife().preload(request); }) .margin({ left: 15 }) .backgroundColor(Color.Grey) @@ -620,7 +621,7 @@ struct TestPreloadPage { name: 'ImageKnifeParseGIF' }) // gif解析在子线程,请在页面构建后创建worker,注入imageknife - globalThis.ImageKnife.setGifWorker(this.globalGifWorker) + ImageKnifeGlobal.getInstance().getImageKnife().setGifWorker(this.globalGifWorker) } aboutToDisappear(){ if(this.globalGifWorker){ diff --git a/entry/src/main/ets/pages/transformPixelMapPage.ets b/entry/src/main/ets/pages/transformPixelMapPage.ets index c12da4a..1fd08f4 100644 --- a/entry/src/main/ets/pages/transformPixelMapPage.ets +++ b/entry/src/main/ets/pages/transformPixelMapPage.ets @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { RequestOption } from '@ohos/imageknife' +import { RequestOption,ImageKnifeGlobal} from '@ohos/imageknife' import { CropCircleTransformation } from '@ohos/imageknife' import { RoundedCornersTransformation } from '@ohos/imageknife' import { @@ -1015,4 +1015,4 @@ struct TransformPixelMapPage { } } -var ImageKnife = globalThis.ImageKnife \ No newline at end of file +var ImageKnife = ImageKnifeGlobal.getInstance().getImageKnife(); \ No newline at end of file diff --git a/entry/src/ohosTest/ets/test/Ability.test.ets b/entry/src/ohosTest/ets/test/Ability.test.ets index 08d3135..47b99a5 100644 --- a/entry/src/ohosTest/ets/test/Ability.test.ets +++ b/entry/src/ohosTest/ets/test/Ability.test.ets @@ -19,25 +19,25 @@ import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from export default function abilityTest() { describe('ActsAbilityTest', function () { // Defines a test suite. Two parameters are supported: test suite name and test suite function. - beforeAll(function () { + beforeAll( ()=> { // Presets an action, which is performed only once before all test cases of the test suite start. // This API supports only one parameter: preset action function. }) - beforeEach(function () { + beforeEach( ()=> { // Presets an action, which is performed before each unit test case starts. // The number of execution times is the same as the number of test cases defined by **it**. // This API supports only one parameter: preset action function. }) - afterEach(function () { + afterEach( ()=> { // Presets a clear action, which is performed after each unit test case ends. // The number of execution times is the same as the number of test cases defined by **it**. // This API supports only one parameter: clear action function. }) - afterAll(function () { + afterAll( ()=> { // Presets a clear action, which is performed after all test cases of the test suite end. // This API supports only one parameter: clear action function. }) - it('assertContain',0, function () { + it('assertContain',0, ()=> { // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. hilog.info(0x0000, 'testTag', '%{public}s', 'it begin'); let a = 'abc' diff --git a/entry/src/ohosTest/ets/test/imageknife.test.ets b/entry/src/ohosTest/ets/test/imageknife.test.ets index e1bd0e8..88a937e 100644 --- a/entry/src/ohosTest/ets/test/imageknife.test.ets +++ b/entry/src/ohosTest/ets/test/imageknife.test.ets @@ -14,41 +14,41 @@ */ import hilog from '@ohos.hilog'; import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' -import {ImageKnife,ImageKnifeDrawFactory} from '@ohos/imageknife' +import {ImageKnife,ImageKnifeDrawFactory,ImageKnifeGlobal} from '@ohos/imageknife' export default function ImageKnifeTest() { describe('ImageKnifeTest', function () { // Defines a test suite. Two parameters are supported: test suite name and test suite function. - beforeAll(function () { + beforeAll( ()=> { // Presets an action, which is performed only once before all test cases of the test suite start. // This API supports only one parameter: preset action function. }) - beforeEach(function () { + beforeEach( ()=> { // Presets an action, which is performed before each unit test case starts. // The number of execution times is the same as the number of test cases defined by **it**. // This API supports only one parameter: preset action function. }) - afterEach(function () { + afterEach( ()=> { // Presets a clear action, which is performed after each unit test case ends. // The number of execution times is the same as the number of test cases defined by **it**. // This API supports only one parameter: clear action function. }) - afterAll(function () { + afterAll( ()=> { // Presets a clear action, which is performed after all test cases of the test suite end. // This API supports only one parameter: clear action function. }) - it('TestGlobalImageKnife',0, function () { - globalThis.ImageKnife = ImageKnife.with(globalThis.TestAbilityContext) - expect(globalThis.ImageKnife).not().assertUndefined() + it('TestGlobalImageKnife',0, ()=> { + let global:ImageKnifeGlobal = ImageKnife.with(ImageKnifeGlobal.getInstance().getHapContext()) + expect(global.getImageKnife()).not().assertUndefined() }) - it('TestGlobalDefaultLifeCycle',1, function () { - globalThis.ImageKnife = ImageKnife.with(globalThis.TestAbilityContext) - globalThis.ImageKnife.setDefaultLifeCycle(ImageKnifeDrawFactory.createProgressLifeCycle("#10a5ff", 0.5)) - let globalLifeCycle = globalThis.ImageKnife.getDefaultLifeCycle(); + it('TestGlobalDefaultLifeCycle',1, ()=> { + ImageKnife.with(ImageKnifeGlobal.getInstance().getHapContext()) + (ImageKnifeGlobal.getInstance().getImageKnife()).setDefaultLifeCycle(ImageKnifeDrawFactory.createProgressLifeCycle("#10a5ff", 0.5)) + let globalLifeCycle = (ImageKnifeGlobal.getInstance().getImageKnife()).getDefaultLifeCycle(); expect(globalLifeCycle).not().assertUndefined() }) diff --git a/entry/src/ohosTest/ets/test/logutil.test.ets b/entry/src/ohosTest/ets/test/logutil.test.ets index c6c600c..71f61a1 100644 --- a/entry/src/ohosTest/ets/test/logutil.test.ets +++ b/entry/src/ohosTest/ets/test/logutil.test.ets @@ -17,27 +17,27 @@ import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from import {LogUtil} from '@ohos/imageknife' export default function LogUtilTest() { - describe('LogUtilTest', function () { + describe('LogUtilTest', ()=> { // Defines a test suite. Two parameters are supported: test suite name and test suite function. - beforeAll(function () { + beforeAll( ()=> { // Presets an action, which is performed only once before all test cases of the test suite start. // This API supports only one parameter: preset action function. }) - beforeEach(function () { + beforeEach( ()=> { // Presets an action, which is performed before each unit test case starts. // The number of execution times is the same as the number of test cases defined by **it**. // This API supports only one parameter: preset action function. }) - afterEach(function () { + afterEach( ()=> { // Presets a clear action, which is performed after each unit test case ends. // The number of execution times is the same as the number of test cases defined by **it**. // This API supports only one parameter: clear action function. }) - afterAll(function () { + afterAll( ()=> { // Presets a clear action, which is performed after all test cases of the test suite end. // This API supports only one parameter: clear action function. }) - it('TestLogUtilLevel',0, function () { + it('TestLogUtilLevel',0, ()=> { console.log("tag:LogUtil LogUtil.mLogLevel="+LogUtil.mLogLevel); LogUtil.mLogLevel = LogUtil.OFF; diff --git a/entry/src/ohosTest/ets/test/lrucache.test.ets b/entry/src/ohosTest/ets/test/lrucache.test.ets index 38f68f9..f70a2dc 100644 --- a/entry/src/ohosTest/ets/test/lrucache.test.ets +++ b/entry/src/ohosTest/ets/test/lrucache.test.ets @@ -17,33 +17,33 @@ import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from import {LruCache} from '@ohos/imageknife' // DiskLruCache用例由DiskLruCache三方库提供 export default function lruCacheTest() { - describe('lruCacheTest', function () { + describe('lruCacheTest', ()=> { // Defines a test suite. Two parameters are supported: test suite name and test suite function. - beforeAll(function () { + beforeAll( ()=> { // Presets an action, which is performed only once before all test cases of the test suite start. // This API supports only one parameter: preset action function. }) - beforeEach(function () { + beforeEach( ()=> { // Presets an action, which is performed before each unit test case starts. // The number of execution times is the same as the number of test cases defined by **it**. // This API supports only one parameter: preset action function. }) - afterEach(function () { + afterEach( ()=> { // Presets a clear action, which is performed after each unit test case ends. // The number of execution times is the same as the number of test cases defined by **it**. // This API supports only one parameter: clear action function. }) - afterAll(function () { + afterAll( ()=> { // Presets a clear action, which is performed after all test cases of the test suite end. // This API supports only one parameter: clear action function. }) - it('testLruCacheSize',0, function () { + it('testLruCacheSize',0, ()=> { // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. let memoryCache = new LruCache(100); expect(memoryCache.size).assertEqual(0); expect(memoryCache.maxsize).assertEqual(100) }) - it('testLruCachePut',1, function () { + it('testLruCachePut',1, ()=> { // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. let memoryCache = new LruCache(5); memoryCache.put("1","1"); @@ -57,7 +57,7 @@ export default function lruCacheTest() { let result = memoryCache.get("1") expect(result).assertEqual(undefined) }) - it('testLruCacheGet',2, function () { + it('testLruCacheGet',2, ()=> { // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. let memoryCache = new LruCache(5); memoryCache.put("1","1"); @@ -71,7 +71,7 @@ export default function lruCacheTest() { let result = memoryCache.get("2") expect(result).assertEqual("2") }) - it('testLruCacheAlgorithm',3, function () { + it('testLruCacheAlgorithm',3, ()=> { // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. let memoryCache = new LruCache(5); memoryCache.put("1","1"); @@ -83,14 +83,14 @@ export default function lruCacheTest() { memoryCache.get("1"); memoryCache.get("2"); - memoryCache.foreachLruCache(function (value, key, index) { + memoryCache.foreachLruCache( (value, key, index)=> { if(index == 0){ expect(key).assertEqual("2") expect(value).assertEqual("2") } }) }) - it('testLruCacheRemove',4, function () { + it('testLruCacheRemove',4, ()=> { // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. let memoryCache = new LruCache(5); memoryCache.put("1","1"); @@ -104,14 +104,14 @@ export default function lruCacheTest() { memoryCache.remove("2"); - memoryCache.foreachLruCache(function (value, key, index) { + memoryCache.foreachLruCache( (value, key, index)=> { if(index == 0){ expect(key).assertEqual("1") expect(value).assertEqual("1") } }) }) - it('testLruCacheResize',5, function () { + it('testLruCacheResize',5, ()=> { // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. let memoryCache = new LruCache(5); memoryCache.put("1","1"); diff --git a/entry/src/ohosTest/ets/test/requestoption.test.ets b/entry/src/ohosTest/ets/test/requestoption.test.ets index 26bff91..fc90593 100644 --- a/entry/src/ohosTest/ets/test/requestoption.test.ets +++ b/entry/src/ohosTest/ets/test/requestoption.test.ets @@ -18,43 +18,43 @@ import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from import {RequestOption} from '@ohos/imageknife' export default function RequestOptionTest() { - describe('RequestOptionTest', function () { + describe('RequestOptionTest', ()=> { // Defines a test suite. Two parameters are supported: test suite name and test suite function. - beforeAll(function () { + beforeAll( ()=> { // Presets an action, which is performed only once before all test cases of the test suite start. // This API supports only one parameter: preset action function. }) - beforeEach(function () { + beforeEach( ()=> { // Presets an action, which is performed before each unit test case starts. // The number of execution times is the same as the number of test cases defined by **it**. // This API supports only one parameter: preset action function. }) - afterEach(function () { + afterEach( ()=> { // Presets a clear action, which is performed after each unit test case ends. // The number of execution times is the same as the number of test cases defined by **it**. // This API supports only one parameter: clear action function. }) - afterAll(function () { + afterAll( ()=> { // Presets a clear action, which is performed after all test cases of the test suite end. // This API supports only one parameter: clear action function. }) - it('TestRequestOption',0, function () { + it('TestRequestOption',0, ()=> { let option = new RequestOption(); expect(option.requestListeners.length == 0).assertTrue() }) - it('TestConfigLoadSrc',1, function () { + it('TestConfigLoadSrc',1, ()=> { let option = new RequestOption(); expect(option.loadSrc).assertEqual(undefined) option.loadSrc = $r('app.media.icon') expect(JSON.stringify(option.loadSrc)).assertEqual(JSON.stringify($r('app.media.icon'))) }) - it('TestConfigViewSize',2, function () { + it('TestConfigViewSize',2, ()=> { let option = new RequestOption(); option.loadSrc = $r('app.media.icon') option.setImageViewSize({width:100,height:100}) expect(JSON.stringify(option.size)).assertEqual(JSON.stringify({width:100,height:100})) }) - it('TestNormalConfigInfo',3, function () { + it('TestNormalConfigInfo',3, ()=>{ let option = new RequestOption(); expect(option.strategy.getName()).assertEqual('AUTOMATIC') diff --git a/entry/src/ohosTest/ets/test/transfrom.test.ets b/entry/src/ohosTest/ets/test/transfrom.test.ets index 60b6084..8802154 100644 --- a/entry/src/ohosTest/ets/test/transfrom.test.ets +++ b/entry/src/ohosTest/ets/test/transfrom.test.ets @@ -39,46 +39,46 @@ import { } from '@ohos/imageknife' export default function Transform() { - describe('Transform', function () { + describe('Transform', ()=>{ // Defines a test suite. Two parameters are supported: test suite name and test suite function. - beforeAll(function () { + beforeAll(()=>{ // Presets an action, which is performed only once before all test cases of the test suite start. // This API supports only one parameter: preset action function. }) - beforeEach(function () { + beforeEach(()=>{ // Presets an action, which is performed before each unit test case starts. // The number of execution times is the same as the number of test cases defined by **it**. // This API supports only one parameter: preset action function. }) - afterEach(function () { + afterEach(()=>{ // Presets a clear action, which is performed after each unit test case ends. // The number of execution times is the same as the number of test cases defined by **it**. // This API supports only one parameter: clear action function. }) - afterAll(function () { + afterAll(()=>{ // Presets a clear action, which is performed after all test cases of the test suite end. // This API supports only one parameter: clear action function. }) - it('TestBlurTransformation', 0, function () { + it('TestBlurTransformation', 0, ()=>{ let blur = new BlurTransformation(15); expect(blur.getName()).assertEqual('BlurTransformation _mRadius:15') }) - it('TestBrightnessFilterTransformation', 1, function () { + it('TestBrightnessFilterTransformation', 1, ()=>{ let bright = new BrightnessFilterTransformation(20); expect(bright.getName()).assertEqual("BrightnessFilterTransformation:20") }) - it('TestContrastFilterTransformation', 2, function () { + it('TestContrastFilterTransformation', 2, ()=>{ let constrast = new ContrastFilterTransformation(30); expect(constrast.getName()).assertEqual("ContrastFilterTransformation:30") }) - it('TestCropCircleTransformation', 3, function () { + it('TestCropCircleTransformation', 3, ()=>{ let cropCircle = new CropCircleTransformation(); expect(cropCircle.getName()).assertContain("CropCircleTransformation") expect(cropCircle.getName()).assertContain(";mCenterX:") expect(cropCircle.getName()).assertContain(";mCenterY:") expect(cropCircle.getName()).assertContain(";mRadius:") }) - it('TestCropCircleWithBorderTransformation', 4, function () { + it('TestCropCircleWithBorderTransformation', 4, ()=>{ let CropCircleWithBorder = new CropCircleWithBorderTransformation(10,{r_color:100,g_color:100,b_color:100 }); expect(CropCircleWithBorder.getName()).assertContain("CropCircleTransformation") expect(CropCircleWithBorder.getName()).assertContain(";mCenterX:") @@ -89,63 +89,63 @@ export default function Transform() { expect(CropCircleWithBorder.getName()).assertContain(";mGColor:") expect(CropCircleWithBorder.getName()).assertContain(";mBColor:") }) - it('TestCropSquareTransformation', 5, function () { + it('TestCropSquareTransformation', 5, ()=>{ let CropSquare = new CropSquareTransformation(); expect(CropSquare.getName()).assertContain("CropSquareTransformation") }) - it('TestCropTransformation', 6, function () { + it('TestCropTransformation', 6, ()=>{ let crop = new CropTransformation(10,10,CropType.CENTER); expect(crop.getName()).assertContain("CropCircleTransformation"+ ";mWidth:10" + ";mHeight:10" + ";mCropType:1" ) }) - it('TestGrayscaleTransformation', 7, function () { + it('TestGrayscaleTransformation', 7, ()=>{ let grayscale = new GrayscaleTransformation(); expect(grayscale.getName()).assertContain("GrayscaleTransformation" ) }) - it('TestInvertFilterTransformation', 8, function () { + it('TestInvertFilterTransformation', 8, ()=>{ let invert = new InvertFilterTransformation(); expect(invert.getName()).assertContain("InvertFilterTransformation" ) }) - it('TestPixelationFilterTransformation', 9, function () { + it('TestPixelationFilterTransformation', 9, ()=>{ let pixelation = new PixelationFilterTransformation(); expect(pixelation.getName()).assertContain("PixelationFilterTransformation" ) }) - it('TestRotateImageTransformation', 10, function () { + it('TestRotateImageTransformation', 10, ()=>{ let rotateImage = new RotateImageTransformation(180); expect(rotateImage.getName()).assertContain("RotateImageTransformation" + ";degreesToRotate:180") }) - it('TestRoundedCornersTransformation', 11, function () { + it('TestRoundedCornersTransformation', 11, ()=>{ let roundConer = new RoundedCornersTransformation({top_left:5,bottom_left:5,top_right:5,bottom_right:5}); expect(roundConer.getName()).assertContain("RoundedCornersTransformation" + ";mTop_left:" + 5 + ";mTop_right:" + 5 + ";mBottom_left:" + 5 + ";mBottom_right:" + 5) }) - it('TestSepiaFilterTransformation', 12, function () { + it('TestSepiaFilterTransformation', 12, ()=>{ let speia = new SepiaFilterTransformation(); expect(speia.getName()).assertContain("SepiaFilterTransformation") }) - it('TestSketchFilterTransformation', 13, function () { + it('TestSketchFilterTransformation', 13, ()=>{ let Sketch = new SketchFilterTransformation(); expect(Sketch.getName()).assertContain("SketchFilterTransformation") }) - it('TestMaskTransformation', 14, function () { + it('TestMaskTransformation', 14, ()=>{ let mask = new MaskTransformation($r('app.media.icon')); expect(mask.getName()).assertContain("MaskTransformation") }) - it('TestSwirlFilterTransformation', 15, function () { + it('TestSwirlFilterTransformation', 15, ()=>{ let swirl = new SwirlFilterTransformation(10,180,[10,10]); expect(swirl.getName()).assertContain("SwirlFilterTransformation") }) - it('TestKuwaharaFilterTransform', 16, function () { + it('TestKuwaharaFilterTransform', 16, ()=>{ let kuwahara = new KuwaharaFilterTransform(10); expect(kuwahara.getName()).assertContain("KuwaharaFilterTransform _mRadius:10") }) - it('TestToonFilterTransform', 17, function () { + it('TestToonFilterTransform', 17, ()=>{ let toon = new ToonFilterTransform(10); expect(toon.getName()).assertContain("ToonFilterTransform threshold:") expect(toon.getName()).assertContain(";quantizationLevels:") }) - it('TestVignetteFilterTransform', 18, function () { + it('TestVignetteFilterTransform', 18, ()=>{ let vignette = new VignetteFilterTransform([0.5, 0.5],[0.0, 0.0, 0.0],[0.3, 0.75]); expect(vignette.getName()).assertContain("VignetteFilterTransform centerPoint:") expect(vignette.getName()).assertContain(";vignetteColor:") diff --git a/entry/src/ohosTest/ets/testability/TestAbility.ets b/entry/src/ohosTest/ets/testability/TestAbility.ets index ce8497d..8b92e2a 100644 --- a/entry/src/ohosTest/ets/testability/TestAbility.ets +++ b/entry/src/ohosTest/ets/testability/TestAbility.ets @@ -18,7 +18,7 @@ import hilog from '@ohos.hilog'; import { Hypium } from '@ohos/hypium'; import testsuite from '../test/List.test'; import window from '@ohos.window'; - +import {ImageKnife,ImageKnifeDrawFactory,ImageKnifeGlobal} from '@ohos/imageknife' export default class TestAbility extends UIAbility { onCreate(want, launchParam) { hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onCreate'); @@ -30,7 +30,7 @@ export default class TestAbility extends UIAbility { abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() hilog.info(0x0000, 'testTag', '%{public}s', 'start run testcase!!!'); Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite) - globalThis.TestAbilityContext = this.context.createModuleContext("entry_test") + (ImageKnifeGlobal.getInstance().setHapContext(this.context.createModuleContext("entry_test"))) } onDestroy() { diff --git a/imageknife/index.ets b/imageknife/index.ets index f0c209b..dcf1bdb 100644 --- a/imageknife/index.ets +++ b/imageknife/index.ets @@ -93,6 +93,7 @@ export * from './src/main/ets/components/3rd_party/upng/UPNG' * ImageKnife */ export * from './src/main/ets/components/imageknife/ImageKnife' +export * from './src/main/ets/components/imageknife/ImageKnifeGlobal' export * from './src/main/ets/components/imageknife/RequestOption' export * from './src/main/ets/components/imageknife/ImageKnifeComponent' export * from './src/main/ets/components/imageknife/ImageKnifeDrawFactory' diff --git a/imageknife/src/main/ets/components/imageknife/ImageKnife.ets b/imageknife/src/main/ets/components/imageknife/ImageKnife.ets index c631cef..cffa632 100644 --- a/imageknife/src/main/ets/components/imageknife/ImageKnife.ets +++ b/imageknife/src/main/ets/components/imageknife/ImageKnife.ets @@ -30,8 +30,7 @@ import type {IDataFetch} from '../imageknife/networkmanage/IDataFetch' import {ParseResClient} from '../imageknife/resourcemanage/ParseResClient' import type {IResourceFetch} from '../imageknife/resourcemanage/IResourceFetch' import {ImageKnifeData,ImageKnifeType} from '../imageknife/ImageKnifeData' -import {FileUtils} from '../cache/FileUtils' -import {FileReader} from '../cache/FileReader' +import {ImageKnifeGlobal} from '../imageknife/ImageKnifeGlobal' import image from "@ohos.multimedia.image" import {CompressBuilder} from "../imageknife/compress/CompressBuilder" import { IDrawLifeCycle } from '../imageknife/interface/IDrawLifeCycle' @@ -39,7 +38,7 @@ import {LogUtil} from '../imageknife/utils/LogUtil' export class ImageKnife { static readonly SEPARATOR: string = '/' - private imageKnifeContext; + private memoryCache: LruCache; private diskMemoryCache: DiskLruCache; private dataFetch: IDataFetch; @@ -64,14 +63,13 @@ export class ImageKnife { // 开发者可配置全局缓存 private engineKeyImpl: EngineKeyInterface; - private constructor(imgCtx) { - this.imageKnifeContext = imgCtx; + private constructor() { // 构造方法传入size 为保存文件个数 this.memoryCache = new LruCache(100); // 创建disk缓存 传入的size 为多少比特 比如20KB 传入20*1024 - this.diskMemoryCache = DiskLruCache.create(this.imageKnifeContext); + this.diskMemoryCache = DiskLruCache.create(ImageKnifeGlobal.getInstance().getHapContext()); // 创建网络下载能力 this.dataFetch = new DownloadClient(); @@ -80,7 +78,7 @@ export class ImageKnife { this.resourceFetch = new ParseResClient(); // 初始化本地 文件保存 - this.filesPath = this.imageKnifeContext.filesDir; + this.filesPath = (ImageKnifeGlobal.getInstance().getHapContext() as Record).filesDir as string; this.runningRequest = new Array(); this.pendingRequest = new Array(); @@ -95,11 +93,20 @@ export class ImageKnife { return this.memoryCache; } - public static with(context): ImageKnife{ - if (!this.sInstance) { - this.sInstance = new ImageKnife(context); + public static with(context:Record): ImageKnifeGlobal{ + // 存入hapContext; + let global:ImageKnifeGlobal = ImageKnifeGlobal.getInstance(); + global.setHapContext(context) + + // 初始化ImageKnife + if (!ImageKnife.sInstance) { + ImageKnife.sInstance = new ImageKnife(); } - return this.sInstance; + + // 存入ImageKnife + global.setImageKnife(ImageKnife.sInstance) + + return global; } getDiskMemoryCache(): DiskLruCache{ @@ -115,7 +122,7 @@ export class ImageKnife { } getImageKnifeContext() { - return this.imageKnifeContext; + return ImageKnifeGlobal.getInstance().getHapContext(); } setMemoryCache(lrucache: LruCache) { @@ -175,9 +182,9 @@ export class ImageKnife { // 替代原来的DiskLruCache public replaceDiskLruCache(size:number) { if (this.diskMemoryCache.getCacheMap().size() <= 0) { - this.diskMemoryCache = DiskLruCache.create(this.imageKnifeContext, size); + this.diskMemoryCache = DiskLruCache.create(ImageKnifeGlobal.getInstance().getHapContext(), size); } else { - let newDiskLruCache = DiskLruCache.create(this.imageKnifeContext, size); + let newDiskLruCache = DiskLruCache.create(ImageKnifeGlobal.getInstance().getHapContext(), size); this.diskMemoryCache.foreachDiskLruCache(function (value, key, map) { newDiskLruCache.set(key, value); }) diff --git a/imageknife/src/main/ets/components/imageknife/ImageKnifeComponent.ets b/imageknife/src/main/ets/components/imageknife/ImageKnifeComponent.ets index 5966051..7ee3017 100644 --- a/imageknife/src/main/ets/components/imageknife/ImageKnifeComponent.ets +++ b/imageknife/src/main/ets/components/imageknife/ImageKnifeComponent.ets @@ -14,6 +14,7 @@ */ import { ImageKnifeOption } from '../imageknife/ImageKnifeOption' +import { ImageKnifeGlobal } from '../imageknife/ImageKnifeGlobal' import { TransformType } from '../imageknife/transform/TransformType' import { RequestOption } from '../imageknife/RequestOption' import { ImageKnifeData } from '../imageknife/ImageKnifeData' @@ -272,7 +273,7 @@ export struct ImageKnifeComponent { this.configCacheStrategy(request); this.configDisplay(request); this.configRenderGpu(request); - globalThis.ImageKnife.call(request); + ImageKnifeGlobal.getInstance().getImageKnife().call(request); } displayPlaceholder(data: ImageKnifeData) { @@ -280,7 +281,7 @@ export struct ImageKnifeComponent { this.currentWidth, this.currentHeight, (gifTimeId) => { this.setGifTimeId(gifTimeId) })) { - if (!this.drawLifeCycleHasConsumed(globalThis.ImageKnife.getDefaultLifeCycle(), 'displayPlaceholder', this.context, data, this.imageKnifeOption, + if (!this.drawLifeCycleHasConsumed((ImageKnifeGlobal.getInstance().getImageKnife()).getDefaultLifeCycle(), 'displayPlaceholder', this.context, data, this.imageKnifeOption, this.currentWidth, this.currentHeight, (gifTimeId) => { this.setGifTimeId(gifTimeId) })) { @@ -298,7 +299,7 @@ export struct ImageKnifeComponent { this.currentWidth, this.currentHeight, (gifTimeId) => { this.setGifTimeId(gifTimeId) })) { - if (!this.drawLifeCycleHasConsumed(globalThis.ImageKnife.getDefaultLifeCycle(), 'displayProgress', this.context, percent, this.imageKnifeOption, + if (!this.drawLifeCycleHasConsumed((ImageKnifeGlobal.getInstance().getImageKnife()).getDefaultLifeCycle(), 'displayProgress', this.context, percent, this.imageKnifeOption, this.currentWidth, this.currentHeight, (gifTimeId) => { this.setGifTimeId(gifTimeId) })) { @@ -316,7 +317,7 @@ export struct ImageKnifeComponent { this.currentWidth, this.currentHeight, (gifTimeId) => { this.setGifTimeId(gifTimeId) })) { - if (!this.drawLifeCycleHasConsumed(globalThis.ImageKnife.getDefaultLifeCycle(), 'displayThumbSizeMultiplier', this.context, data, this.imageKnifeOption, + if (!this.drawLifeCycleHasConsumed((ImageKnifeGlobal.getInstance().getImageKnife()).getDefaultLifeCycle(), 'displayThumbSizeMultiplier', this.context, data, this.imageKnifeOption, this.currentWidth, this.currentHeight, (gifTimeId) => { this.setGifTimeId(gifTimeId) })) { @@ -332,7 +333,7 @@ export struct ImageKnifeComponent { this.currentWidth, this.currentHeight, (gifTimeId) => { this.setGifTimeId(gifTimeId) })) { - if (!this.drawLifeCycleHasConsumed(globalThis.ImageKnife.getDefaultLifeCycle(), 'displayMainSource', this.context, data, this.imageKnifeOption, + if (!this.drawLifeCycleHasConsumed((ImageKnifeGlobal.getInstance().getImageKnife()).getDefaultLifeCycle(), 'displayMainSource', this.context, data, this.imageKnifeOption, this.currentWidth, this.currentHeight, (gifTimeId) => { this.setGifTimeId(gifTimeId) })) { @@ -350,7 +351,7 @@ export struct ImageKnifeComponent { this.currentWidth, this.currentHeight, (gifTimeId) => { this.setGifTimeId(gifTimeId) })) { - if (!this.drawLifeCycleHasConsumed(globalThis.ImageKnife.getDefaultLifeCycle(), 'displayRetryholder', this.context, data, this.imageKnifeOption, + if (!this.drawLifeCycleHasConsumed((ImageKnifeGlobal.getInstance().getImageKnife()).getDefaultLifeCycle(), 'displayRetryholder', this.context, data, this.imageKnifeOption, this.currentWidth, this.currentHeight, (gifTimeId) => { this.setGifTimeId(gifTimeId) })) { @@ -367,7 +368,7 @@ export struct ImageKnifeComponent { this.currentWidth, this.currentHeight, (gifTimeId) => { this.setGifTimeId(gifTimeId) })) { - if (!this.drawLifeCycleHasConsumed(globalThis.ImageKnife.getDefaultLifeCycle(), 'displayErrorholder', this.context, data, this.imageKnifeOption, + if (!this.drawLifeCycleHasConsumed((ImageKnifeGlobal.getInstance().getImageKnife()).getDefaultLifeCycle(), 'displayErrorholder', this.context, data, this.imageKnifeOption, this.currentWidth, this.currentHeight, (gifTimeId) => { this.setGifTimeId(gifTimeId) })) { diff --git a/imageknife/src/main/ets/components/imageknife/ImageKnifeGlobal.ets b/imageknife/src/main/ets/components/imageknife/ImageKnifeGlobal.ets index 5b20d3f..93f2924 100644 --- a/imageknife/src/main/ets/components/imageknife/ImageKnifeGlobal.ets +++ b/imageknife/src/main/ets/components/imageknife/ImageKnifeGlobal.ets @@ -28,7 +28,7 @@ export class ImageKnifeGlobal { private _objects = new Map(); - public static getContext(): ImageKnifeGlobal { + public static getInstance(): ImageKnifeGlobal { if (!ImageKnifeGlobal.instance) { ImageKnifeGlobal.instance = new ImageKnifeGlobal(); } diff --git a/imageknife/src/main/ets/components/imageknife/RequestOption.ets b/imageknife/src/main/ets/components/imageknife/RequestOption.ets index 05c44d9..8d2a77f 100644 --- a/imageknife/src/main/ets/components/imageknife/RequestOption.ets +++ b/imageknife/src/main/ets/components/imageknife/RequestOption.ets @@ -46,6 +46,7 @@ import { KuwaharaFilterTransform } from '../imageknife/transform/KuwaharaFilterT import { ToonFilterTransform } from '../imageknife/transform/ToonFilterTransform' import { VignetteFilterTransform } from '../imageknife/transform/VignetteFilterTransform' import { LogUtil } from '../imageknife/utils/LogUtil' +import { ImageKnifeGlobal } from './ImageKnifeGlobal' export class RequestOption { loadSrc: string | PixelMap | Resource; @@ -436,16 +437,16 @@ export class RequestOption { // 等落盘结束后主动调用#removeCurrentAndSearchNext方法 }else{ // 非落盘情况,直接进行寻找下一个加载 - globalThis.ImageKnife.removeRunning(this); + (ImageKnifeGlobal.getInstance().getImageKnife()).removeRunning(this); } // 加载成功之后 - globalThis.ImageKnife.removeRunning(this); + (ImageKnifeGlobal.getInstance().getImageKnife()).removeRunning(this); } // 图片文件落盘之后会自动去寻找下一个数据加载 removeCurrentAndSearchNext(){ - globalThis.ImageKnife.removeRunning(this); + (ImageKnifeGlobal.getInstance().getImageKnife()).removeRunning(this); } loadError(err) { @@ -465,7 +466,7 @@ export class RequestOption { } } // 加载失败之后 - globalThis.ImageKnife.removeRunning(this); + (ImageKnifeGlobal.getInstance().getImageKnife()).removeRunning(this); } } diff --git a/imageknife/src/main/ets/components/imageknife/compress/CompressBuilder.ets b/imageknife/src/main/ets/components/imageknife/compress/CompressBuilder.ets index 0631338..6830b98 100644 --- a/imageknife/src/main/ets/components/imageknife/compress/CompressBuilder.ets +++ b/imageknife/src/main/ets/components/imageknife/compress/CompressBuilder.ets @@ -22,6 +22,7 @@ import {DataStringPathProvider} from '../compress/provider/DataStringPathProvide import {RecourseProvider} from '../compress/provider/RecourseProvider' import { Engine } from '../compress/Engine' import { ImageKnife } from '../ImageKnife' +import { ImageKnifeGlobal } from '../ImageKnifeGlobal'; export class CompressBuilder { private _mTargetDir: string; @@ -106,7 +107,7 @@ export class CompressBuilder { public async get():Promise { if (!this._mTargetDir) { - let context = globalThis.ImageKnife.getImageKnifeContext(); + let context:Record = (ImageKnifeGlobal.getInstance().getHapContext() as Record); let path = context.filesDir; var timestamp = (new Date()).valueOf(); this._outFilePath = path + "/compress/" + timestamp + (Math.random() * 100).toFixed(0) + ".jpg"; @@ -201,7 +202,7 @@ export class CompressBuilder { } private getImageCacheFile() { - let context = globalThis.ImageKnife.getImageKnifeContext(); + let context:Record = (ImageKnifeGlobal.getInstance().getHapContext() as Record) var timestamp = (new Date()).valueOf(); this._outFilePath = context.filesDir + "/compress/" + timestamp + (Math.random() * 100).toFixed(0) + ".jpg"; this.startCompress(); diff --git a/imageknife/src/main/ets/components/imageknife/compress/provider/RecourseProvider.ets b/imageknife/src/main/ets/components/imageknife/compress/provider/RecourseProvider.ets index d84bef4..b20da93 100644 --- a/imageknife/src/main/ets/components/imageknife/compress/provider/RecourseProvider.ets +++ b/imageknife/src/main/ets/components/imageknife/compress/provider/RecourseProvider.ets @@ -16,6 +16,8 @@ import {CompressAdapter, PixelMapFormat} from "../provider/CompressAdapter" import {CompressDataListener} from "../listener/CompressDataListener" import {FileTypeUtil} from '../../../imageknife/utils/FileTypeUtil' +import { ImageKnifeGlobal } from '../../ImageKnifeGlobal'; +import resourceManager from '@ohos.resourceManager'; export class RecourseProvider extends CompressAdapter { private static CHARS: string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; @@ -42,8 +44,8 @@ export class RecourseProvider extends CompressAdapter { if (!this._mResourceData) { throw Error("compress resource is empty"); } - globalThis.ImageKnife.getImageKnifeContext().resourceManager - .getMedia(this._mResourceData.id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent(this._mResourceData.id) .then(data => { let buffer = this.uint8ArrayToBuffer(data); let fileTypeUtil = new FileTypeUtil() diff --git a/imageknife/src/main/ets/components/imageknife/networkmanage/DownloadClient.ets b/imageknife/src/main/ets/components/imageknife/networkmanage/DownloadClient.ets index 04a6762..1cc92fb 100644 --- a/imageknife/src/main/ets/components/imageknife/networkmanage/DownloadClient.ets +++ b/imageknife/src/main/ets/components/imageknife/networkmanage/DownloadClient.ets @@ -19,6 +19,7 @@ import { NetworkDownloadClient } from './NetworkDownloadClient' import { LoadLocalFileClient } from './LoadLocalFileClient' import { LoadDataShareFileClient } from './LoadDataShareFileClient' import loadRequest from '@ohos.request'; +import { ImageKnifeGlobal } from '../ImageKnifeGlobal' // 数据加载器 export class DownloadClient implements IDataFetch { @@ -28,8 +29,11 @@ export class DownloadClient implements IDataFetch { loadData(request: RequestOption, onCompleteFunction, onErrorFunction) { if (typeof request.loadSrc == 'string') { - if (request.loadSrc.startsWith(globalThis.ImageKnife.getImageKnifeContext() - .filesDir) || request.loadSrc.startsWith(globalThis.ImageKnife.getImageKnifeContext().cacheDir)) { + let fileDir:string = (ImageKnifeGlobal.getInstance().getHapContext() as Record).filesDir as string; + let cacheDir:string = (ImageKnifeGlobal.getInstance().getHapContext() as Record).cacheDir as string + + if (request.loadSrc.startsWith(fileDir) || + request.loadSrc.startsWith(cacheDir)) { // 本地沙盒 this.localFileClient.loadData(request, onCompleteFunction, onErrorFunction) } else if (request.loadSrc.startsWith('datashare://') || request.loadSrc.startsWith('file://')) { diff --git a/imageknife/src/main/ets/components/imageknife/networkmanage/NetworkDownloadClient.ets b/imageknife/src/main/ets/components/imageknife/networkmanage/NetworkDownloadClient.ets index 9886cea..d3cf5ab 100644 --- a/imageknife/src/main/ets/components/imageknife/networkmanage/NetworkDownloadClient.ets +++ b/imageknife/src/main/ets/components/imageknife/networkmanage/NetworkDownloadClient.ets @@ -19,7 +19,8 @@ import { SparkMD5 } from '../../3rd_party/sparkmd5/spark-md5' import { FileUtils } from '../../cache/FileUtils' import loadRequest from '@ohos.request'; import { LogUtil } from '../utils/LogUtil' - +import { ImageKnifeGlobal } from '../ImageKnifeGlobal' +import common from '@ohos.app.ability.common' // 数据加载器 export class NetworkDownloadClient implements IDataFetch { loadData(request: RequestOption, onComplete: (img: ArrayBuffer) => void, onError: (err: string) => void) { @@ -41,7 +42,7 @@ export class NetworkDownloadClient implements IDataFetch { enableMetered: true, }; let loadTask = null; - loadRequest.downloadFile(globalThis.ImageKnife.getImageKnifeContext(), downloadConfig).then(downloadTask => { + loadRequest.downloadFile( (ImageKnifeGlobal.getInstance().getHapContext() as common.BaseContext ), downloadConfig).then(downloadTask => { if (downloadTask) { loadTask = downloadTask; diff --git a/imageknife/src/main/ets/components/imageknife/resourcemanage/ParseResClient.ets b/imageknife/src/main/ets/components/imageknife/resourcemanage/ParseResClient.ets index b622d83..44a0586 100644 --- a/imageknife/src/main/ets/components/imageknife/resourcemanage/ParseResClient.ets +++ b/imageknife/src/main/ets/components/imageknife/resourcemanage/ParseResClient.ets @@ -17,14 +17,15 @@ import type {IResourceFetch} from '../resourcemanage/IResourceFetch' import {ResourceTypeEts} from '../../imageknife/constants/ResourceTypeEts' import resourceManager from '@ohos.resourceManager'; +import { ImageKnifeGlobal } from '../ImageKnifeGlobal'; export class ParseResClient implements IResourceFetch { loadResource(res: Resource, onCompleteFunction, onErrorFunction) { let resId = res.id; let resType = res.type; if (resType == ResourceTypeEts.MEDIA) { - globalThis.ImageKnife.getImageKnifeContext().resourceManager - .getMedia(resId) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContent(resId) .then(data => { let arrayBuffer = this.typedArrayToBuffer(data); onCompleteFunction(arrayBuffer) diff --git a/imageknife/src/main/ets/components/imageknife/resourcemanage/ParseResClientBase64.ets b/imageknife/src/main/ets/components/imageknife/resourcemanage/ParseResClientBase64.ets index a9590ad..03dbc09 100644 --- a/imageknife/src/main/ets/components/imageknife/resourcemanage/ParseResClientBase64.ets +++ b/imageknife/src/main/ets/components/imageknife/resourcemanage/ParseResClientBase64.ets @@ -18,14 +18,15 @@ import {ResourceTypeEts} from '../../imageknife/constants/ResourceTypeEts' import {Base64} from '../../cache/Base64' import resourceManager from '@ohos.resourceManager'; +import { ImageKnifeGlobal } from '../ImageKnifeGlobal'; export class ParseResClientBase64 implements IResourceFetch { loadResource(res: Resource, onCompleteFunction, onErrorFunction) { let resId = res.id; let resType = res.type; if (resType == ResourceTypeEts.MEDIA) { - globalThis.ImageKnife.getImageKnifeContext().resourceManager - .getMediaBase64(resId) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager) + .getMediaContentBase64(resId) .then(data => { let matchReg = ';base64,'; var firstIndex = data.indexOf(matchReg) diff --git a/imageknife/src/main/ets/components/imageknife/transform/MaskTransformation.ets b/imageknife/src/main/ets/components/imageknife/transform/MaskTransformation.ets index 51a413c..c9e8c98 100644 --- a/imageknife/src/main/ets/components/imageknife/transform/MaskTransformation.ets +++ b/imageknife/src/main/ets/components/imageknife/transform/MaskTransformation.ets @@ -21,6 +21,8 @@ import { MaskUtils } from "../utils/MaskUtils" import {LogUtil} from '../../imageknife/utils/LogUtil' import image from "@ohos.multimedia.image" import resmgr from "@ohos.resourceManager" +import { ImageKnifeGlobal } from '../ImageKnifeGlobal' +import resourceManager from '@ohos.resourceManager' export class MaskTransformation implements BaseTransform { private _mResourceData: Resource; @@ -84,7 +86,7 @@ export class MaskTransformation implements BaseTransform { if (!this._mResourceData) { throw new Error("MaskTransformation resource is empty"); } - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getMedia(this._mResourceData.id) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager).getMediaContent(this._mResourceData.id) .then(array => { let buffer = array.buffer.slice(array.byteOffset, array.byteLength + array.byteOffset); var imageSource = image.createImageSource(buffer as any); diff --git a/imageknife/src/main/ets/components/imageknife/utils/ColorUtils.ets b/imageknife/src/main/ets/components/imageknife/utils/ColorUtils.ets index 62de0b1..0ffc41d 100644 --- a/imageknife/src/main/ets/components/imageknife/utils/ColorUtils.ets +++ b/imageknife/src/main/ets/components/imageknife/utils/ColorUtils.ets @@ -12,6 +12,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import resourceManager from '@ohos.resourceManager'; +import { ImageKnifeGlobal } from '../ImageKnifeGlobal'; import type {DataCallBack} from "../interface/DataCallBack" export namespace ColorUtils { @@ -23,7 +25,7 @@ export namespace ColorUtils { export function parseColor(c: string, callback: DataCallBack) { var reColor = 'sys.color.' + c; - globalThis.ImageKnife.getImageKnifeContext().resourceManager.getString($r(reColor) + ((ImageKnifeGlobal.getInstance().getHapContext() as Record).resourceManager as resourceManager.ResourceManager).getString($r(reColor) .id, (err, color) => { if (!err) { var cos = JSON.stringify(color); diff --git a/imageknife/src/main/ets/components/imageknife/utils/gif/GIFParseImpl.ets b/imageknife/src/main/ets/components/imageknife/utils/gif/GIFParseImpl.ets index 03b87dc..aecbc66 100644 --- a/imageknife/src/main/ets/components/imageknife/utils/gif/GIFParseImpl.ets +++ b/imageknife/src/main/ets/components/imageknife/utils/gif/GIFParseImpl.ets @@ -18,13 +18,14 @@ import { LoadType } from '../../../../../../../GifWorker' import { parseBufferToFrame } from './parse/GIFParse' import { LogUtil } from '../../utils/LogUtil' import image from '@ohos.multimedia.image' +import { ImageKnifeGlobal } from '../../ImageKnifeGlobal' export class GIFParseImpl implements IParseGif { parseGifs(imageinfo: ArrayBuffer, callback: (data?, err?) => void, worker?,runMainThread?:boolean) { let resolveWorker = worker; LogUtil.log('parseGifs resolveWorker1 is null =' + (resolveWorker == null)) if (!resolveWorker) { - resolveWorker = globalThis.ImageKnife.getGifWorker(); + resolveWorker = ImageKnifeGlobal.getInstance().getImageKnife().getGifWorker(); } LogUtil.log('parseGifs resolveWorker2 is null =' + (resolveWorker == null))