提交 d400ea69 编写于 作者: W wanganxp

x

上级 639ca6ef
......@@ -16,16 +16,7 @@ Android平台的应用退出分热退出和冷退出。
基本上主流Android App都是热退出。本API也是热退出。
热退出,即通知了os:这个app用户不用了,在os需要时可以回收。如果在os回收之前,用户又启动这个app,会感觉启动速度更快一些。
### 切换应用到后台@back
如不希望应用退出,可使用以下方法将应用切换到后台:
```ts
// #ifdef APP-ANDROID
UTSAndroid.getUniActivity()?.moveTaskToBack(true)
// #endif
```
热退出,即通知了os:这个App用户不用了,在os需要时可以回收。如果在os回收之前,用户又启动这个App,会感觉启动速度更快一些。
<!-- UTSAPIJSON.exit.tutorial -->
......@@ -33,4 +24,15 @@ Android平台的应用退出分热退出和冷退出。
<!-- UTSAPIJSON.general_type.name -->
<!-- UTSAPIJSON.general_type.param -->
\ No newline at end of file
<!-- UTSAPIJSON.general_type.param -->
## 切换应用到后台@back
有的Android App,点back后不询问用户,直接隐藏到了后台。这种做法占用手机的资源一些,但确实也有一些App是这么做的。
Android的activity提供了将应用切换到后台的方法:
```ts
// #ifdef APP-ANDROID
UTSAndroid.getUniActivity()?.moveTaskToBack(true)
// #endif
```
......@@ -2,9 +2,10 @@
uni实人认证是DCloud与合作伙伴共同推出的金融级实人认证服务,通过对比人脸、活体检测、姓名和身份证号码,来确认用户身份的有效性。
该业务的完整业务介绍另见:[实人认证](https://doc.dcloud.net.cn/uniCloud/frv/intro.html)
本文是 uni-app x 中涉及该业务的API的介绍。
实人认证涉及业务开通和付费,涉及客户端和服务器交互,有较多文档:
1. 业务介绍:介绍业务流程、开通和付费。[详见](https://doc.dcloud.net.cn/uniCloud/frv/intro.html)
2. 客户端API,即本文
3. 服务器API,[详见](https://doc.dcloud.net.cn/uniCloud/frv/dev.html)
## uni.getFacialRecognitionMetaInfo() @getfacialrecognitionmetainfo
......
......@@ -19,13 +19,12 @@ App一键登陆是替代短信验证码登录的更优选择:对开发者而
<!-- UTSAPIJSON.getUniverifyManager.tutorial -->
<!-- UTSAPIJSON.getUniverifyManager.example -->
## cause个推sdk错误码及运营商错误码汇总
## Tips
- 运营商对一键登陆给用户呈现的ui有强制要求:必须有运营商的隐私协议和服务条款、不得默认勾选同意、手机号掩码显示、需要用户手动再点按钮获取而不能自动获取。
- 目前一键登陆的UI可自定义性有限。仅支持配置登录页全屏/半屏、登录页背景色、登录按钮文案以及登录页logo。后续会继续扩展自定义性
上述API不管是预登陆还是登录,失败时返回的uni Error错误对象,有一个属性cause,它表示底层的错误来源,这里包含了个推的个验sdk和运营商sdk的详细信息。比如没有sim卡或未开启蜂窝网络。
在大多数情况下,开发者需要把这些更为详细的错误提示给用户,以引导用户正确使用一键登陆
## 个推sdk错误码及运营商错误码汇总
| 个推sdk错误码 | 错误信息 |
|---|---|
| -10000 | sdk没有初始化,请先初始化sdk |
......@@ -192,6 +191,12 @@ App一键登陆是替代短信验证码登录的更优选择:对开发者而
| 80800 | WIFI切换异常 |
| 80801 | WIFI切换超时 |
## Tips
- 运营商对一键登陆给用户呈现的ui有强制要求:必须有运营商的隐私协议和服务条款、不得默认勾选同意、手机号掩码显示、需要用户手动再点按钮获取而不能自动获取。
- 目前一键登陆的UI可自定义性有限。仅支持配置登录页全屏/半屏、登录页背景色、登录按钮文案以及登录页logo。后续会继续扩展自定义性。
<!-- UTSAPIJSON.getUniverifyManager.example -->
<!-- UTSAPIJSON.general_type.name -->
<!-- UTSAPIJSON.general_type.param -->
\ No newline at end of file
......@@ -2,6 +2,10 @@
<!-- UTSAPIJSON.installApk.description -->
在HBuilderX 3.99以前,uni.install是ext api,需单独[下载](https://ext.dcloud.net.cn/plugin?id=15118)。从HBuilderX 3.99起 uni-app x 内置了该api,无需再单独下载。
安装Apk最常见的场景是App的升级,更推荐使用uni的[App升级中心](https://doc.dcloud.net.cn/uniCloud/upgrade-center.html),这是一个云端一体开源项目,想达到该项目的体验细节需要大量代码,不如直接拿走使用。
<!-- UTSAPIJSON.installApk.param -->
<!-- UTSAPIJSON.installApk.returnValue -->
......
## uni.getUniverifyManager() @getuniverifymanager
<!-- UTSAPIJSON.getUniverifyManager.description -->
App一键登陆,封装了个推的一键登陆sdk,其内部再次封装了中国三大电信运营商提供的sdk。通过运营商提供的服务,可以在手机sim卡信号正常的情况下,通过云端接口获取到当前用户的手机号。
App一键登陆是替代短信验证码登录的更优选择:对开发者而言更便宜、对用户而言体验更好。
一键登陆涉及业务开通和付费,涉及客户端和服务器交互,有较多文档:
1. 业务介绍:介绍业务流程、开通和付费。[详见](https://uniapp.dcloud.net.cn/univerify.html)
2. 客户端API,即本文
3. 服务器API,[详见](https://doc.dcloud.net.cn/uniCloud/uni-login/dev.html)
<!-- UTSAPIJSON.getUniverifyManager.param -->
<!-- UTSAPIJSON.getUniverifyManager.returnValue -->
<!-- UTSAPIJSON.getUniverifyManager.compatibility -->
<!-- UTSAPIJSON.getUniverifyManager.tutorial -->
<!-- UTSAPIJSON.uni-verify.example -->
## Tips
- 运营商对一键登陆给用户呈现的ui有强制要求。(需补充细节)
- 目前一键登陆的UI可自定义性有限。(需补充细节)
<!-- UTSAPIJSON.general_type.name -->
<!-- UTSAPIJSON.general_type.param -->
\ No newline at end of file
......@@ -16,7 +16,7 @@
|:-|:-|:-|
|onLaunch|当`uni-app-x` 初始化完成时触发(全局只触发一次),参数为应用启动参数,同 [uni.getLaunchOptionsSync](../api/get-launch-options-sync.md#getlaunchoptionssync) 的返回值||
|onShow|当 `uni-app-x` 启动,或从后台进入前台显示,参数为应用启动参数,同 [uni.getLaunchOptionsSync](../api/get-launch-options-sync.md#getlaunchoptionssync) 的返回值||
|onHide|当 `uni-app-x` 从前台进入后台||
|onHide|当 `uni-app-x` 从前台进入后台,包括手机息屏||
|onLastPageBackPress|最后一个页面按下Android back键,常用于自定义退出|app-uvue-android 3.9+|
|onExit|监听应用退出|app-uvue-android 3.9+|
......@@ -38,6 +38,21 @@
},
onLastPageBackPress: function () {
console.log('App LastPageBackPress')
// 2秒内连按2次back,退出app
if (firstBackTime == 0) {
uni.showToast({
title: '再按一次退出应用',
position: 'bottom',
})
firstBackTime = Date.now()
setTimeout(() => {
firstBackTime = 0
}, 2000)
} else if (Date.now() - firstBackTime < 2000) {
firstBackTime = Date.now()
uni.exit()
}
// 还有一些应用按1次back直接将应用切到后台,详见https://doc.dcloud.net.cn/uni-app-x/api/exit.html#back
}
}
</script>
......@@ -46,7 +61,6 @@
**注意**
- **应用生命周期仅可在`App.uvue`中监听,在其它页面监听无效**
- 应用启动参数,可以在API `uni.getLaunchOptionsSync`获取,[详见](../api/get-launch-options-sync.md#getlaunchoptionssync)
<!-- - onPageNotFound 页面实际上已经打开了(比如通过分享卡片、小程序码)且发现页面不存在,才会触发,api 跳转不存在的页面不会触发(如 uni.navigateTo) -->
## globalData
......@@ -87,10 +101,8 @@
**注意:** `uni-app x``globalData` 的数据结构与类型通过 `App.uvue` 中的 `globalData` 初始值定义,后续只能读取或修改,不能新增或删除。
globalData是简单的全局变量,其他状态管理方式,可参考文档[全局变量和状态管理](../tutorial/store.md)
## 全局样式
`App.uvue`中,可以定义一些全局通用样式,这里定义的class,每个页面都可以直接使用。
`App.uvue`中,可以定义一些全局通用样式,这里定义的class,每个页面都可以直接使用。
\ No newline at end of file
......@@ -37,7 +37,8 @@ uni-app x 的权限配置,移入了[AndroidManifest.xml](https://uniapp.dcloud
使用[uni内置模块](#utsmodules)时,云端打包会自动添加模块需要的Android权限,不需要在[AndroidManifest.xml](https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.md#permissions)中配置。
HBuilderX3.97+版本标准基座已经包含了所有Android权限,在 uvue 页面中直接通过 uts 调用需要权限的 Android 系统 API 时,使用标准基座真机运行可直接通过[UTSAndroid.requestSystemPermission](../uts/utsandroid.md#requestSystemPermission)申请;使用自定义基座则需要在项目的[AndroidManifest.xml](https://uniapp.dcloud.io/tutorial/app-nativeresource-android.md#permissions)中配置要使用的权限,重新提交云端打包。
- HBuilderX3.97+版本标准基座已经包含了所有Android权限,在 uvue 页面中直接通过 uts 调用需要权限的 Android 系统 API 时,使用标准基座真机运行可直接通过[UTSAndroid.requestSystemPermission](../uts/utsandroid.md#requestSystemPermission)申请;
- 使用自定义基座则需要在项目的[AndroidManifest.xml](https://uniapp.dcloud.io/tutorial/app-nativeresource-android.md#permissions)中配置要使用的权限,重新提交云端打包。
#### DISTRIBUTE配置 @app-distribute
......
......@@ -32,19 +32,53 @@ uni-app x的项目结构与[uni-app js引擎版的项目结构](https://uniapp.d
基于uts的插件,可以在uni-app x和uni-app上通用。
<pre v-pre="" data-lang="">
<code class="lang-" style="padding:0">
┌─uniCloud 云空间目录,支付宝小程序云为uniCloud-alipay,阿里云为uniCloud-aliyun,腾讯云为uniCloud-tcb(详见<a href="https://doc.dcloud.net.cn/uniCloud/quickstart?structure&id=structure">uniCloud</a>
│─components 符合vue组件规范的uni-app x组件目录
│ └─comp-a.vue 可复用的a组件
├─utssdk 存放uts文件
├─pages 业务页面文件存放的目录
│ ├─index
│ │ └─index.uvue index页面
│ └─list
│ └─list.uvue list页面
├─static 存放应用引用的本地静态资源(如图片、字体、音视频等)的目录,<b>注意:</b>静态资源都应存放于此目录 <a href="https://doc.dcloud.net.cn/uni-app-x/compiler/#static">详见</a>
├─uni_modules 存放uni_module <a href="https://uniapp.dcloud.net.cn/plugin/uni_modules.html">详见</a>
├─platforms 存放各平台专用页面的目录,<a href="https://uniapp.dcloud.net.cn/tutorial/platform.html#preprocessor">详见</a>
├─nativeResources App端原生资源目录
│ ├─android Android原生资源目录 <a href="https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android">详见</a>
| └─ios iOS原生资源目录 <a href="https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-ios.html#%E8%B5%84%E6%BA%90%E6%96%87%E4%BB%B6-bundle-resources">详见</a>
├─hybrid App端存放web-view组件使用的本地html文件的目录,<a href="./component/web-view">详见</a>
├─unpackage 非工程代码,一般存放运行或发行的编译结果、App自定义基座
├─main.uts Vue初始化入口文件
├─App.uvue 应用配置,用来配置App全局样式以及监听 <a href="/collocation/App#应用生命周期">详见</a>
├─pages.json 配置页面路由、导航条、选项卡等页面类信息,<a href="/collocation/pages">详见</a>
├─manifest.json 配置应用名称、appid、logo、版本等打包信息,<a href="/collocation/manifest">详见</a>
├─AndroidManifest.xml Android原生应用清单文件 <a href="https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android">详见</a>
├─Info.plist iOS原生应用配置文件 <a href="https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-ios">详见</a>
└─uni.scss 内置的常用样式变量
</code>
</pre>
## 运行
uni-app x的真机运行基座,和uni-app js引擎版不同,是一个绿色圆形的U(之前是方型H),基座名称默认为`uni-app x`(之前叫HBuilder)。
uni-app x的真机运行基座(playground),和uni-app js引擎版不同,是一个绿色圆形的U(之前是方型H),基座名称默认为`uni-app x`(之前叫HBuilder)。
![](./static/playground.jpg)
- uni-app x基座,只能运行uni-app x项目,包名是io.dcloud.uniappx
- HBuilder基座,可以运行5+App、wap2app和uni-app js引擎版。包名是io.dcloud.HBuilder
标准基座使用的图标、包名、证书以及配置的三方sdk的appkey等各种原生信息,都是DCloud的。这些无法更改。
当需要使用自己的包名、证书和原生配置进行运行调试时,需在打包界面勾选打包自定义基座,打包后的自定义基座会放置在项目的unpackage目录下,然后在运行项目时的界面中可以选择自定义基座来运行。
uni-app x运行时,控制台右上角可以选择开启原生日志。
目前仅支持真机运行,不支持断点debug。
## 发行
uni-app x目前只能打包apk。
暂不支持渠道包。
......
......@@ -136,12 +136,12 @@ uni-app js引擎版,支持 plus API 和 weex API。但 uni-app x 中,不再
uni-app x支持的API包括:
1. uts的api [详见](./uts/buildin-object-api/global.md)
2. 全局api,前面不需要加`uni.`。如[getApp](./api/get-app.md)[getCurrentPages](./api/get-current-pages.md)
3. uni.xxx的内置api。数量较多,[详见](./api/README.md)
4. uniCloud.xxx的内置api[详见](./api/unicloud/README.md)
5. dom的api [详见](./dom/README.md)
6. 原生api
1. uts的API [详见](./uts/buildin-object-api/global.md)
2. 全局API,前面不需要加`uni.`。如[getApp](./api/get-app.md)[getCurrentPages](./api/get-current-pages.md)
3. uni.xxx的内置API。数量较多,[详见](./api/README.md)
4. uniCloud.xxx的内置API[详见](./api/unicloud/README.md)
5. dom的API [详见](./dom/README.md)
6. 原生API
由于uts可以直接调用Android和iOS的api,所以os和三方sdk的能力都可以在uts中调用。如下:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册