Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
erosXXX
uni-app
提交
a2f54033
U
uni-app
项目概览
erosXXX
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a2f54033
编写于
11月 04, 2020
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
日更
上级
7bd68cc8
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
51 addition
and
32 deletion
+51
-32
docs/uniCloud/clientdb.md
docs/uniCloud/clientdb.md
+1
-1
docs/uniCloud/hellodb.md
docs/uniCloud/hellodb.md
+10
-10
docs/uniCloud/schema.md
docs/uniCloud/schema.md
+2
-0
docs/uniCloud/uni-clientdb-component.md
docs/uniCloud/uni-clientdb-component.md
+2
-2
docs/uniCloud/uni-id.md
docs/uniCloud/uni-id.md
+36
-19
未找到文件。
docs/uniCloud/clientdb.md
浏览文件 @
a2f54033
...
...
@@ -449,7 +449,7 @@ db.collection('order')
1.
滚动到底加载下一页
2.
点击页码按钮切换不同页
推荐通过
`<uni-clientDB>`
组件
处理分页
,详见:
[
https://uniapp.dcloud.net.cn/uniCloud/uni-clientdb-component?id=page
](
https://uniapp.dcloud.net.cn/uniCloud/uni-clientdb-component?id=page
)
推荐通过
`<uni-clientDB>`
组件
渲染分页列表
,详见:
[
https://uniapp.dcloud.net.cn/uniCloud/uni-clientdb-component?id=page
](
https://uniapp.dcloud.net.cn/uniCloud/uni-clientdb-component?id=page
)
### 排序orderBy@orderby
...
...
docs/uniCloud/hellodb.md
浏览文件 @
a2f54033
...
...
@@ -4,13 +4,13 @@
它是nosql非关系型数据库,如果您之前熟悉sql关系型数据库,那么两者概念对应关系如下表:
|关系型
|JSON 文档型
|
|:-
|:-
|
|数据库 database
|数据库 database
|
|表 table
|集合 collection
|
|行 row
|记录 record / doc
|
|字段 column |字段 field |
|使用sql语法操作
|使用MongoDB语法或jql操作 |
|关系型
|JSON 文档型
|
|:-
|:-
|
|数据库 database
|数据库 database
|
|表 table
|集合 collection
|
|行 row
|记录 record / doc
|
|字段 column |字段 field
|
|使用sql语法操作|使用MongoDB语法或jql操作 |
一个
`uniCloud`
服务空间,有且只有一个数据库。一个数据库支持多个集合(表)。一个集合可以有多个记录。每个记录可以有多个字段。
...
...
@@ -39,7 +39,7 @@
{
"name"
:
"李四"
,
"tel"
:
"13911111111"
}
```
上述数据
代表
张三登录了2次,login_date里的值是时间戳(timestamp)格式,后续会讲解timestamp。而李四没有登录过。
上述数据
表示
张三登录了2次,login_date里的值是时间戳(timestamp)格式,后续会讲解timestamp。而李四没有登录过。
可以看出json文档数据库相对于关系型数据库的灵活,李四可以没有login_log字段,也可以有这个字段但登录次数记录与张三不同。
...
...
@@ -141,7 +141,7 @@ db.createCollection("table1")
*
腾讯云调用collection的add方法不会自动创建集合,不存在的集合会报错
*
阿里云没有createCollection方法
## 集合的
三
个组成部分
## 集合的
3
个组成部分
每个集合,其实包含3个部分:
-
data:数据内容
...
...
@@ -172,7 +172,7 @@ data很简单,就是存放的数据记录(record)。
如果我们要根据name字段来查询,为了提升查询速度,此时可以把name字段设为非唯一索引。
如果对一个文章点赞表,设置文章id和用户id为组合索引,且将此索引设置为唯一索引可以完全
限制同一用户对一篇文章多次点赞。
还有“组合索引”的概念,可以把多个字段组合成一个“组合索引”。例如一个文章点赞记录明细表,设置文章id和用户id为组合索引,且将此组合索引设为唯一型索引,就可以
限制同一用户对一篇文章多次点赞。
**在web控制台添加上述索引**
...
...
docs/uniCloud/schema.md
浏览文件 @
a2f54033
...
...
@@ -70,6 +70,8 @@
-
bool
-
timestamp
注:timestamp是一串数字的时间戳,不合适直接渲染到界面上。推荐的做法是在前端渲染时使用
[
`<uni-dateformat>`组件
](
https://ext.dcloud.net.cn/plugin?id=3279
)
。
<!-- schema里时间格式只允许时间戳是不够的 -->
### 基本示例
...
...
docs/uniCloud/uni-clientdb-component.md
浏览文件 @
a2f54033
...
...
@@ -223,8 +223,8 @@ this.$refs.udb.remove(ids, {
```
注意:
- 如果列表分页采取分页组件,每页有固定数量,那么`
clientDB
`组件的remove方法删除数据后,会重新请求当前页面数据。
- 如果列表采取滚动加载方式,
滚动加载下一页数据,那么`
clientDB
`组件的remove方法删除数据后,不会重新请求数据,而是从已有数据移除已删除项。(组件支持版本大于1.1.0
)
- 如果列表分页采取分页组件,
即page-data值为`
replace
`,
每页有固定数量,那么`
clientDB
`组件的remove方法删除数据后,会重新请求当前页面数据。
- 如果列表采取滚动加载方式,
即page-data值为`
add
`,滚动加载下一页数据,那么`
clientDB
`组件的remove方法删除数据后,不会重新请求数据,而是从已有数据移除已删除项。(组件版本1.1.0+支持
)
...
...
docs/uniCloud/uni-id.md
浏览文件 @
a2f54033
...
...
@@ -6,15 +6,21 @@
`uni-id`
应需而生。
`uni-id`
为
`uniCloud`
开发者提供了简单、统一、可扩展的用户管理能力封装。
`uni-id`
为
`uniCloud`
开发者提供了简单、统一、可扩展的用户管理能力封装。
[
clientDB
](
uniCloud/clientDB
)
、
[
DB Schema
](
uniCloud/schema
)
、
[
uniCloud admin
](
uniCloud/admin
)
,这些产品都基于
`uni-id`
的账户体系。可以说
`uni-id`
是uniCloud不可获取的基础能力。
# 组成部分
`uni-id`
包括如下组成部分:
1.
云数据库
`uni-id`
包括如下组成部分:
主表为
`uni-id-users`
表,保存用户的基本信息。
1.
云数据库
扩展字段有很多,如实名认证数据、工作履历数据,开发者可以自由扩展。
主表为
`uni-id-users`
表,保存用户的基本信息。扩展字段有很多,如实名认证数据、工作履历数据,开发者可以自由扩展。
还有 uni-id- 开头的十几个附表,比如权限表
`uni-id-permissions`
、角色表
`uni-id-roles`
、积分表
`uni-id-scores`
、设备表
`uni-id-device`
...
所有
`uni-id`
的数据表,在uniCloud web控制台新建表的界面上,都可以选择这些数据表模板,直接建好。
2.
云函数
...
...
@@ -28,7 +34,8 @@
uniCloud框架底层,会自动在callfunction时传递
`uni-id`
的token(uni-app 2.7.13+版本)。在云函数的event中可直接拿到
`uni-id`
的token。也就是说开发者无需自己管理token了。
# uni-id 对开发者的价值
# uni-id 对开发者的价值
1.
节省了大量重复劳动
2.
降低门槛,前端开发者无需纠结怎样设计数据库设计才更合理
3.
多系统打通用户和上下游协同
...
...
@@ -39,18 +46,21 @@ uniCloud框架底层,会自动在callfunction时传递`uni-id`的token(uni-a
在插件市场,每类模板插件都能找到,但他们如果不是基于同一套用户体系设计,就很难整合。
DCloud推荐所有uniCloud的应用,
都基于
`uni-id`
来做。
所有uniCloud的应用,几乎
都基于
`uni-id`
来做。
有了统一的账户规范,并且围绕这套账户规范,有各种各样插件,那么开发者可以随意整合这些插件,让数据连同。
规范,还可以让上下游充分协同。插件市场会出现各种数据迁移插件,比如把从discuz里把用户迁移到
`uni-id`
中的插件,相信围绕这套规范的产业链会非常活跃。
规范,还可以让上下游充分协同。插件市场会出现各种数据迁移插件,比如把从discuz里把用户迁移到
`uni-id`
中的插件,相信围绕这套规范的产业链会非常活跃。
事实上,
[
clientDB
](
uniCloud/clientDB
)
、
[
DB Schema
](
uniCloud/schema
)
、
[
uniCloud admin
](
uniCloud/admin
)
等重要uniCloud产品,以及插件市场上各种优秀的轮子,都是基于
`uni-id`
的。
# 现状和未来
`uni-id`
已完
整
的内容:
`uni-id`
已完
成
的内容:
-
注册、登录、发送短信验证码、密码加密保存、修改密码、token管理(短信验证码功能需要HBuilderX 2.8.3+)
-
三方登录:App中的微信登录、微信小程序中的微信登录、支付宝小程序中的支付宝账户登录
-
三方登录:App中的微信登录、微信小程序中的微信登录、支付宝小程序中的支付宝账户登录
-
rbac权限角色体系
关于还缺少的部分,哪些DCloud在完善,哪些希望开发者给共同完善开源项目,计划与边界公布如下:
...
...
@@ -66,10 +76,6 @@ DCloud暂无计划开发百度、头条、QQ等小程序的登录,以及Apple
目前插件市场里已经有不少相关插件,未来DCloud会整合到
`uni-id`
中。
4.
权限管理ACL
这部分欢迎开发者参与完善。
其他方面,各种常见开源项目如discuz、wordPress、ecshop的用户导入插件,不属于
`uni-id`
主工程,欢迎开发者单独提交插件到插件市场。
`uni-id`
的git仓库:
[
https://gitee.com/dcloud/uni-id.git
](
https://gitee.com/dcloud/uni-id.git
)
...
...
@@ -79,17 +85,15 @@ DCloud暂无计划开发百度、头条、QQ等小程序的登录,以及Apple
使用uni-id需要按照以下步骤操作
1.
准备2.
7.14
或以上版本的HBuilderX
1.
准备2.
8
或以上版本的HBuilderX
2.
插件市场导入
`uni-id`
公用模块,
[
插件市场 uni-id
](
https://ext.dcloud.net.cn/plugin?id=2116
)
3.
修改公用模块
`uni-id`
下的
`config.json`
内所需参数(请参考下面config.json的说明)
4.
上传
`cloudfunctions/common`
下的
`uni-id`
模块
5.
按照
[
公用模块使用说明
](
https://uniapp.dcloud.io/uniCloud/cf-common
)
在云函数下安装
`uni-id`
模块
6.
创建
`uni-id-users`
、
`uni-verify`
集合(
可以直接使用示例项目里面的db_init.json进行初始化
)
6.
创建
`uni-id-users`
、
`uni-verify`
集合(
uni-verify是验证码表。可以使用示例项目里面的db_init.json进行初始化、也可以在web控制台新建表时选择这些表模块
)
或者直接导入
[
uni-id在插件市场的示例工程
](
https://ext.dcloud.net.cn/plugin?id=2116
)
导入示例项目时,如果选择腾讯云,在HBuilderX2.7及以下版本中,需要进入项目目录,手动将目录
`cloudfunctions-aliyun`
改名为
`cloudfunctions-tcb`
,然后在HBuilderX中右键cloudfunctions绑定服务空间。
**config.json的说明**
注意:
...
...
@@ -380,7 +384,7 @@ username可以是字符串、可以是email、可以是手机号,本插件不
比如要求username为手机号,则自行在前端界面上做好提示,在后台对格式进行校验。
password入库时会自动进行一次sha1加密,不明文存储密码。
password入库时会自动进行一次sha1加密,不明文存储密码。
秘钥是开发者在config.json里自行配置的。
**响应参数**
...
...
@@ -2207,6 +2211,19 @@ exports.main = async function(event,context) {
| permission_name | String | 否 | 权限名,展示用 |
| comment | String | 否 | 备注 |
| created_date | Timestamp | 是 | 权限创建时间 |
## 更多表
还有更多uni-id的配套数据表,可以在uniCloud web控制台新建表时选择相应模板。此处不再详述,仅罗列清单:
-
积分表:uni-id-scores
-
地址信息表:uni-id-address
-
订单表:uni-id-base-order
-
设备表:uni-id-device
-
关注粉丝表:uni-id-followers
-
日志表:uni-id-log
-
任务表:uni-id-task
-
任务日志表:uni-id-task-log
# 错误码
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录