1 Star 0 Fork 204

shipengtao95 / tpc_resource

forked from OpenHarmony-TPC / tpc_resource 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

开源三方库资源汇总

本文收集了一些已经发布在OHPM(OpenHarmony三方组件中心仓)上的三方组件资源,欢迎应用开发者参考和使用,同时也欢迎开发者将自己开源在OHPM上的三方组件,提PR补充到列表当中。

JS/ArkTS语言

UI

  • @ohos/pulltorefresh - 支持设置内置动画的各种属性,支持设置自定义动画的下拉刷新、上拉加载组件

  • @ohos/textlayoutbuilder - TextLayoutBuilder是一个可定制任意样式的文本构建工具,包括字体间距、大小、颜色、布局方式、富文本高亮显示等

  • @ohos/overscroll-decor - UI滚动组件

  • @ohos/mpchart - mpchart是一个包含各种类型图表的图表库,主要用于业务数据汇总,例如销售数据走势图,股价走势图等场景中使用,方便开发者快速实现图表UI,mpchart主要包括曲线图、柱形图、饼状图、蜡烛图、气泡图、雷达图等自定义图表库

  • @ohos/material-dialogs - 是自定义对话框库

  • @ohos/materialprogressbar - 是一个自定义ProgressBar效果的库

  • @ohos/roundedimageview - RoundedImageView支持圆角(和椭圆或圆形)的快速 ImageView,它支持许多附加功能,包括椭圆、圆角矩形、ScaleTypes 和 TileModes

  • @ohos/banner - 是适配OpenHarmony环境的一款banner库,常用于广告图片轮播场景

  • @ohos/high_light_guide - 基于OpenHarmony的高亮型新手引导组件,通过高亮区域与蒙版背景的明暗度对比,使用户快速锁定重点功能

动画

  • @ohos/lottie - 适用于OpenHarmony的动画库,功能类似于Java组件lottie、AndroidViewAnimations、Leonids等库

  • @ohos/svg - svg是一个SVG图片的解析器和渲染器,可以解析SVG图片并渲染到页面上,还可以动态改变SVG的样式

网络

  • @ohos/axios - 一个基于 promise 的网络请求库,可以运行 node.js 和浏览器中。本库基于Axios 原库进行适配,使其可以运行在 OpenHarmony,并沿用其现有用法和特性

图片

  • @ohos/imageknife - 更高效、更轻便、更简单的图像加载缓存库,能力类似java组件glide、disklrucache、glide-transformations、fresco、picasso、uCrop、Luban、pngj、Android-Image-Cropper、android-crop等库

  • @ohos/xmlgraphicsbatik - 用于处理可缩放矢量图形(SVG)格式的图像,例如显示、生成、解析或者操作图像

  • @ohos/gif-drawable - 基于Canvas进行绘制,支持gif图片相关功能

  • @ohos/subsampling-scale-image-view - 视图缩放组件

  • @ohos/imageviewzoom - ImageViewZoom 支持加载 Resource 或 PixelMap 图片,支持设置图像显示类型功能,支持缩放功能,支持平移功能,双击放大功能,可以监听图片大小,资源变化事件,支持清除显示图片功能

  • ThreeJs360 - ThreeJs360Demo,使用系统提供的Web组件,加载threeJs,实现360度的全景渲染功能

多媒体

数据存储

  • @ohos/disklrucache - 专门为OpenHarmony打造的一款磁盘缓存库,通过LRU算法进行磁盘数据存取

  • @ohos/fileio-extra - 提供了更丰富全面的文件操作功能

  • @ohos/mmkv - 一款小型键值对存储框架

  • @ohos/dataorm - dataORM是一个具有一行代码操作数据库或链式调用,备份、升级、缓存等特性的关系映射数据库

  • @msgpack/msgpack - MessagePack是一个非常高效的对象序列化库

  • @ohos/arangojs - 是一款适用于OpenHarmony环境的ArangoDB数据库javascript版驱动

  • @ohos/protobufjs - ProtoBuf(protocol buffers) 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等

  • memory-cache - 内存缓存

  • protobuf_format - 基于@ohos/protobufjs 1.0.1版本的Message,提供格式转换能力,允许将Message输出重写为基本文本格式,如xml,json,html

文件数据与传输

  • @ohos/mqtt - 使应用程序能够连接到MQTT代理以发布消息、订阅主题和接收发布的消息。

  • @ohos/liveeventbus - 消息总线,支持Sticky,支持跨进程,支持跨应用广播

  • @ohos/mbassador - 一个发布订阅模式的三方组件

  • eventbusjs - eventbusjs主要功能是消息订阅发送

  • js-sha256 - sha-256/sha-224 hash算法

  • hi-base32 - base32 encode/decode

  • js-md5 - A simple MD5 hash function for JavaScript supports UTF-8 encoding.

  • js-sha1 - A simple SHA1 hash function for JavaScript supports UTF-8 encoding.

  • js-md2 - A simple MD2 hash function for JavaScript supports UTF-8 encoding.

  • brotli-js - 一种通用无损压缩算法

  • cbor-js - 是OpenHarmony系统下使用cbor-js的示例,cbor-js是以简明二进制对象表示 (CBOR) 数据格式 ( RFC8949 )编码和解析数据的Javascript开源库

  • soundex-code - 是一个OpenHarmony系统下使用各种编解码的示例,包含各种格式的简单编码器和解码器, 例如 Base64 Base32 等除了这些广泛使用的编码器和解码器之外,编解码器包还维护了一组语音编码实用程序

  • pako - pako是一个JavaScript库,支持deflate和gzip压缩解压功能

  • lz4js - Lz4js是一个JavaScript库,实现Lz4压缩/解压库

  • snappyjs - SnappyJS是一个JavaScript库,实现Snappy压缩/解压库

  • @ohos/okio - okio是一个通过数据流、序列化和文件系统来优化系统输入输出流的能力的库

  • @ohos/jsonwebtoken - JSON Web Token(JWT)是一个开放的行业标准(RFC 7519),它定义了一种简洁的、自包含的协议格式,用于在通信双方传递json对象,传递的信息经过数字签名可以被验证和信任。是一款适用于 openharmony 环境的 Json Web Token实现

安全

  • @ohos/crypto-js - 加密算法类库,目前支持MD5、SHA-1、SHA-256、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2等

工具

  • @ohos/zxing - 一个解析/生成二维码的组件,能力类似java组件zxing,Zbar、zxing-android-embedded、BGAQRCode-Android等

  • js-tokens - js-tokens 是一个微型JavaScript的分词器。小巧的、正则表达式驱动的、宽松的、几乎符合规范的 JavaScript 标记器

  • easy-relpace - 使用Levenshtein 距离算法测量两个字符串之间的差异。 Compare Text替换字符串

  • hex-encode-decode - Hex encode & decode string

  • text-encoding - 在JavaScript中对二进制数据的文本数据和类型化数组缓冲区进行编码和解码

  • qr-code-generator - 二维码生成器

  • @ohos/juniversalchardet - 字符编码识别组件

  • @zxing/text-encoding - 在JavaScript中对二进制数据的文本数据和类型化数组缓冲区进行编码和解码

  • adler-32 - 一个在js环境中实现ADLER-32的校验和算法的三方库

  • dayjs - dayjs 是一个轻量的处理时间和日期的 JavaScript 库

  • @ohos/jsonschema - jsonschema是一个轻便易用的JSON模式验证器

  • validator - validator.js是字符串验证器和清理器的库

  • percentage-regex - percentage-regex是百分比验证的库

  • leap-year - 判断闰年的库

  • time-ampm - 获取24小时时间库

  • imagetype - 获取图片类型库

  • randomColor - 生成随机颜色的库

  • @ohos/util_code - utilCode是一个通用工具的示例,包含温度转换、正则校验、图片处理、坐标转换、和颜色获取等常用功能

  • xslt-processor - 支持使用与XML文档配对的XSLT样式表将XML文档转换成多中文本格式(HTML、Text等)的库

  • @ohos/pinyin4js - 一款汉字转拼音的JavaScript开源库

  • EventEmitter3 - EventEmitter3是一款高性能EventEmitter,支持添加监听事件,监听一次性事件,发送事件,移除事件,统计监听事件的个数,统计监听事件的名称

  • he - 支持对字符串进行编解码

  • pcx-js - 提供了PCX图像格式解码的能力

  • @isrc/fuse.js - Fuse.js是一款轻量级的JavaScript模糊搜索库,提供了模糊搜索和搜索排序功能

  • amf-convert - amf-convert在javascript环境中可以实现AMF格式的serialization/deserialization

其他

  • @ohos/arouteronactivityresult - 用于在各种应用或页面间的跳转和页面间的数据传递

  • ahocorasick - ahocorasick是Aho-Corasick字符串搜索算法的实现,能够高效的进行字符串匹配

  • bignumberjs - A JavaScript library for arbitray-precision decimal and non-decimalarithmetic

  • diff - JavaScript文本差异的工具库

  • is-png - is-png是一个判断图片格式的库,根据图片的文件数据,判断图片是否为png格式

  • is-webp - is-webp是一款根据文件数据,判断图片是否是webp格式的库

  • mustache - 是mustache模板系统的零依赖实现,通过使用散列或对象中提供的值来扩展模板中的标签

  • leven - Measure the difference between two strings using the Levenshtein distance algorithm

  • caverphone - A JavaScript implementation of the Caverphone 2.0 (aka Caverphone Revised) phonetic matching algorithm

  • metaphone - Metaphone phonetic algorithm

  • behaviortree - 是行为树 javascript 版实现

  • @ohos/coap - ohos_coap是基于libcoap v4.3.1版本,封装napi接口,给上层ts提供coap通信能力的三方库

  • gcoord - gcoord(geographic coordinates)是一个处理地理坐标系的JS库,用来修正百度地图、高德地图及其它互联网地图坐标系不统一的问题

  • caverphone - CaverPhone算法(语音匹配算法)的JavaScript实现,规则为:将关键字转换为小写,移除不是a-z的字符,按照规则替换指定字符(如字符串起始、结束,文本中包含cq等),在结尾放置6个1,返回前十个字符,具体参照CaverPhone算法规则

  • adler-32 - 是一个在js环境中实现ADLER-32的校验和算法能力的库

  • bignumber.js - bignumber.js是一个数学库,用于任意精度十进制和非十进制算术的 JavaScript 库

  • AKI - 是一款边界性编程体验友好的ArkTs FFI开发框架,针对OpenHarmony Native开发提供JS与C/C++跨语言访问场景解决方案

  • @ohos/jama - 基本线性代数包,用于构造和操作真实密集矩阵的库

C/C++语言

C/C++三方库资源汇总

音视频

  • vorbis - 一种通用音频和音乐编码格式组件
  • opus - Opus是一个开放格式的有损声音编码格式
  • flac - 无损音频编解码器
  • libmp3lame - 是开源mp3编码库,使用MPGLIB解码引擎,专门用于编码 mp3

加解密算法

  • libogg - 编解码器
  • libsodium - 易用,可移植的加解密库
  • cryptopp - 是密码学库,集成了非常多的密码算法

图像处理

  • stb-image - C/C++实现的图像解码库
  • pyclipper - 图形处理库,可以用于解决平面二维图形的多边形简化、布尔运算和偏置处理
  • jbig2enc - 是JBIG2文件的编码器
  • leptonica - 一个开放源码的C语言库,它被广泛地运用于图像处理和图像分析
  • openjpeg - 是用 C 语言编写的开源 JPEG 2000 编解码器
  • libtiff - 是一个用来读写标签图片(tiff)的库。该库还支持如下文件格式的转化

网络通信

  • nanopb - 轻量的支持C语言的一种数据协议,可用于数据存储、通信协议等方面
  • c-ares - 异步解析器库,适用于需要无阻塞地执行 DNS 查询或需要并行执行多个 DNS 查询的应用程序
  • libevent - 事件通知库
  • kcp - ARQ 协议,可解决在网络拥堵情况下tcp协议的网络速度慢的问题
  • mqtt - MQTT 是用 C 语言编写的用于MQTT协议的Eclipse Paho C客户端库

数据压缩解压

  • lzma - 是2001年以来得到发展的一个数据压缩算法,它是一种高压缩比的传统数据压缩软件
  • zstd - 一种快速的无损压缩算法,是针对 zlib 级别的实时压缩方案,以及更好的压缩比
  • minizip-ng - 一个用C编写的zip文件操作库
  • unrar - 一个解压rar文件的库
  • xz - 是免费的通用数据压缩软件,具有较高的压缩比

文本解析器

  • xerces-c - 一个开放源代码的XML语法分析器,它提供了SAX和DOM API
  • rapidjson - 一个跨平台的c++的json的解析器和生成器
  • tinyxml2 - 是 simple、small、efficient 的开源 C++ XML 文件解析库
  • tinyxpath - 用于从 XML 树中提取 XPath 1.0 表达式

编码转换

  • iconv - 一个实现字符集转换的库,用于没有Unicode或无法从其他字符转换为Unicode的系统

其他工具类

  • lua - Lua是一种功能强大、高效、轻量级、可嵌入的脚本语言
  • inotify-tools - 异步文件系统监控组件,它满足各种各样的文件监控需要,可以监控文件系统的访问属性、读写属性、权限属性、删除创建、移动等操作
  • libharu - 用于生成 PDF格式的文件
  • leveldb - 快速键值存储库,提供从字符串键到字符串值的有序映射
  • bsdiff - 一个提供二进制文件拆分以及合并能力的三方组件
  • concurrentqueue - 一个高效的线程安全的队列的库
  • modbus - 是用 C 语言编写的第三方Modbus库来实现modbus通讯,支持 RTU(串行)和 TCP(以太网)通信模式,可根据 Modbus 协议发送和接收数据
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

三方组件资源汇总 展开 收起
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/shipengtao95/tpc_resource.git
git@gitee.com:shipengtao95/tpc_resource.git
shipengtao95
tpc_resource
tpc_resource
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891