diff --git a/docs/plugin/uts-for-harmony.md b/docs/plugin/uts-for-harmony.md index bb234d591a265cb2529b78b878ad8083d33a667f..e9f0c9079161a5419d92269763cf0c62b98cca4a 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 bedfc220e5499c168db7d1e8345f38536ba431e3..9a54a3b4b193b4f446f8a3e3fb02c6cbb55ed248 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