Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
d4a5a51e
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3592
Star
108
Fork
920
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
120
列表
看板
标记
里程碑
合并请求
108
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
120
Issue
120
列表
看板
标记
里程碑
合并请求
108
合并请求
108
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
d4a5a51e
编写于
12月 12, 2023
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
x
上级
37cb392a
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
63 addition
and
39 deletion
+63
-39
docs/uni-app-x/api/file-system.md
docs/uni-app-x/api/file-system.md
+56
-36
docs/uni-app-x/component/video.md
docs/uni-app-x/component/video.md
+1
-1
docs/uni-app-x/readme.md
docs/uni-app-x/readme.md
+6
-2
docs/uni-app-x/static/uaxding.png
docs/uni-app-x/static/uaxding.png
+0
-0
未找到文件。
docs/uni-app-x/api/file-system.md
浏览文件 @
d4a5a51e
## 文件系统
文件系统提供一套跨平台操作文件的管理接口,包括文件基本管理、文件目录管理、文件信息统计等常用功能。
# 文件系统
文件系统提供一套跨平台操作文件的管理接口,包括文件和目录的增删改名、获取信息、读写文件等常用功能。
通过
[
uni.getFileSystemManager
](
filemanager.md
)
可以获取到文件系统管理器,所有文件系统的管理操作通过
[
FileSystemManager
](
filemanager.md#FileSystemManager
)
来调用。
```
uts
const fs = uni.getFileSystemManager()
```
文件主要分两大类:
-
项目资源文件:指 uni-app x 项目目录中添加的资源文件
-
本地文件:指 uni-app x 项目发行后运行期间存储在本地系统的文件
-
项目包文件:指 uni-app x 项目目录中添加的文件,比如static目录下的文件。Android发行后存放在assets目录下。
-
本地文件:指 uni-app x 应用在手机端运行时可访问的磁盘文件。又分以下目录:
+
应用沙盒目录:App平台原生应用的沙盒目录,其中包括缓存文件目录和用户文件目录
*
缓存文件目录:App平台运行过程中框架保存缓存文件的目录
*
用户文件目录:App平台提供给开发者操作的本地文件目录
## 项目包文件
项目包文件放置应用首次加载时需要的文件,对于内容较大或需要动态更新的文件,不推荐添加到项目包文件中,可以在应用启动后联网将文件下载到本地。
本地文件在App端分以下目录:
-
缓存文件目录:App平台运行过程中框架保存缓存文件的目录
-
用户文件目录:App平台提供给开发者操作的本地文件目录
-
应用沙盒目录:App平台原生应用的沙盒目录,其中包括缓存文件目录和用户文件目录
推荐将文件放到static目录(uni_modules下也有static目录),详情参考
[
工程目录结构
](
https://uniapp.dcloud.net.cn/tutorial/project.html#static
)
没有在static目录的静态文件(比如image src指定静态路径或import),发行后会变编译到与static同级的assets目录,其中的文件名会加入随机数以避免重名。
因为随机数的存在,导致很难使用FileSystemManager访问。所以还是推荐使用static目录。
### 项目资源文件
项目资源文件适用于放置应用首次加载时需要的文件,对于内容较大或需要动态更新的文件,不推荐添加到项目资源文件中,可以在应用启动后调用网络API将文件下载到本地。
**通过FileSystemManager访问项目包文件**
推荐将资源文件放到static目录,详情参考
[
工程目录结构
](
../../tutorial/project.md#static
)
**访问项目资源文件**
通过路径访问项目资源文件需从项目根目录开始写文件路径,如:/static/uni.png、/static/icons/clear.png。
通过路径访问项目包文件需从项目根目录开始写文件路径,如:/static/uni.png、/uni_modules/xxx/static/clear.png。
>注意:项目
资源文件仅可读取,无法在运行后动态修改或删除,修改项目资源
文件需要重新发布新版本。
>注意:项目
包文件仅可读取和复制,无法动态修改或删除。修改项目包
文件需要重新发布新版本。
**真机运行**
App端真机运行期间HBuilderX会做特殊处理,将项目资源文件同步到
`应用沙盒目录`
下的特定目录:
**真机运行注意**
App端真机运行期间会做特殊处理,将项目包文件同步到
`应用沙盒目录`
下的特定目录:
-
Android平台
保存在应用专属存储空间的外置存储空间根目录下的apps目录,通常为“/sdcard/Android/data/%应用包名%
}}/apps/%应用AppID%/www/”
保存在应用专属存储空间的外置存储空间根目录下的apps目录,通常为“/sdcard/Android/data/%应用包名%
/apps/%应用AppID%/www/”
-
iOS平台
保存在应用沙盒目录下的Documents/uni-app-x目录,通常为“/%应用沙盒目录%/Documents/uni-app-x/apps/%应用AppID%/www/”
保存在应用沙盒目录下的Documents/uni-app-x目录,通常为“/%应用沙盒目录%/Documents/uni-app-x/apps/%应用AppID%/www/”
##
#
本地文件
## 本地文件
本地文件是指应用安装到设备(通常指手机)后,系统会提供一块独立的文件存储区域。在App端将会以应用维度隔离,即在同一台设备,不同应用间的本地文件不能直接相互访问。
本地文件路径格式为:
```
{{协议名}}://文件路径
```
>App端,协议名为"unifile",不应该直接拼写协议名路径访问本地文件,推荐使用uni.env中的目录常量获取本地文件目录的路径。
> App端,协议名为"unifile",不应该直接拼写协议名路径访问本地文件,推荐使用uni.env中的目录常量获取本地文件目录的路径。
本地文件沙盒目录,分内置和外置。外置可以在Android手机自带的系统文件管理器里看到,并且用户可以改动。内置的保护级别更高,无法在系统文件管理器中看到。
**通过uni.env的目录常量访问本地文件**
以下示例为在
`用户文件目录`
下写入hello.txt文件:
```
ts
const
fs
=
uni
.
getFileSystemManager
();
...
...
@@ -53,20 +61,39 @@ fs.writeFile({
```
#### 缓存文件目录
目录常量名称:uni.env.CACHE_PATH
### 外置应用沙盒目录
目录常量名称:
`uni.env.SANDBOX_PATH`
App端专有目录,为应用沙盒根目录,其下包含了
`缓存文件目录`
和
`用户文件目录`
。此目录在不同平台差异较大,不建议直接使用此目录,需开发者根据平台特性谨慎操作。
实际保存的目录在不同平台存在差异:
-
Android平台
应用专属存储空间的外置存储空间根目录,通常为“/sdcard/Android/data/%应用包名%/”,其下的cache目录为
`缓存文件目录`
,其下的files目录为
`用户文件目录`
-
iOS平台
应用沙盒虚拟目录,其下包括Document、Library、tmp目录,此目录只可读,不可创建其它目录
本目录可以在Android系统的文件管理器中看到。用户在文件管理器中可以查阅删改。手机被root后的沙盒机制也会失效,可以被其他app操作。
#### 缓存文件目录
目录常量名称:
`uni.env.CACHE_PATH`
App端本地缓存文件目录保存应用运行过程中产生的缓存文件,操作系统会在存储空间不足时清除缓存文件,因此不要在此目录中保存应用的关键业务数据文件。
实际保存的目录在不同平台存在差异:
实际保存的目录在不同平台存在差异:
-
Android平台
应用专属存储空间的外置存储空间根目录下的cache目录,通常为“/sdcard/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
目录常量名称:
`uni.env.USER_DATA_PATH `
App端用户文件目录提供给开发者在应用运行期保存业务逻辑文件,此目录不会被操作系统自动清除,由开发者完全自由管理。
...
...
@@ -76,17 +103,10 @@ App端用户文件目录提供给开发者在应用运行期保存业务逻辑
-
iOS平台
应用沙盒目录下的Document目录
### 内置应用沙盒目录
#### 应用沙盒目录
目录常量名称:uni.env.SANDBOX_PATH
App端专有目录,为应用沙盒根目录,其下包含了
`缓存文件目录`
和
`用户文件目录`
。此目录在不同平台差异较大,不建议直接使用此目录,需开发者根据平台特性谨慎操作。
实际保存的目录在不同平台存在差异:
-
Android平台
应用专属存储空间的外置存储空间根目录,通常为“/sdcard/Android/data/%应用包名%/”,其下的cache目录为
`缓存文件目录`
,其下的files目录为
`用户文件目录`
-
iOS平台
应用沙盒虚拟目录,其下包括Document、Library、tmp目录,此目录只可读,不可创建其它目录
目录常量名称:
`uni.env.ANDROID_INTERNAL_SANDBOX_PATH`
uni-app x框架的一些内置组件和API会涉及缓存文件,存放到本目录,如:
-
image/video组件的网络图片缓存
<!-- - 网络字体缓存? -->
\ No newline at end of file
docs/uni-app-x/component/video.md
浏览文件 @
d4a5a51e
...
...
@@ -15,7 +15,7 @@
-
[x] webm
-
[x] 3gp
-
[x] flv
-
[x] m3u8
-
[x] m3u8
(本地m3u8文件需3.99+)
<!-- UTSCOMJSON.video.example -->
...
...
docs/uni-app-x/readme.md
浏览文件 @
d4a5a51e
...
...
@@ -214,6 +214,7 @@ uvue组件、uts sdk、uni-app x前端页面/项目模板。这些前端代码
目前插件市场适配uni-app x的插件已有数百款,包括ui组件库:
-
[
t-uvue-ui
](
https://ext.dcloud.net.cn/plugin?id=15571
)
:丰富的组件库
-
[
uxui
](
https://ext.dcloud.net.cn/plugin?id=15726
)
:graceui作者的免费开源组件库
-
[
ux-front-ui
](
https://ext.dcloud.net.cn/plugin?id=15774
)
:持续更新的组件库
-
[
easyX电商组件库
](
https://ext.dcloud.net.cn/plugin?id=15602
)
:电商业务常见的各种组件库
## 一期范围及路线图
...
...
@@ -274,7 +275,7 @@ uni-app x 毕竟是原生应用,内嵌flutter、rn这些没有任何问题,
初期不能,后期会提供
-
uni-app x 能热更新吗?
开发期间可以热刷,但打包后不能热更新。开发者可自行封装原生的插件动态加载方案。
开发期间可以热刷,但打包后不能热更新。开发者可自行封装原生的插件动态加载方案
或使用uni小程序sdk
。
-
uni-app x 会搞插件大赛吗?
已经启动。欢迎大家做基于uts和uvue的插件。
[
详情
](
https://ask.dcloud.net.cn/article/40812
)
...
...
@@ -308,4 +309,7 @@ uni-app x 毕竟是原生应用,内嵌flutter、rn这些没有任何问题,
包括官方的组件和API也会复用,比如电量API
[
uni.getbatteryinfo
](
https://ext.dcloud.net.cn/plugin?id=9295
)
,和
[
lottie组件
](
https://ext.dcloud.net.cn/plugin?id=10674
)
,它们使用uts开发,在 uni-app js引擎版和x版上,调用的都是一套代码。
所以不必担心官方精力不足,顾此失彼。
欢迎加入 uni-app x 专用QQ群 485089465 进行交流。
欢迎加入 uni-app x 专用群交流
-
QQ群485089465(已满)
-
钉钉群二维码

docs/uni-app-x/static/uaxding.png
0 → 100644
浏览文件 @
d4a5a51e
108.0 KB
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录