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