From 0213e663aa8f5759a62ed6ced24a00b7c45e8955 Mon Sep 17 00:00:00 2001 From: Li-2199 <1269001954@qq.com> Date: Thu, 4 Jul 2024 11:13:34 +0800 Subject: [PATCH 1/2] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0react-native-asyn?= =?UTF-8?q?c-storage=E6=8C=87=E5=AF=BC=E6=96=87=E6=A1=A3=E4=B8=BA0.2.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...eact-native-async-storage-async-storage.md | 50 +++++++++++++------ 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/zh-cn/react-native-async-storage-async-storage.md b/zh-cn/react-native-async-storage-async-storage.md index c28b26d4..c7769824 100644 --- a/zh-cn/react-native-async-storage-async-storage.md +++ b/zh-cn/react-native-async-storage-async-storage.md @@ -1,5 +1,6 @@ -> 模板版本:v0.1.3 + +> 模板版本:v0.2.2

@react-native-async-storage/async-storage

@@ -74,6 +75,17 @@ const getData = async () => { 首先需要使用 DevEco Studio 打开项目里的 HarmonyOS 工程 `harmony` +### 在工程根目录的 `oh-package.json` 添加 overrides 字段 + +```json +{ + ... + "overrides": { + "@rnoh/react-native-openharmony" : "./react_native_openharmony" + } +} +``` + ### 引入原生端代码 目前有两种方法: @@ -81,7 +93,7 @@ const getData = async () => { 1. 通过 har 包引入(在 IDE 完善相关功能后该方法会被遗弃,目前首选此方法); 2. 直接链接源码。 -方法一:通过 har 包引入 +方法一:通过 har 包引入(推荐) > [!TIP] har 包位于三方库安装路径的 `harmony` 文件夹下。 @@ -91,7 +103,7 @@ const getData = async () => { "dependencies": { "@rnoh/react-native-openharmony": "file:../react_native_openharmony", - "rnoh-async-storage": "file:../../node_modules/@react-native-oh-tpl/async-storage/harmony/async_storage.har" + "@react-native-oh-tpl/async-storage": "file:../../node_modules/@react-native-oh-tpl/async-storage/harmony/async_storage.har" } ``` @@ -115,28 +127,37 @@ ohpm install ```diff project(rnapp) cmake_minimum_required(VERSION 3.4.1) +set(CMAKE_SKIP_BUILD_RPATH TRUE) set(RNOH_APP_DIR "${CMAKE_CURRENT_SOURCE_DIR}") -set(OH_MODULE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../oh_modules") +set(NODE_MODULES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../node_modules") ++ set(OH_MODULES "${CMAKE_CURRENT_SOURCE_DIR}/../../../oh_modules") set(RNOH_CPP_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../react-native-harmony/harmony/cpp") +set(LOG_VERBOSITY_LEVEL 1) +set(CMAKE_ASM_FLAGS "-Wno-error=unused-command-line-argument -Qunused-arguments") +set(CMAKE_CXX_FLAGS "-fstack-protector-strong -Wl,-z,relro,-z,now,-z,noexecstack -s -fPIE -pie") +set(WITH_HITRACE_SYSTRACE 1) # for other CMakeLists.txt files to use +add_compile_definitions(WITH_HITRACE_SYSTRACE) add_subdirectory("${RNOH_CPP_DIR}" ./rn) -# RNOH_BEGIN: add_package_subdirectories +# RNOH_BEGIN: manual_package_linking_1 add_subdirectory("../../../../sample_package/src/main/cpp" ./sample-package) -+ add_subdirectory("${OH_MODULE_DIR}/rnoh-async-storage/src/main/cpp" ./async-storage) -# RNOH_END: add_package_subdirectories ++ add_subdirectory("${OH_MODULE_DIR}/@react-native-oh-tpl/async-storage/src/main/cpp" ./async-storage) +# RNOH_END: manual_package_linking_1 + +file(GLOB GENERATED_CPP_FILES "./generated/*.cpp") add_library(rnoh_app SHARED + ${GENERATED_CPP_FILES} "./PackageProvider.cpp" "${RNOH_CPP_DIR}/RNOHAppNapiBridge.cpp" ) - target_link_libraries(rnoh_app PUBLIC rnoh) -# RNOH_BEGIN: link_packages +# RNOH_BEGIN: manual_package_linking_2 target_link_libraries(rnoh_app PUBLIC rnoh_sample_package) + target_link_libraries(rnoh_app PUBLIC rnoh_async_storage) -# RNOH_END: link_packages +# RNOH_END: manual_package_linking_2 ``` 打开 `entry/src/main/cpp/PackageProvider.cpp`,添加: @@ -163,7 +184,7 @@ std::vector> PackageProvider::getPackages(Package::Cont ```diff import type {RNPackageContext, RNPackage} from 'rnoh/ts'; import {SamplePackage} from 'rnoh-sample-package/ts'; -+ import {AsyncStoragePackage} from 'rnoh-async-storage/ts'; ++ import {AsyncStoragePackage} from '@react-native-oh-tpl/async-storage/ts'; export function createRNPackages(ctx: RNPackageContext): RNPackage[] { return [ @@ -215,13 +236,12 @@ ohpm install ## 遗留问题 -- [ ] Harmony 的 taskpool 支持类型有限,无法用 taskpool 实现,仅用简单的线程锁替代 -- [ ] Harmony 无法设置指定的存储大小 +- [ ] Harmony 的 taskpool 支持类型有限,无法用 taskpool 实现,仅用简单的线程锁替代,无法设置指定的存储大小: [issue#8](https://github.com/react-native-oh-library/async-storage/issues/8) ## 其他 ## 开源协议 -本项目基于 [The MIT License (MIT)](https://github.com/callstack/react-native-slider/blob/main/LICENSE.md) ,请自由地享受和参与开源。 +本项目基于 [The MIT License (MIT)](https://github.com/react-native-async-storage/async-storage/blob/main/LICENSE) ,请自由地享受和参与开源。 - \ No newline at end of file + -- Gitee From 3b2c665fcf91a08975b5acea473cf555c017a09b Mon Sep 17 00:00:00 2001 From: Li-2199 <1269001954@qq.com> Date: Thu, 4 Jul 2024 11:22:39 +0800 Subject: [PATCH 2/2] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0react-native-blob?= =?UTF-8?q?-util=E6=96=87=E6=A1=A3=E7=89=88=E6=9C=AC=E4=B8=BA0.2.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zh-cn/react-native-blob-util.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/zh-cn/react-native-blob-util.md b/zh-cn/react-native-blob-util.md index fd8fa4a9..c530f3e7 100644 --- a/zh-cn/react-native-blob-util.md +++ b/zh-cn/react-native-blob-util.md @@ -1,5 +1,5 @@ -> 模板版本:v0.2.1 +> 模板版本:v0.2.2

react-native-blob-util

@@ -444,7 +444,7 @@ const styles = StyleSheet.create({ ```json "dependencies": { "@rnoh/react-native-openharmony": "file:../react_native_openharmony", - "@react-native-oh-tpl/rnoh-blob-util": "file:../../node_modules/@react-native-oh-tpl/react-native-blob-util/harmony/blobUtil.har" + "@react-native-oh-tpl/react-native-blob-util": "file:../../node_modules/@react-native-oh-tpl/react-native-blob-util/harmony/blobUtil.har" } ``` @@ -468,7 +468,7 @@ ohpm install ```diff ... -+ import {BlobUtilPackage} from '@react-native-oh-tpl/rnoh-blob-util/ts'; ++ import {BlobUtilPackage} from '@react-native-oh-tpl/react-native-blob-util/ts'; export function createRNPackages(ctx: RNPackageContext): RNPackage[] { return [ @@ -499,10 +499,6 @@ ohpm install 请到三方库相应的 Releases 发布地址查看 Release 配套的版本信息:[@react-native-oh-tpl/react-native-blob-util Releases](https://github.com/react-native-oh-library/react-native-blob-util/releases) -本文档内容基于以下版本验证通过: - -1. RNOH:0.72.20; SDK:HarmonyOS NEXT Developer Beta1; IDE:DevEco Studio 5.0.3.200; ROM:3.0.0.18 - ## API > [!tip] "Platform"列表示该属性在原三方库上支持的平台。 -- Gitee