From 0751d82391357d7738610dea72f643f1407c77b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=BA=9A=E7=90=AA?= Date: Wed, 17 Jul 2024 11:37:26 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E9=B8=BF=E8=92=99?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/plugin/uts-for-harmony.md | 25 +++++++++++++++++++++---- docs/plugin/uts-plugin.md | 8 +++++++- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/docs/plugin/uts-for-harmony.md b/docs/plugin/uts-for-harmony.md index bb234d59..e9f0c907 100644 --- a/docs/plugin/uts-for-harmony.md +++ b/docs/plugin/uts-for-harmony.md @@ -40,15 +40,22 @@ ArkTs内不能使用any类型,但是uts内any用处比较多,因此在编译 #### 对象字面量 -ArkTs不允许无类型的对象字面量,编写代码时应注意为对象字面量指定类型 +ArkTs不允许无类型的对象字面量,编写代码时应注意为对象字面量指定类型。如未指定类型,uts会将此对象字面量编译成`as UTSJSONObject`的形式。 ```ts -// 错误用法 +// 源码 const obj = { a: 1 } -// 正确用法 +// 编译结果 +const obj = { + a: 1 +} as UTSJSONObject +``` + +```ts +// 源码 interface Obj { a: number } @@ -59,13 +66,23 @@ const obj: Obj = { const obj = { a: 1 } as Obj + +// 编译结果 +class Obj { ... } +const obj: Obj = { + a: 1 +} +//或 +const obj = { + a: 1 +} as Obj ``` ## 5 常见问题 ### context的获取 -很多鸿蒙原生接口需要传入context作为参数。多数情况下可以直接调用鸿蒙全局方法`getContext()`获取。例如: +很多harmonyOS原生接口需要传入context作为参数。多数情况下可以直接调用harmonyOS全局方法`getContext()`获取。例如: ```ts import settings from '@ohos.settings'; diff --git a/docs/plugin/uts-plugin.md b/docs/plugin/uts-plugin.md index bedfc220..9a54a3b4 100644 --- a/docs/plugin/uts-plugin.md +++ b/docs/plugin/uts-plugin.md @@ -16,7 +16,7 @@ uts,全称 uni type script,统一、强类型、脚本语言。 - web平台,编译为JavaScript - Android平台,编译为Kotlin - iOS平台,编译为Swift(HX 3.6.7+ 版本支持) -- 鸿蒙OS平台,编译为ArkTS(HX 4.22+ 版本支持)在现有架构下,ets文件和js文件在同一环境下执行,不涉及类型、通讯等问题。 +- harmonyOS平台,编译为ArkTs(HX 4.22+ 版本支持)在现有架构下,ArkTs和JS在同一环境下执行,不涉及通讯等问题。 uts 采用了与 ts 基本一致的语法规范,支持绝大部分 ES6 API。 @@ -804,6 +804,10 @@ import { MyApiOptions, MyApiResult, MyApi, MyApiSync } from '../interface.uts'; /* 引入 unierror.uts 文件中定义的变量 */ import { MyApiFailImpl } from '../unierror'; +export { + MyApiOptions +} + /** * 引入三方库 * 暂不支持,请留意后续更新 @@ -869,6 +873,8 @@ export const myApiSync : MyApiSync = function (paramA : boolean) : MyApiResult { #### 使用插件 +> 注意uni-app-x暂不支持运行到harmonyOS,下面的示例代码为uni-app-x代码 + 上面的代码,我们完成了一个名为 "uts-api" 的UTS 插件,在 `uvue` 文件中使用该插件的代码示例如下: ```ts -- GitLab