Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-uni-app-x-zh
提交
c164344c
U
unidocs-uni-app-x-zh
项目概览
DCloud
/
unidocs-uni-app-x-zh
通知
144
Star
2
Fork
33
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
9
列表
看板
标记
里程碑
合并请求
11
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-uni-app-x-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
9
Issue
9
列表
看板
标记
里程碑
合并请求
11
合并请求
11
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
c164344c
编写于
12月 15, 2023
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
x
上级
cea12100
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
185 addition
and
22 deletion
+185
-22
docs/api/facial-recognition-verify.md
docs/api/facial-recognition-verify.md
+2
-0
docs/api/file-system-spec.md
docs/api/file-system-spec.md
+168
-0
docs/api/filemanager.md
docs/api/filemanager.md
+0
-21
docs/api/get-univerify-manager.md
docs/api/get-univerify-manager.md
+3
-0
docs/collocation/manifest-splashscreen.md
docs/collocation/manifest-splashscreen.md
+9
-1
docs/compiler/README.md
docs/compiler/README.md
+3
-0
未找到文件。
docs/api/facial-recognition-verify.md
浏览文件 @
c164344c
...
...
@@ -7,6 +7,8 @@ uni实人认证是DCloud与合作伙伴共同推出的金融级实人认证服
2.
客户端API,即本文
3.
服务器API,
[
详见
](
https://doc.dcloud.net.cn/uniCloud/frv/dev.html
)
uni-id-pages,已经内置实人认证,从云端到客户端均已开发好并开源,推荐使用。
[
详情
](
https://doc.dcloud.net.cn/uniCloud/uni-id/app-x.html
)
## uni.getFacialRecognitionMetaInfo() @getfacialrecognitionmetainfo
<!-- UTSAPIJSON.getFacialRecognitionMetaInfo.description -->
...
...
docs/api/file-system.md
→
docs/api/file-system
-spec
.md
浏览文件 @
c164344c
# 文件系统
文件系统提供一套跨平台操作文件的管理接口,包括文件和目录的增删改名、获取信息、读写文件等常用功能。
通过
[
uni.getFileSystemManager
](
filemanager.md
)
可以获取到文件系统管理器,所有文件系统的管理操作通过
[
FileSystemManager
](
file
manager.md#FileSystemManager
)
来调用。
通过
[
uni.getFileSystemManager
](
get-file-system-manager.md
)
可以获取到文件系统管理器,所有文件系统的管理操作通过
[
FileSystemManager
](
get-file-system-
manager.md#FileSystemManager
)
来调用。
```
uts
const fs = uni.getFileSystemManager()
```
文件主要分两大类:
-
项目包文件:指 uni-app x 项目目录中添加的文件,比如static目录下的文件。Android发行后存放在assets目录下。
-
本地文件:指 uni-app x 应用在手机端运行时可访问的磁盘文件。又分以下目录:
+
应用沙盒目录:App平台原生应用的沙盒目录,其中包括缓存文件目录和用户文件目录
*
缓存文件目录:App平台运行过程中框架保存缓存文件的目录
*
用户文件目录:App平台提供给开发者操作的本地文件目录
## 项目包文件
项目包文件放置应用首次加载时需要的文件,对于内容较大或需要动态更新的文件,不推荐添加到项目包文件中,可以在应用启动后联网将文件下载到本地。
推荐将文件放到static目录(uni_modules下也有static目录),详情参考
[
工程目录结构
](
https://uniapp.dcloud.net.cn/tutorial/project.html#static
)
没有在static目录的静态文件(比如image src指定静态路径或import),发行后会变编译到与static同级的assets目录,其中的文件名会加入随机数以避免重名。
因为随机数的存在,导致很难使用FileSystemManager访问。所以还是推荐使用static目录。
**通过FileSystemManager访问项目包文件**
通过路径访问项目包文件需从项目根目录开始写文件路径,如:/static/uni.png、/uni_modules/xxx/static/clear.png。
-
代码包文件:指 uni-app x 项目目录中添加的文件,比如static目录下的文件。Android发行后存放在assets目录下。只读。
+
assets
+
hybrid
+
static
+
uni_modules
-
本地磁盘文件:指应用在手机端运行时可访问的磁盘文件。又分以下目录:
+
应用外置沙盒目录(
`uni.env.SANDBOX_PATH`
):手机应用的沙盒目录,其中包括缓存文件目录和用户文件目录。在文件管理器中可看到。
*
缓存文件目录(
`uni.env.CACHE_PATH`
):手机运行过程中框架保存缓存文件的目录(cache),系统空间不足时会被自动清理掉
-
uni-download :下载
-
uni-media :拍照、相册选择
-
uni-snapshot :App dom截图
-
uni-crash :App崩溃日志
*
用户文件目录(
`uni.env.USER_DATA_PATH`
):提供给开发者操作的本地文件目录(files)
+
应用内置沙盒目录(
`uni.env.ANDROID_INTERNAL_SANDBOX_PATH`
):存放框架的网络缓存(如网络图片、视频、web-view的缓存)、storage。
+
沙盒外目录
## 代码包文件
代码包文件,是源码工程中的静态资源文件,由编译器打包到发行包(如apk)中。全平台都如此。
uni-app x的应用在安装后,代码包文件有4个目录:
-
assets
-
hybrid
-
static
-
uni_modules
这些目录的来源和作用,
[
详见
](
../compiler/README.md#static
)
assets目录下文件有随机数的存在,很难使用FileSystemManager访问;hybrid下的文件用于web-view组件。
\
所以通过FileSystemManager访问较多的是static目录。
FileSystemManager访问代码包文件时,直接写文件路径,如:/static/uni.png、/uni_modules/xxx/static/clear.png。
**示例**
假设static目录下有如下文件:"/static/list-mock/mock.json",要copy到沙盒的files目录(该目录的介绍详见下一章节),可使用如下代码:
```
ts
let
fileManager
=
uni
.
getFileSystemManager
()
fileManager
.
copyFile
({
srcPath
:
"
/static/list-mock/mock.json
"
,
destPath
:
`
${
uni
.
env
.
USER_DATA_PATH
}
/mock.json`
,
success
:
function
(
res
:
FileManagerSuccessResult
)
{
console
.
log
(
'
success
'
,
res
)
},
fail
:
function
(
res
:
UniError
)
{
console
.
log
(
'
fail
'
,
res
)
},
complete
:
function
(
res
:
any
)
{
console
.
log
(
"
complete
"
,
res
)
}
}
as
CopyFileOptions
)
```
>
注意:项目包文件仅可读取和复制,无法动态修改或删除。修改项目包文件需要重新发布新版本。
>
注意:代码包文件仅可读取和复制,无法动态修改或删除。修改代码包文件一般会copy到沙盒目录后再修改。
**真机运行注意**
App端真机运行期间会做特殊处理,将
项目
包文件同步到
`应用沙盒目录`
下的特定目录:
App端真机运行期间会做特殊处理,将
代码
包文件同步到
`应用沙盒目录`
下的特定目录:
-
Android平台
保存在应用专属存储空间的外置存储空间根目录下的apps目录,通常为“/sdcard/Android/data/%应用包名%/apps/%应用AppID%/www/”
-
iOS平台
保存在应用沙盒目录下的Documents/uni-app-x目录,通常为“/%应用沙盒目录%/Documents/uni-app-x/apps/%应用AppID%/www/”
## 本地文件
本地
文件是指应用安装到设备(通常指手机)后,系统会提供一块独立的文件存储区域。在App端将会以应用维度隔离,即在同一台设备,不同应用间的本地文件不能直接相互访问。
## 本地
磁盘
文件
本地
磁盘文件分沙盒内和沙盒外。
本地文件路径格式为:
沙盒内是指应用安装到设备(通常指手机)后,系统会提供一块独立的文件存储区域。以应用维度隔离,即在同一台设备,不同应用间的本地磁盘文件不能直接相互访问。
而沙盒目录,又分内置和外置。外置可以在Android手机自带的系统文件管理器里看到,并且用户可以改动。内置的保护级别更高,无法在系统文件管理器中看到。
本地磁盘文件路径格式为:
```
{{协议名}}://文件路径
```
> App端,协议名为"unifile",不应该直接拼写协议名路径访问本地
文件,推荐使用uni.env中的目录常量获取本地
文件目录的路径。
> App端,协议名为"unifile",不应该直接拼写协议名路径访问本地
磁盘文件,推荐使用uni.env中的目录常量获取本地磁盘
文件目录的路径。
本地文件沙盒目录,分内置和外置。外置可以在Android手机自带的系统文件管理器里看到,并且用户可以改动。内置的保护级别更高,无法在系统文件管理器中看到。
**通过uni.env的目录常量访问本地磁盘文件**
**通过uni.env的目录常量访问本地文件**
uni-app x提供了一批uni.env常量,来指定不同的可访问目录。
以下示例为在
`用户文件目录`
下写入hello.txt文件:
```
ts
...
...
@@ -68,34 +107,45 @@ App端专有目录,为应用沙盒根目录,其下包含了`缓存文件目
实际保存的目录在不同平台存在差异:
-
Android平台
应用专属存储空间的外置存储空间根目录,通常为“/
sdcard/
Android/data/%应用包名%/”,其下的cache目录为
`缓存文件目录`
,其下的files目录为
`用户文件目录`
应用专属存储空间的外置存储空间根目录,通常为“/Android/data/%应用包名%/”,其下的cache目录为
`缓存文件目录`
,其下的files目录为
`用户文件目录`
-
iOS平台
应用沙盒虚拟目录,其下包括Document、Library、tmp目录,此目录只可读,不可创建其它目录
本目录可以在Android系统的文件管理器中看到。用户在文件管理器中可以查阅删改。手机被root后的沙盒机制也会失效,可以被其他app操作。
#### 缓存文件目录
#### 缓存文件目录
cache@cache
目录常量名称:
`uni.env.CACHE_PATH`
App端本地缓存文件目录保存应用运行过程中产生的缓存文件,操作系统
会在存储空间不足时清除缓存文件,因此不要在此目录中保存应用的关键业务数据文件。
缓存文件目录,保存应用运行过程中产生的缓存文件。操作系统或小程序宿主
会在存储空间不足时清除缓存文件,因此不要在此目录中保存应用的关键业务数据文件。
实际保存的目录在不同平台存在差异:
-
Android平台
应用专属存储空间的外置存储空间根目录下的cache目录,通常为“/
sdcard/
Android/data/%应用包名%/cache/”
应用专属存储空间的外置存储空间根目录下的cache目录,通常为“/Android/data/%应用包名%/cache/”
-
iOS平台
应用沙盒目录下的Library/Caches目录
uni-app x的部分内置API会产生临时文件会放置在本cache目录,如:
-
uni.downloadFile下载的文件
-
uni.uploadFile上传的文件
-
uni.chooseImage的拍照或选择的相册文件
<!-- - 录音的文件 -->
-
dom element的截图API
#### 用户文件目录
目录常量名称:
`uni.env.USER_DATA_PATH `
推荐:在调用上述API使用完毕临时文件后,就调用
`uni.getFileSystemManager`
的API把临时文件删掉。
从HBuilderX 3.99起,重新约定了缓存目录的使用规范。
在
`uni.env.CACHE_PATH`
目录下,uni官方使用了如下目录,请开发者避免使用uni-开头的目录:
-
uni-download // uni.downloadFile的默认下载地址 (在HBuilderX 3.98时曾使用目录uniDownloads,从3.99起调整为uni-download)
-
uni-media // uni.chooseImage的拍照或选择相册的文件
-
uni-snapshot // element takeSnapShot截图APi存储的路径
-
uni-crash //存放崩溃日志
*
java //java、kotlin层崩溃日志
*
c //c、so库崩溃日志
App端用户文件目录提供给开发者在应用运行期保存业务逻辑文件,此目录不会被操作系统自动清除,由开发者完全自由管理。
#### 用户文件目录files@files
目录常量名称:
`uni.env.USER_DATA_PATH`
App端和小程序提供了用户文件目录,用于开发者在应用运行期读写文件,此目录不会被操作系统自动清除,由开发者自由管理。
实际保存的目录在不同平台存在差异:
-
Android平台
...
...
@@ -107,6 +157,12 @@ App端用户文件目录提供给开发者在应用运行期保存业务逻辑
目录常量名称:
`uni.env.ANDROID_INTERNAL_SANDBOX_PATH`
该目录无法在手机自带的文件管理器中查看,用户无法修改。除非手机被root。
uni-app x框架的一些内置组件和API会涉及缓存文件,存放到本目录,如:
-
image/video组件的网络图片缓存
-
web-view组件的缓存
<!-- - 网络字体缓存? -->
### 沙盒外目录
FileSystemManager暂不支持访问沙盒外目录。如有相关需求目前需开发uts插件。
\ No newline at end of file
docs/api/filemanager.md
已删除
100644 → 0
浏览文件 @
cea12100
## uni.getFileSystemManager() @getfilesystemmanager
<!-- UTSAPIJSON.getFileSystemManager.description -->
文件管理器对象,用于操作应用可访问的本地文件空间,在app-Android上是沙盒目录。
可实现目录和文件的创建、删除、改名或改路径、遍历目录、获取文件信息、读写文件。
<!-- UTSAPIJSON.getFileSystemManager.param -->
<!-- UTSAPIJSON.getFileSystemManager.returnValue -->
<!-- UTSAPIJSON.getFileSystemManager.compatibility -->
<!-- UTSAPIJSON.getFileSystemManager.tutorial -->
<!-- UTSAPIJSON.filemanager.example -->
<!-- UTSAPIJSON.general_type.name -->
<!-- UTSAPIJSON.general_type.param -->
\ No newline at end of file
docs/api/get-univerify-manager.md
浏览文件 @
c164344c
...
...
@@ -11,6 +11,8 @@ App一键登陆是替代短信验证码登录的更优选择:对开发者而
2.
客户端API,即本文
3.
服务器API,
[
详见
](
https://doc.dcloud.net.cn/uniCloud/uni-login/dev.html
)
uni-id-pages,已经内置一键登陆,从云端到客户端均已开发好并开源,推荐使用。
[
详情
](
https://doc.dcloud.net.cn/uniCloud/uni-id/app-x.html
)
<!-- UTSAPIJSON.getUniverifyManager.param -->
<!-- UTSAPIJSON.getUniverifyManager.returnValue -->
...
...
@@ -194,6 +196,7 @@ App一键登陆是替代短信验证码登录的更优选择:对开发者而
## Tips
-
运营商对一键登陆给用户呈现的ui有强制要求:必须有运营商的隐私协议和服务条款、不得默认勾选同意、手机号掩码显示、需要用户手动再点按钮获取而不能自动获取。
-
目前一键登陆的UI可自定义性有限。仅支持配置登录页全屏/半屏、登录页背景色、登录按钮文案以及登录页logo。后续会继续扩展自定义性。
-
一键登陆并非100%成功,手机没有sim卡和蜂窝网络未开启是最常见的原因,更多错误见上方的错误码列表。在一键登陆无法使用时,可转为短信验证码登录。在uni-id-pages里已经集成了相关逻辑,无需自己开发。
[
详情
](
https://doc.dcloud.net.cn/uniCloud/uni-id/app-x.html
)
<!-- UTSAPIJSON.getUniverifyManager.example -->
...
...
docs/collocation/manifest-splashscreen.md
浏览文件 @
c164344c
## splash
## splash
启动封面图
> HBuilderX 3.99+
...
...
@@ -6,6 +6,12 @@ App启动时,系统加载应用渲染首页需要一定的时间,为了避
这个界面,即被称为启动界面,也成称为 splash 或 lauch screen。
当然并非所有App都需要splash,很多系统应用比如计算器、日历都没有splash。
uni-app x中,如不配置splash,则与计算器等应用一致,启动时有轻微闪白,但可以让用户更快的使用首页。
如需配置splash,注意避免splash图与首页风格差异太大。因为uni-app x启动速度非常快,splash只是一闪而过,如果颜色差异太大,会让用户视觉不舒服。
### Android平台启动界面配置
打开项目的manifest.json文件,在“App启动界面配置”中的“Android启动界面设置”项下配置各设备分辨率启动图:
...
...
@@ -25,6 +31,8 @@ splash关闭时机可控制,打开项目的manifest.json文件,选择源码
|onShow|首页页面生命周期触发onShow时关闭splash|
|onReady|首页页面生命周期触发onReady时关闭splash|
暂不支持其他方式关闭splash。
配置示例:
```
json
...
...
docs/compiler/README.md
浏览文件 @
c164344c
...
...
@@ -112,3 +112,6 @@ App原生语言的编译过程耗时较长,因此编译器引入了缓存机
└─static uni_modules下的本地静态资源(如图片、字体、音视频等文件)的目录
</code>
</pre>
uts、css等代码文件不是静态资源,它们会被编译为新的代码格式(如Android上会被编译为kt)。
请不要把这些文件放到static目录中,因为会导致代码里已经编进去了,又copy了一份相同文件到发行包中,重复增加了包体积。
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录