1.分离出3rd_party 用来存放pako, jsbinaryschme, spark-md5三方库源码

Signed-off-by: zhoulisheng1 <zhoulisheng1@huawei.com>
This commit is contained in:
zhoulisheng1 2023-04-07 11:23:42 +08:00
parent 29067035bc
commit 72edea3c7e
27 changed files with 23 additions and 19 deletions

View File

@ -11,6 +11,7 @@
<filteritem type="filename" name="NOTICE" desc="NOTICE文件不添加版权头"/>
<filteritem type="filename" name="hvigorw.bat" desc="hvigorw配置文件DevEco Studio自动生成不手动修改"/>
<filteritem type="filename" name="hvigorw" desc="hvigorw配置文件DevEco Studio自动生成不手动修改"/>
<filteritem type="filepath" name="imageknife/src/main/ets/components/3rd_party/.*" desc="第三方开源软件源码,不修改版权头,以防有修改版权风险"/>
</filefilter>
<filefilter name="defaultPolicyFilter" desc="Filters for compatibilitylicense header policies">
<filteritem type="filename" name="hvigorfile.js" desc="hvigor构建脚本DevEco Studio自动生成不手动修改"/>
@ -21,6 +22,7 @@
<filteritem type="filename" name="NOTICE" desc="NOTICE文件不添加版权头"/>
<filteritem type="filename" name="hvigorw.bat" desc="hvigorw配置文件DevEco Studio自动生成不手动修改"/>
<filteritem type="filename" name="hvigorw" desc="hvigorw配置文件DevEco Studio自动生成不手动修改"/>
<filteritem type="filepath" name="imageknife/src/main/ets/components/3rd_party/.*" desc="第三方开源软件源码,不修改版权头,以防有修改版权风险"/>
</filefilter>
<filefilter name="defaultPolicyFilter" desc="Filters for copyright header policies">
</filefilter>
@ -33,6 +35,7 @@
<filteritem type="filename" name="*.gif" desc="gif图片格式文件,用于展示示例"/>
<filteritem type="filename" name="*.jpg" desc="jpg图片格式文件,用于展示示例"/>
<filteritem type="filename" name="*.jpeg" desc="jpeg图片格式文件,用于展示示例"/>
<filteritem type="filepath" name="imageknife/src/main/ets/components/3rd_party/.*" desc="第三方开源软件源码,不修改版权头,以防有修改版权风险"/>
</filefilter>
</filefilterlist>
</oatconfig>

View File

@ -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)
<img src="screenshot/gif4.gif" width="50%"/>
## 约束与限制
在下述版本验证通过:
DevEco Studio: 3.1Release(3.1.3.400), SDK: API9 Release(3.2.11.5)
## 目录结构

View File

@ -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)
## 贡献代码

View File

@ -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'
export * from './src/main/ets/components/imageknife/utils/LogUtil'

View File

@ -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;
}

View File

@ -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)) {

View File

@ -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;

View File

@ -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)
}

View File

@ -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'