Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
7cda201e
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3200
Star
106
Fork
813
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
94
列表
看板
标记
里程碑
合并请求
70
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
94
Issue
94
列表
看板
标记
里程碑
合并请求
70
合并请求
70
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
未验证
提交
7cda201e
编写于
2月 09, 2022
作者:
DCloud_Heavensoft
提交者:
Gitee
2月 09, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update docs/uniCloud/concepts/space.md.
上级
e83c9087
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
105 addition
and
8 deletion
+105
-8
docs/uniCloud/concepts/space.md
docs/uniCloud/concepts/space.md
+105
-8
未找到文件。
docs/uniCloud/concepts/space.md
浏览文件 @
7cda201e
## 简介
一个服务空间对应一整套独立的云开发资源,包括数据库、存储空间、云函数等资源。服务空间之间彼此隔离。
一个服务空间对应一整套独立的云开发资源,包括数据库、存储空间、云函数等资源。服务空间之间彼此隔离。
每个服务空间都有一个全局唯一的space ID。
每个服务空间都有一个全局唯一的space ID。
开发者可在 HBuilderX 中新建服务空间,如下:
-
在 HBuilderX 中管理服务空间,包括新建服务空间和关联服务空间
HBuilderX 3.0起版本,在云函数目录
`uniCloud`
右键菜单
创建服务空间
在
`uniCloud`
目录右键菜单中
创建服务空间
<div
align=
center
>
<div
align=
center
>
<img
style=
"max-width:750px;"
src=
"https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/b16f9740-4c05-11eb-8a36-ebb87efcf8c0.jpg"
/>
<img
style=
"max-width:750px;"
src=
"https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/b16f9740-4c05-11eb-8a36-ebb87efcf8c0.jpg"
/>
</div>
</div>
创建服务空间后,在同样的
`uniCloud`
目录右键菜单中关联该服务空间。只有项目关联好服务空间后,才能上传云函数、操作服务空间下的数据库、存储等资源。
HBuilderX 3.0之前版本,在云函数目录
`cloudfunctions`
右键菜单创建服务空间
-
在uniCloud的web控制台
[
https://unicloud.dcloud.net.cn
](
https://unicloud.dcloud.net.cn
)
管理服务空间。
<div
align=
center
>
web控制台可以新建、删除服务空间,管理线上的服务空间资源。
<img
style=
"max-width:750px;"
src=
"https://img.cdn.aliyun.dcloud.net.cn/uni-app/uniCloud/unicloud-01.png"
/>
</div>
**服务空间数量限制**
:每个DCloud开发者账户,腾讯云版提供1个免费服务空间,最多可创建49个收费服务空间。阿里云版最多可创建50个免费服务空间。
**新建服务空间注意**
-
第一次创建腾讯云服务空间时会为开发者创建腾讯云账号并跳转到腾讯云实名界面,等待实名认证审核之后可以开通服务空间。若腾讯云实名认证提示身份证下已创建过多账户,则需要在腾讯云官网注销不用的账户,然后重试。
-
创建服务空间可能需要几十秒的时间,可以在web控制台查看是否创建完成。
## 多人协作
一个服务空间只有一个创建者,但可以设置协作者。
项目涉及多人开发时,在
[
dev.dcloud.net.cn
](
https://dev.dcloud.net.cn
)
设置协作者(选择应用->设置项目成员),实现多人共同使用一个云服务空间。
协作者可以在HBuilderX和web控制台中操作被授权的服务空间,除了删除服务空间,其他功能均可正常操作。
授权步骤:
1.
在开发者中心
`我创建的应用`
列表页面选择特定的应用,如果应用过多可以使用AppId进行查找
!
[
我创建的应用
](
https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/865a0df3-3169-48df-8b4c-8acacf1a621f.jpg
)
2.
在第一步选择的应用详情页面左侧菜单点击
`项目成员管理`
3.
输入协作者邮箱并点击
`添加协作者按钮`
,下方会出现协作者权限配置界面
!
[
项目成员管理
](
https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/2e59ce9b-f202-4432-954c-d6182187ef94.jpg
)
4.
勾选uniCloud并点击
`设置授权服务空间`
,在弹出界面勾选希望此协作者访问的服务空间
!
[
设置授权服务空间
](
https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/b3c234a7-e514-4b14-b33d-e7322130bd7d.jpg
)
5.
点击第4步弹出界面的
`保存按钮`
以及第3步的
`保存权限设置`
按钮
6.
协作者如需在uni-app项目关联此服务空间,需要在项目的
`manifest.json`
内配置上共享的应用的AppId(需要在源码视图编辑manifest.json)
## 应用和服务空间的关系
每个uni-app应用都有一个appid,每个服务空间都有一个spaceid。
服务空间和手机端项目是多对多绑定关系。同DCloud账号下,一个应用可以关联到多个服务空间。一个服务空间也可以被多个项目访问。
### 多应用共用服务空间
比如一个项目的用户端和管理端,在HBuilderX里可以创建成2个项目,但2个项目的服务空间可以指向一个,或者干脆把其中一个项目的服务空间绑定到另一个项目上。
[
详见
](
https://ask.dcloud.net.cn/article/37949
)
### 一个应用访问多个服务空间
若应用仅连接一个服务空间,在HBuilderX中做好服务空间关联即可。开发者无需手动做初始化工作(可理解为类调用)。
```
//项目仅连接了一个服务空间,则无需初始化
//可通过uniCloud直接调用云开发的API
uniCloud.callFunction()
uniCloud.uploadFile()
```
若一个应用需要同时连接更多服务空间,HBuilderX中无法绑定更多服务空间。此时需开发者在
**客户端代码**
中,手动调用初始化方法
`uniCloud.init`
,连接其他服务空间。
`uniCloud.init`
方法会返回一个
`uniCloud`
实例,之后云函数API的调用都需要通过该
`uniCloud`
实例发起(类似实例调用)。
`uniCloud.init`
方法定义如下:
```
function init(options):uniCloud
```
`uniCloud.init`
方法接受一个
`options`
参数,返回
`uniCloud`
实例,
`uniCloud`
实例可调用云函数、云存储相关API。
**options 参数说明**
|参数名 |类型 |必填 |默认值 |说明 |
|:-: |:-: |:-: |:-: |:-: |
|provider |String |是 |- |aliyun、tencent |
|spaceId |String |是 |- |服务空间ID,
**注意是服务空间ID,不是服务空间名称**
|
|clientSecret |String |是 |- |仅阿里云支持,可以在
[
uniCloud控制台
](
https://unicloud.dcloud.net.cn
)
服务空间列表中查看 |
|endpoint |String |否 |
`https://api.bspapp.com`
|服务空间地址,仅阿里云侧支持 |
**示例代码**
```
javascript
//开发者创建了多个服务空间,则需手动初始化。注意这是前端代码,不是云函数代码
const
myCloud
=
uniCloud
.
init
({
provider
:
'
aliyun
'
,
spaceId
:
'
xxxx-yyy
'
,
clientSecret
:
'
xxxx
'
});
//通过uniCloud实例调用云开发的API
myCloud
.
callFunction
()
myCloud
.
uploadFile
()
```
**Tips:**
或者在uniCloud的web控制台
[
https://unicloud.dcloud.net.cn
](
https://unicloud.dcloud.net.cn
)
创建服务空间。
-
云函数会自动识别自己所属的服务空间,无需初始化。
-
腾讯云支持在云函数内初始化本账号下的其他服务空间
开发者需先为项目绑定服务空间,然后才能上传云函数、操作服务空间下的数据库、存储等资源。
uniCloud还支持跨服务空间的数据库访问,另见
[
文档
](
https://uniapp.dcloud.net.cn/uniCloud/init?id=init-db
)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录