Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
a901308b
U
uni-app
项目概览
DCloud
/
uni-app
大约 2 个月 前同步成功
通知
708
Star
38705
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
a901308b
编写于
10月 20, 2020
作者:
W
wanganxp
提交者:
GitHub
10月 20, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update uni-clientDB.md
上级
fa607dc2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
42 addition
and
42 deletion
+42
-42
docs/uniCloud/uni-clientDB.md
docs/uniCloud/uni-clientDB.md
+42
-42
未找到文件。
docs/uniCloud/uni-clientDB.md
浏览文件 @
a901308b
...
...
@@ -139,35 +139,35 @@ clientDB目前内置了3个变量可以供客户端使用,客户端并非直
|db.env.clientIP|当前客户端IP |
使用这些变量,将可以避免过去在服务端代码中写代码获取用户uid、时间和客户端ip的麻烦。
### 查询条件扩展@jsquery
自uni-clientDB 2.0.5版本起,支持使用类js语法进行查询条件的编写。具体看以下示例
```
js
### 查询条件扩展@jsquery
自uni-clientDB 2.0.5版本起,支持使用类js语法进行查询条件的编写。具体看以下示例
```
js
import
db
from
'
@/js_sdk/uni-clientDB/index.js
'
const
dbCmd
=
db
.
command
// 上面的示例中的where条件可以使用以下写法
db
.
collection
(
'
list
'
)
.
where
(
'
name == "hello-uni-app"
'
)
.
where
(
'
name == "hello-uni-app"
'
)
.
get
()
.
then
((
res
)
=>
{
// res 为数据库查询结果
}).
catch
((
err
)
=>
{
})
```
**条件内可以使用的变量**
|变量名 |说明 |
|:-: |:-: |
|auth.uid |用户id |
|auth.role |用户角色数组,参考
[
uni-id 角色权限
](
/uniCloud/uni-id?id=rbac
)
,注意
`admin`
为clientDB内置的角色,如果用户角色列表里包含
`admin`
则认为此用户有完全数据访问权限|
|auth.permission|用户权限数组,参考
[
uni-id 角色权限
](
/uniCloud/uni-id?id=rbac
)
|
|now |当前时间戳(单位:毫秒),时间戳可以进行额外运算,如publish
\_
date > now - 60000表示publish
\_
date在最近一分钟 |
})
```
**条件内可以使用的变量**
|变量名 |说明 |
|:-: |:-: |
|auth.uid |用户id |
|auth.role |用户角色数组,参考
[
uni-id 角色权限
](
/uniCloud/uni-id?id=rbac
)
,注意
`admin`
为clientDB内置的角色,如果用户角色列表里包含
`admin`
则认为此用户有完全数据访问权限|
|auth.permission|用户权限数组,参考
[
uni-id 角色权限
](
/uniCloud/uni-id?id=rbac
)
|
|now |当前时间戳(单位:毫秒),时间戳可以进行额外运算,如publish
\_
date > now - 60000表示publish
\_
date在最近一分钟 |
**条件语句内可以使用的运算符**
...
...
@@ -182,32 +182,32 @@ db.collection('list')
|in |存在在数组中 |status in ['a','b'] |查询条件的 status 是['a','b']中的一个,左侧为数据库字段 |
|! |非 |!(status in ['a','b']) |查询条件的 status 不是['a','b']中的任何一个 |
|&& |与 |uid == auth.uid && age > 10 |查询记录uid属性 为 当前用户uid 并且查询条件的 age 属性大于 10|
|
||
|或 |uid == auth.uid
||
age>10|查询记录uid属性 为 当前用户uid 或者查询条件的 age 属性大于 10|
|test |正则校验 |/abc/.test(content) |查询 content 内包含abc的记录
|
### 刷新token
透传uni-id自动刷新的token给客户端
**用法**
|
||
|或 |uid == auth.uid
||
age>10|查询记录uid属性 为 当前用户uid 或者查询条件的 age 属性大于 10|
|test |正则校验 |/abc/.test(content) |查询 content 内包含abc的记录
。可用于替代sql中的like。还可以写更多正则实现更复杂的功能 |
### 刷新token
透传uni-id自动刷新的token给客户端
**用法**
```
js
// 引入公共模块
import
db
from
'
@/js_sdk/uni-clientDB/index.js
'
function
refreshToken
({
token
,
tokenExpired
})
{
uni
.
setStorageSync
(
'
uni_id_token
'
,
token
)
uni
.
setStorageSync
(
'
uni_id_token_expired
'
,
tokenExpired
)
}
// 绑定刷新token事件
db
.
auth
.
on
(
'
refreshToken
'
,
refreshToken
)
// 解绑刷新token事件
db
.
auth
.
off
(
'
refreshToken
'
,
refreshToken
)
```
function
refreshToken
({
token
,
tokenExpired
})
{
uni
.
setStorageSync
(
'
uni_id_token
'
,
token
)
uni
.
setStorageSync
(
'
uni_id_token_expired
'
,
tokenExpired
)
}
// 绑定刷新token事件
db
.
auth
.
on
(
'
refreshToken
'
,
refreshToken
)
// 解绑刷新token事件
db
.
auth
.
off
(
'
refreshToken
'
,
refreshToken
)
```
## 云端部分
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录