Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
8f32d180
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3599
Star
108
Fork
921
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
120
列表
看板
标记
里程碑
合并请求
109
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
120
Issue
120
列表
看板
标记
里程碑
合并请求
109
合并请求
109
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
8f32d180
编写于
9月 18, 2023
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
uts plugin
上级
5d4e4d99
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
25 addition
and
19 deletion
+25
-19
docs/plugin/uts-plugin.md
docs/plugin/uts-plugin.md
+25
-19
未找到文件。
docs/plugin/uts-plugin.md
浏览文件 @
8f32d180
# UTS插件介绍
##
1
介绍
## 介绍
> HBuilderX 3.6+ 支持uts插件
...
...
@@ -64,7 +64,7 @@ uts 插件编译到 app 平台时,在功能上相当于 uni-app 之前的 app
-
uts 在 app 上不运行在 js 引擎里,是真正的原生。
##
2
创建uts插件
## 创建uts插件
### uts 插件目录结构
...
...
@@ -418,9 +418,9 @@ uts插件在iOS平台的其它原生配置文件,可以在其中配置依赖
+
有关 dependencies-pods 配置和 CocoaPods 使用的更多细节
[
详见
](
https://uniapp.dcloud.net.cn/plugin/uts-ios-cocoapods.html
)
##
3
开发uts插件
## 开发uts插件
###
3.1
获取电量插件示例
### 获取电量插件示例
以获取电量为例,介绍
`uts`
插件开发步骤
...
...
@@ -609,13 +609,13 @@ export default function getBatteryLevel():number {
至此,我们已经完成一个 iOS 平台上获取电量的原生能力封装。
###
3.2
`uts`与`uni-app`环境数据交互说明
### `uts`与`uni-app`环境数据交互说明
UTS向uni-app传值,支持下列类型:
1 TS基本数据类型: number,string,boolean 等
1
.
TS基本数据类型: number,string,boolean 等
```
ts
// 基础类型-Number
export
function
getPluginVersionNum
():
number
{
...
...
@@ -627,7 +627,7 @@ export function getPluginVersion(): string{
}
```
2 UTSJSONObjct
2
.
UTSJSONObjct
```
ts
// UTSJSONObjct 示例
...
...
@@ -701,6 +701,8 @@ postUserInfo({
```
更多UTSJSONObject的用法,
[
详见
](
../uts/data-type.md#UTSJSONObject
)
遗留问题:
有些场景,我们需要参数对象包含对象数组,比如
...
...
@@ -739,7 +741,7 @@ list1.forEach((item : any) => {
这个问题,我们稍后会改进。
##
4
前端使用插件
## 前端使用插件
虽然uts插件由uts语法开发,但前端引用插件并不要求一定需要ts,普通js即可引用uts插件。
...
...
@@ -761,7 +763,7 @@ UTSHello.getBatteryCapacity()
需要特别注意的是,import UTS插件时,只能到插件的根目录,不能直接引入到最终的文件
```
```
ts
// 正确的写法
import
*
as
UTSHello
from
"
../../../uni_modules/uts-osapi
"
;
...
...
@@ -794,9 +796,9 @@ getBatteryCapacity()
更多开发示例,可以参考
[
HelloUTS
](
https://gitcode.net/dcloud/hello-uts
)
。
##
5
真机运行
## 真机运行
###
5.1
UTS支持真机运行
### UTS支持真机运行
**uts虽然是原生代码,但同样具有真机运行功能**
...
...
@@ -811,7 +813,7 @@ getBatteryCapacity()
-
HBuilderX 3.6.9以下版本,uts插件不支持热刷新,真机需提交云端打包生成
[
自定义基座
](
https://uniapp.dcloud.net.cn/tutorial/run/run-app.html#customplayground
)
-
HBuilderX 3.6.9+,uts插件,支持本地编译和真机运行
[
详情
](
https://uniapp.dcloud.net.cn/tutorial/run/uts-development-ios.html
)
###
5.2
自定义基座
### 自定义基座
自定义基座支持uts插件。
...
...
@@ -825,15 +827,16 @@ getBatteryCapacity()
#### iOS平台
uts插件编译需要XCode环境,因此在mac电脑安装了XCode工具时支持直接使用标准基座真机运行。
在windows电脑或者mac电脑没有安装XCode工具时,需要提交云端打包生成自定义基座后才能调用uts插件。
###
5.3
debug断点调试
### debug断点调试
uts插件支持debug断点调试。
-
[
Android debug教程
](
/tutorial/debug/uni-uts-debug.md
)
-
[
iOS debug教程
](
/tutorial/debug/uni-uts-debug-ios.md
)
###
5.4
遗留问题
### 遗留问题
截止到HBuilderX 3.6.9 时遗留事项:
-
Android平台不支持跨进程调试/日志打印,即 console.log 目前只能在当前进程生效,开发多进程应用时,暂时无法打印日志到控制台
...
...
@@ -841,12 +844,11 @@ uts插件支持debug断点调试。
遗留事项后续升级完善。
##
6
云端打包
## 云端打包
正常支持云端打包。但打包后uts编译为了纯原生二进制代码,不支持wgt热更新。
## 常见问题
### 常见报错
...
...
@@ -880,7 +882,7 @@ let longVal = 1000.0.toLong()
### 异步任务
目前
UTS 还不支持使用promise执行异步任务,类似场景可以使用setTimeOut
目前
UTS 仅Android支持promise执行异步任务,iOS还不支持。类似场景可以使用setTimeOut。
### 匿名内部类
...
...
@@ -924,7 +926,7 @@ function connectWifi(option: WifiConnectOption,testName :string = "zhangsan")
### 访问JSON对象属性
`uts`
环境中访问
`JSON`
对象的属性,不能用
`user.age`
而要用
`user['age']`
`uts`
环境中访问
`JSON`
对象的属性,不能用
`user.age`
而要用
下标
`user['age']`
```
ts
...
...
@@ -934,12 +936,16 @@ console.log("jsonObj['age'] == " + jsonObj['age'] );
```
如果想使用
`.操作符`
,需要参考uts的
[
type
](
../uts/data-type.md#type
)
更多UTSJSONObject的用法,
[
详见
](
../uts/data-type.md#UTSJSONObject
)
## 路线图
uts是一个宏大工程,产品将分阶段发布。近期将陆续发布:
1.
uts插件中可陆续使用uni的各种api,比如uni.request(已上线部分,还在持续补充)
2.
插件市场支持uts插件的加密和计费销售(已完成)
3.
全新uvue页面,纯原生的视图组件构成的页面
3.
全新uvue页面,纯原生的视图组件构成的页面
(已公测)
4.
vue页面支持uts原生组件
最终,uts不再是uni-app的插件,而是应用的主体。(现在是以js为主,uts作为插件存在,主引擎仍然在v8或jscore里)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录