From 72edea3c7e5c55991c802ca7ad28666b24227e2e Mon Sep 17 00:00:00 2001 From: zhoulisheng1 Date: Fri, 7 Apr 2023 11:23:42 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=88=86=E7=A6=BB=E5=87=BA3rd=5Fparty=20?= =?UTF-8?q?=E7=94=A8=E6=9D=A5=E5=AD=98=E6=94=BEpako,=20jsbinaryschme,=20sp?= =?UTF-8?q?ark-md5=E4=B8=89=E6=96=B9=E5=BA=93=E6=BA=90=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhoulisheng1 --- OAT.xml | 3 +++ README.md | 5 +++-- gpu_transform/README.md | 3 ++- imageknife/index.ets | 3 +-- .../jsbinaryschemaparser/lib/index.js | 0 .../jsbinaryschemaparser/lib/parsers/uint8.js | 0 .../jsbinaryschemaparser/lib/schemas/gif.js | 0 .../{imageknife/pngj => 3rd_party}/pako/lib/deflate.js | 0 .../{imageknife/pngj => 3rd_party}/pako/lib/inflate.js | 0 .../pngj => 3rd_party}/pako/lib/utils/common.js | 0 .../pngj => 3rd_party}/pako/lib/utils/strings.js | 0 .../pngj => 3rd_party}/pako/lib/zlib/adler32.js | 0 .../pngj => 3rd_party}/pako/lib/zlib/constants.js | 0 .../pngj => 3rd_party}/pako/lib/zlib/crc32.js | 0 .../pngj => 3rd_party}/pako/lib/zlib/deflate.js | 0 .../pngj => 3rd_party}/pako/lib/zlib/gzheader.js | 0 .../pngj => 3rd_party}/pako/lib/zlib/inffast.js | 0 .../pngj => 3rd_party}/pako/lib/zlib/inflate.js | 0 .../pngj => 3rd_party}/pako/lib/zlib/inftrees.js | 0 .../pngj => 3rd_party}/pako/lib/zlib/messages.js | 0 .../pngj => 3rd_party}/pako/lib/zlib/trees.js | 0 .../pngj => 3rd_party}/pako/lib/zlib/zstream.js | 0 .../utils => 3rd_party/sparkmd5}/spark-md5.js | 6 +++--- .../imageknife/networkmanage/NetworkDownloadClient.ets | 4 ++-- .../src/main/ets/components/imageknife/pngj/UPNG.js | 2 +- .../imageknife/requestmanage/RequestManager.ets | 10 +++++----- .../ets/components/imageknife/utils/gif/parse/index.js | 6 +++--- 27 files changed, 23 insertions(+), 19 deletions(-) rename imageknife/src/main/ets/components/{imageknife/utils/gif => 3rd_party}/jsbinaryschemaparser/lib/index.js (100%) rename imageknife/src/main/ets/components/{imageknife/utils/gif => 3rd_party}/jsbinaryschemaparser/lib/parsers/uint8.js (100%) rename imageknife/src/main/ets/components/{imageknife/utils/gif => 3rd_party}/jsbinaryschemaparser/lib/schemas/gif.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/deflate.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/inflate.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/utils/common.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/utils/strings.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/zlib/adler32.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/zlib/constants.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/zlib/crc32.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/zlib/deflate.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/zlib/gzheader.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/zlib/inffast.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/zlib/inflate.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/zlib/inftrees.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/zlib/messages.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/zlib/trees.js (100%) rename imageknife/src/main/ets/components/{imageknife/pngj => 3rd_party}/pako/lib/zlib/zstream.js (100%) rename imageknife/src/main/ets/components/{imageknife/utils => 3rd_party/sparkmd5}/spark-md5.js (99%) diff --git a/OAT.xml b/OAT.xml index 7eabe50..e7ff899 100644 --- a/OAT.xml +++ b/OAT.xml @@ -11,6 +11,7 @@ + @@ -21,6 +22,7 @@ + @@ -33,6 +35,7 @@ + diff --git a/README.md b/README.md index 26c8520..6dc2ff7 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,6 @@ ohpm install @ohos/imageknife ``` -OpenHarmony npm环境配置等更多内容,参考安装教程 [如何安装OpenHarmony npm包](https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_npm_usage.md)。 - ## 使用说明 1.在AbilityStage.ts中,初始化全局ImageKnife实例。 @@ -440,6 +438,9 @@ request.skipMemoryCache(true) ## 约束与限制 + +在下述版本验证通过: + DevEco Studio: 3.1Release(3.1.3.400), SDK: API9 Release(3.2.11.5) ## 目录结构 diff --git a/gpu_transform/README.md b/gpu_transform/README.md index e5a8d8e..496ab88 100644 --- a/gpu_transform/README.md +++ b/gpu_transform/README.md @@ -6,7 +6,7 @@ ## 下载安装 ``` - ohpm install @ohos/gpu_transform + ohpm install @ohos/gpu_transform ``` ## 例子说明 @@ -67,6 +67,7 @@ ## 约束与限制 在下述版本验证通过: + DevEco Studio: 3.1Release(3.1.3.400), SDK: API9 Release(3.2.11.5) ## 贡献代码 diff --git a/imageknife/index.ets b/imageknife/index.ets index 6668275..9430bae 100644 --- a/imageknife/index.ets +++ b/imageknife/index.ets @@ -124,5 +124,4 @@ export {gifHandler} from './GifWorker' export type {IDrawLifeCycle} from './src/main/ets/components/imageknife/interface/IDrawLifeCycle' // 日志管理 -export * from './src/main/ets/components/imageknife/utils/LogUtil' -export * from './src/main/ets/components/imageknife/utils/spark-md5' \ No newline at end of file +export * from './src/main/ets/components/imageknife/utils/LogUtil' \ No newline at end of file diff --git a/imageknife/src/main/ets/components/imageknife/utils/gif/jsbinaryschemaparser/lib/index.js b/imageknife/src/main/ets/components/3rd_party/jsbinaryschemaparser/lib/index.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/utils/gif/jsbinaryschemaparser/lib/index.js rename to imageknife/src/main/ets/components/3rd_party/jsbinaryschemaparser/lib/index.js diff --git a/imageknife/src/main/ets/components/imageknife/utils/gif/jsbinaryschemaparser/lib/parsers/uint8.js b/imageknife/src/main/ets/components/3rd_party/jsbinaryschemaparser/lib/parsers/uint8.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/utils/gif/jsbinaryschemaparser/lib/parsers/uint8.js rename to imageknife/src/main/ets/components/3rd_party/jsbinaryschemaparser/lib/parsers/uint8.js diff --git a/imageknife/src/main/ets/components/imageknife/utils/gif/jsbinaryschemaparser/lib/schemas/gif.js b/imageknife/src/main/ets/components/3rd_party/jsbinaryschemaparser/lib/schemas/gif.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/utils/gif/jsbinaryschemaparser/lib/schemas/gif.js rename to imageknife/src/main/ets/components/3rd_party/jsbinaryschemaparser/lib/schemas/gif.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/deflate.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/deflate.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/deflate.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/deflate.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/inflate.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/inflate.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/inflate.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/inflate.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/utils/common.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/utils/common.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/utils/common.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/utils/common.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/utils/strings.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/utils/strings.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/utils/strings.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/utils/strings.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/adler32.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/adler32.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/adler32.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/adler32.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/constants.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/constants.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/constants.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/constants.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/crc32.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/crc32.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/crc32.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/crc32.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/deflate.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/deflate.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/deflate.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/deflate.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/gzheader.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/gzheader.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/gzheader.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/gzheader.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/inffast.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/inffast.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/inffast.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/inffast.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/inflate.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/inflate.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/inflate.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/inflate.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/inftrees.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/inftrees.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/inftrees.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/inftrees.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/messages.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/messages.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/messages.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/messages.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/trees.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/trees.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/trees.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/trees.js diff --git a/imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/zstream.js b/imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/zstream.js similarity index 100% rename from imageknife/src/main/ets/components/imageknife/pngj/pako/lib/zlib/zstream.js rename to imageknife/src/main/ets/components/3rd_party/pako/lib/zlib/zstream.js diff --git a/imageknife/src/main/ets/components/imageknife/utils/spark-md5.js b/imageknife/src/main/ets/components/3rd_party/sparkmd5/spark-md5.js similarity index 99% rename from imageknife/src/main/ets/components/imageknife/utils/spark-md5.js rename to imageknife/src/main/ets/components/3rd_party/sparkmd5/spark-md5.js index 78b6fe3..9a3e5d0 100644 --- a/imageknife/src/main/ets/components/imageknife/utils/spark-md5.js +++ b/imageknife/src/main/ets/components/3rd_party/sparkmd5/spark-md5.js @@ -1,4 +1,4 @@ - +import buffer from '@ohos.buffer'; /* * Fastest md5 implementation around (JKM md5). @@ -360,9 +360,9 @@ function toUtf8(str) { if (/[\u0080-\uFFFF]/.test(str)) { - str = unescape(encodeURIComponent(str)); + // 源码是str = unescape(encodeURIComponent(str));这里的API并不对等 + buffer.from(str).toString("utf-8") } - return str; } diff --git a/imageknife/src/main/ets/components/imageknife/networkmanage/NetworkDownloadClient.ets b/imageknife/src/main/ets/components/imageknife/networkmanage/NetworkDownloadClient.ets index bae9bea..1b3716d 100644 --- a/imageknife/src/main/ets/components/imageknife/networkmanage/NetworkDownloadClient.ets +++ b/imageknife/src/main/ets/components/imageknife/networkmanage/NetworkDownloadClient.ets @@ -15,14 +15,14 @@ import type { IDataFetch } from '../networkmanage/IDataFetch' import { RequestOption } from '../RequestOption' -import { SparkMD5 } from '../utils/spark-md5' +import { SparkMD5 } from '../../3rd_party/sparkmd5/spark-md5' import { FileUtils } from '../../cache/FileUtils' import loadRequest from '@ohos.request'; // 数据加载器 export class NetworkDownloadClient implements IDataFetch { loadData(request: RequestOption, onComplete: (img: ArrayBuffer) => void, onError: (err: string) => void) { - let filename = SparkMD5.hash(request.generateDataKey); + let filename = SparkMD5.hashBinary(request.generateDataKey); let downloadFolder = request.getFilesPath() + "/" + request.networkCacheFolder; let allpath = request.getFilesPath() + "/" + request.networkCacheFolder + "/" + filename + ".img"; if (!FileUtils.getInstance().existFolder(downloadFolder)) { diff --git a/imageknife/src/main/ets/components/imageknife/pngj/UPNG.js b/imageknife/src/main/ets/components/imageknife/pngj/UPNG.js index 5a326a2..8605db7 100644 --- a/imageknife/src/main/ets/components/imageknife/pngj/UPNG.js +++ b/imageknife/src/main/ets/components/imageknife/pngj/UPNG.js @@ -21,7 +21,7 @@ *OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE *SOFTWARE.*/ //const pako = require('pako'); -import {deflate} from './pako/lib/deflate' +import {deflate} from '../../3rd_party/pako/lib/deflate' var pako = {deflate} const UZIP = null; diff --git a/imageknife/src/main/ets/components/imageknife/requestmanage/RequestManager.ets b/imageknife/src/main/ets/components/imageknife/requestmanage/RequestManager.ets index 1f7a86f..8bd051a 100644 --- a/imageknife/src/main/ets/components/imageknife/requestmanage/RequestManager.ets +++ b/imageknife/src/main/ets/components/imageknife/requestmanage/RequestManager.ets @@ -16,7 +16,7 @@ import { RequestOption } from '../../imageknife/RequestOption' import { DiskLruCache } from '@ohos/disklrucache' import { LruCache } from '../../cache/LruCache' -import { SparkMD5 } from '../utils/spark-md5' +import { SparkMD5 } from '../../3rd_party/sparkmd5/spark-md5' import { MemoryCacheProxy } from '../requestmanage/MemoryCacheProxy' import { DiskCacheProxy } from '../requestmanage/DiskCacheProxy' import { FileTypeUtil } from '../utils/FileTypeUtil' @@ -112,14 +112,14 @@ export class RequestManager { // 变换后缓存 allCacheInfo.resourceCacheInfo = { - key: SparkMD5.hash(this.options.generateResourceKey), - path: (this.mDiskCacheProxy.getCachePath() + SparkMD5.hash(this.options.generateResourceKey)) + key: SparkMD5.hashBinary(this.options.generateResourceKey), + path: (this.mDiskCacheProxy.getCachePath() + SparkMD5.hashBinary(this.options.generateResourceKey)) }; // 原图缓存 allCacheInfo.dataCacheInfo = { - key: SparkMD5.hash(this.options.generateDataKey), - path: this.mDiskCacheProxy.getCachePath() + SparkMD5.hash(this.options.generateDataKey) + key: SparkMD5.hashBinary(this.options.generateDataKey), + path: this.mDiskCacheProxy.getCachePath() + SparkMD5.hashBinary(this.options.generateDataKey) } this.options.allCacheInfoCallback(allCacheInfo) } diff --git a/imageknife/src/main/ets/components/imageknife/utils/gif/parse/index.js b/imageknife/src/main/ets/components/imageknife/utils/gif/parse/index.js index bfe3199..1fc1e99 100644 --- a/imageknife/src/main/ets/components/imageknife/utils/gif/parse/index.js +++ b/imageknife/src/main/ets/components/imageknife/utils/gif/parse/index.js @@ -13,8 +13,8 @@ * limitations under the License. */ -import { _default } from '../jsbinaryschemaparser/lib/schemas/gif' -import { conditional, loop, parse } from '../jsbinaryschemaparser/lib/index' +import { _default } from '../../../../3rd_party/jsbinaryschemaparser/lib/schemas/gif' +import { conditional, loop, parse } from '../../../../3rd_party/jsbinaryschemaparser/lib/index' import { buildStream, peekByte, @@ -25,7 +25,7 @@ import { readBytes, readString, readUnsigned -} from '../jsbinaryschemaparser/lib/parsers/uint8' +} from '../../../../3rd_party/jsbinaryschemaparser/lib/parsers/uint8' import { deinterlace } from './deinterlace' import { lzw } from './lzw'