Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-unicloud-zh
提交
fa3b5055
U
unidocs-unicloud-zh
项目概览
DCloud
/
unidocs-unicloud-zh
通知
124
Star
4
Fork
31
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
2
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-unicloud-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
fa3b5055
编写于
12月 26, 2023
作者:
A
Anne_LXM
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: 修正迁移后错误的链接
上级
03f88e72
变更
19
隐藏空白更改
内联
并排
Showing
19 changed file
with
41 addition
and
41 deletion
+41
-41
docs/admin.md
docs/admin.md
+2
-2
docs/cf-database-aggregate.md
docs/cf-database-aggregate.md
+0
-1
docs/cf-database-dbcmd.md
docs/cf-database-dbcmd.md
+2
-2
docs/cf-database.md
docs/cf-database.md
+1
-1
docs/cf-functions.md
docs/cf-functions.md
+1
-1
docs/clientdb.md
docs/clientdb.md
+1
-1
docs/cloud-obj.md
docs/cloud-obj.md
+1
-1
docs/faq.md
docs/faq.md
+1
-1
docs/jql-schema-ext.md
docs/jql-schema-ext.md
+1
-1
docs/sms/dev.md
docs/sms/dev.md
+2
-2
docs/uni-cloud-push/api.md
docs/uni-cloud-push/api.md
+3
-3
docs/uni-cloud-router.md
docs/uni-cloud-router.md
+5
-5
docs/uni-cloud-s2s.md
docs/uni-cloud-s2s.md
+2
-2
docs/uni-id/app-x.md
docs/uni-id/app-x.md
+2
-2
docs/uni-id/app.md
docs/uni-id/app.md
+1
-1
docs/uni-id/cloud-object.md
docs/uni-id/cloud-object.md
+3
-3
docs/uni-id/old.md
docs/uni-id/old.md
+1
-1
docs/uni-im.md
docs/uni-im.md
+5
-4
docs/uni-open-bridge.md
docs/uni-open-bridge.md
+7
-7
未找到文件。
docs/admin.md
浏览文件 @
fa3b5055
...
...
@@ -293,7 +293,7 @@ $top-window-text-color: #999; /* 文字颜色 */
> 用户登录时,会根据用户的 _角色_ 去查找其拥有的 _权限_ ,再根据 _权限_ 去查找对应的 _菜单_
#### 管理静态菜单
#### 管理静态菜单
@menus
通过
[
admin.config.js
](
https://github.com/dcloudio/uni-admin/blob/master/admin.config.js
)
配置侧边栏内容,所有用户都能看到静态菜单。
...
...
@@ -657,7 +657,7 @@ admin 框架内置了一套 icon 图标,在`静态功能演示-图标`菜单
## 新增页面
新增页面可以自己开发页面,也可以从插件市场下载插件。页面如需添加菜单,参见上文的
[
菜单管理
](
#
静态菜单和动态菜单
)
。
新增页面可以自己开发页面,也可以从插件市场下载插件。页面如需添加菜单,参见上文的
[
菜单管理
](
#
menus
)
。
开发页面不局限开发方式:
...
...
docs/cf-database-aggregate.md
浏览文件 @
fa3b5055
...
...
@@ -718,7 +718,6 @@ group({
累计器必须是以下操作符之一:
详细使用方法见
[
累计器操作符
](
#累计器操作符
)
|操作符 |说明 |
|---- |---- |
...
...
docs/cf-database-dbcmd.md
浏览文件 @
fa3b5055
...
...
@@ -250,7 +250,7 @@ function nor(...expressions: Expression[]): Command
## 查询·比较操作符@dbcmd-compare
### eq
### eq
@eq
查询筛选条件,表示字段等于某个值。
`eq`
指令接受一个字面量 (literal),可以是
`number`
,
`boolean`
,
`string`
,
`object`
,
`array`
,
`Date`
。
...
...
@@ -302,7 +302,7 @@ let res = await db.collection('articles').where({
#### 使用说明
表示字段不等于某个值,和
[
eq
](
Command.eq.md
)
相反
表示字段不等于某个值,和
[
eq
](
#eq
)
相反
### lt
...
...
docs/cf-database.md
浏览文件 @
fa3b5055
...
...
@@ -1993,7 +1993,7 @@ exports.main = async (event) => {
<!-- ## 数据库实时推送
监听指定集合中符合查询条件的文档,通过onchange回调获得文档的变化详情
(where参数为查询条件 参考
[
查询文档
](
#
查询文档
)
)
(where参数为查询条件 参考
[
查询文档
](
#
query
)
)
```
js
const
uniCloud
=
uniCloud
.
init
({
...
...
docs/cf-functions.md
浏览文件 @
fa3b5055
...
...
@@ -652,7 +652,7 @@ uniCloud.getRequestList()
-
云对象通过
`this.getUniCloudRequestId()`
。
[
详情
](
cloud-obj.md#get-request-id
)
-
云函数通过函数自带参数context。
[
详情
](
cf-callfunction.md#context
)
### 获取客户端信息列表
#
get-client-infos
### 获取客户端信息列表
@
get-client-infos
同理,考虑到单实例多并发,
`uniCloud.getClientInfos()`
获取客户端信息也是一个数组。
...
...
docs/clientdb.md
浏览文件 @
fa3b5055
...
...
@@ -21,7 +21,7 @@ JQL语法相关文档已移至:[JQL语法](jql.md)
**注意**
-
`clientDB`
依赖uni-id(
`1.1.10+版本`
)提供用户身份和权限校验,存在uni-id-common时clientDB会优先依赖uni-id-common,如果你不了解uni-id,请参考:
[
uni-id文档
](
uni-id/old.md
)
,
[
uni-id-common文档
](
uni-id-common.md
)
-
`clientDB`
依赖uni-id(
`1.1.10+版本`
)提供用户身份和权限校验,存在uni-id-common时clientDB会优先依赖uni-id-common,如果你不了解uni-id,请参考:
[
uni-id文档
](
uni-id/old.md
)
,
[
uni-id-common文档
](
uni-id
/cloud
-common.md
)
-
`clientDB`
依赖的uni-id需要在uni-id的config.json内添加uni-id相关配置,通过uni-id的init方法传递的参数不会对clientDB生效,参考:
[
uni-id 配置
](
uni-id/old.md?id=config
)
,
[
uni-id新版配置(uni-id-co + uni-id-common)
](
uni-id/summary.md?id=config
)
-
通常在管理控制台使用
`clientDB`
,需要获取不同角色用户拥有的权限(在权限规则内使用auth.permission),请先查阅:
[
uni-id 角色权限
](
uni-id/old.md?id=rbac
)
,
[
uni-id新版角色权限(uni-id-co + uni-id-common)
](
uni-id/summary.md?id=rbac
)
...
...
docs/cloud-obj.md
浏览文件 @
fa3b5055
...
...
@@ -377,7 +377,7 @@ module.exports = {
}
```
获取的token是一个加密的字符串,如需解开token,拿到用户的uid、role、permission,则需要导入 uni-id-common 公共模块调用 checkToken 方法。
[
详见
](
uni-id-common.md#checktoken
)
获取的token是一个加密的字符串,如需解开token,拿到用户的uid、role、permission,则需要导入 uni-id-common 公共模块调用 checkToken 方法。
[
详见
](
uni-id
/cloud
-common.md#checktoken
)
### 获取当前调用的方法名@get-method-name
...
...
docs/faq.md
浏览文件 @
fa3b5055
...
...
@@ -6,7 +6,7 @@
简单来说,uniCloud和微信小程序云开发、支付宝小程序云开发一样稳定健壮,但有更多优势:
-
跨平台。不管你在uniCloud里选择了阿里还是腾讯的serverless,均可以跨uni-app的全端使用。从pc到h5,从Android到iOS,以及各家小程序快应用,十几个平台全端支持
-
uniCloud提供了
`clientDB`
神器,减少90%的服务器开发工作量,且保障数据安全。
[
详见
](
./database
)
-
uniCloud提供了
`clientDB`
神器,减少90%的服务器开发工作量,且保障数据安全。
[
详见
](
clientDB.md
)
-
uniCloud提供了
[
uni-id
](
uni-id/summary.md
)
、
[
uniPay
](
./unipay
)
等重要框架,大幅减少开发者的相应功能开发量。
-
uniCloud提供了
[
uni-starter
](
https://ext.dcloud.net.cn/plugin?id=5057
)
,客户端开发工作量大幅减少。
-
uniCloud提供了
[
uniCloud admin
](
./admin
)
,管理端开发工作量大幅减少。
...
...
docs/jql-schema-ext.md
浏览文件 @
fa3b5055
...
...
@@ -654,7 +654,7 @@ module.exports = {
schema扩展依赖的公共模块和扩展库同样可以被action、validateFunction使用。
内置依赖:目前schema扩展依赖了
`uni-id`
或
[
uni-id-common
](
uni-id-common.md
)
,uni-id 3.0.7及以上版本又依赖了
[
uni-config-center
](
uni-config-center.md
)
,这两个公共模块是可以在触发器内直接使用的。如果所在服务空间开通了redis,schema扩展内可直接使用redis扩展。
内置依赖:目前schema扩展依赖了
`uni-id`
或
[
uni-id-common
](
uni-id
/cloud
-common.md
)
,uni-id 3.0.7及以上版本又依赖了
[
uni-config-center
](
uni-config-center.md
)
,这两个公共模块是可以在触发器内直接使用的。如果所在服务空间开通了redis,schema扩展内可直接使用redis扩展。
自
`HBuilderX 3.7.0`
起,可以在项目的
`uniCloud/database`
目录上右键管理schema扩展依赖的公共模块和扩展库。同样在此目录右键选择
`上传schema扩展Js的配置`
将配置的依赖同步到云端。
...
...
docs/sms/dev.md
浏览文件 @
fa3b5055
...
...
@@ -39,7 +39,7 @@
自HBuilderX 3.4.0起,短信相关功能移至扩展库
`uni-cloud-sms`
内。在一段时间内无论开发者是否使用扩展库云函数都可以正常使用
`uniCloud.sendSms`
。HBuilderX 3.4.0及之后的版本上传云函数时如果没有指定使用
`uni-cloud-sms`
扩展库的云函数将无法调用uniCloud.sendSms接口。
关于扩展库的说明见:
[
云函数扩展库
](
cf-functions.md#extension
)
关于扩展库的说明见:
[
云函数扩展库
](
../
cf-functions.md#extension
)
在云函数的package.json内添加
`uni-cloud-sms`
的引用即可为云函数启用此扩展,无需做其他调整,完整的package.json示例如下:
...
...
@@ -204,7 +204,7 @@ exports.main = async (event, context) => {
-
发送短信前,如果需要图形验证码来防止机刷,可以使用
[
uni-captcha图形验证码
](
https://ext.dcloud.net.cn/plugin?id=4048
)
。在
[
uni-id-pages
](
../uni-id/app.md
)
模板中已经集成了uni-id、uni-captcha
-
Android手机在App端获取短信验证码,参考:
[
https://ask.dcloud.net.cn/article/676
](
https://ask.dcloud.net.cn/article/676
)
-
短信内容超过70个字符时为长短信,需分条发送,每67个字按一条短信计算
-
App平台的短信验证码需求,建议优先通过App一键登陆来替代,更便捷、更便宜。
[
详见
](
univerify.md
)
-
App平台的短信验证码需求,建议优先通过App一键登陆来替代,更便捷、更便宜。
[
详见
](
../
univerify.md
)
更多问题:欢迎加入
<a
class=
"join-group-chat"
target=
"_blank"
href=
"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/Dcloud-%E7%9F%AD%E4%BF%A1.png"
>
DCloud短信技术交流群
<img
src=
"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/Dcloud-%E7%9F%AD%E4%BF%A1.png"
>
</a>
咨询
...
...
docs/uni-cloud-push/api.md
浏览文件 @
fa3b5055
...
...
@@ -69,9 +69,9 @@ await uniPush.sendMessage(OBJECT)
|user_id|String、Array|否|无|基于uni-id的_id,指定接收消息的用户id。
</br>
支持多个以数组的形式指定多个用户id,如["user_id-1","user_id-2"],数组长度不大于500| |
|user_tag|String、Array|否|无|指定接收消息的用户标签,基于uni-id账户体系。
</br>
支持多个以数组的形式指定多个标签,如["user_tag-1","user_tag-2"],数组长度不大于500| |
|device_id|String、Array|否|无|指定接收消息的设备id,基于opendb表的device设备(未开通uni统计或基于uni-id-pages开发的应用,必须基于uni-id-co登录后才可使用)| |
|push_clientid|String、Array|否|无|基于
[
uni.getPushClientId
](
#getpushclientid
)
获取的客户端推送标识,指定接收消息的设备。
</br>
支持多个以数组的形式指定多个设备,如["cid-1","cid-2"],数组长度不大于1000| |
|push_clientid|String、Array|否|无|基于
[
uni.getPushClientId
](
https://uniapp.dcloud.net.cn/api/plugins/push
)
获取的客户端推送标识,指定接收消息的设备。
</br>
支持多个以数组的形式指定多个设备,如["cid-1","cid-2"],数组长度不大于1000| |
|getui_custom_tag|String|否|无|基于个推
`getui_custom_tag`
,指定接收消息接设备;
</br>
注:该功能需要申请相关套餐,请点击右侧“技术咨询”了解详情 。| |
|getui_big_data_tag|Object Array|否|无|对指定应用的符合筛选条件的设备群发推送消息。支持定时、定速功能。详见下方
[
getui-big-data-tag 说明
](
#getui-big-data-tag
-说明
)
| |
|getui_big_data_tag|Object Array|否|无|对指定应用的符合筛选条件的设备群发推送消息。支持定时、定速功能。详见下方
[
getui-big-data-tag 说明
](
#getui-big-data-tag
)
| |
|getui_alias|String、Array|否|无|个推自定义客户端别名,指定消息接收者。
</br>
支持多个以数组的形式指定多个设备,如["getui_alias-1","getui_alias-2"],数组长度不大于1000| |
|platform|String、Array|否|"ALL"|指定接收消息的平台,"ALL"表示所有平台。
</br>
支持用数组枚举支持的平台,如:
[
"web","app-ios","app-android","mp-weixin"],详情见下方[platform 说明
](
#platform-说明
)
</br>
仅通过
`user_id`
、
`user_tag`
指定消息接收者时有效|
|check_token|Boolean|否|true|校验客户端登陆状态是否有效(含token过期)
</br>
仅通过
`user_id`
、
`user_tag`
指定消息接收者时有效| |
...
...
@@ -98,7 +98,7 @@ await uniPush.sendMessage(OBJECT)
-
调用一次sendMessage,最大推送设备数是500,超过将直接忽略。有超过500台以上设备接收消息的应用场景,应当调用内置在
[
uni-push-admin插件
](
https://ext.dcloud.net.cn/plugin?name=uni-push-admin
)
中的云对象uni-push-co,调用参数与本api一致
-
`push_clientid`
如果3个月未登陆会失效,所以uni-id的token过期时间不能超过3个月,否则push模块会有意想不到的故障。
##### getui_big_data_tag 说明
##### getui_big_data_tag 说明
@getui-big-data-tag
|名称|类型|是否必需|默认值|描述|
|--|--|--|--|--|
|key|String|是|无|查询条件(phone_type 手机类型; region 省市; custom_tag 客户端标签; portrait,个推用户画像使用编码,
[
点击下载文件portrait.data
](
https://docs.getui.com/files/portrait.data
)
。|
...
...
docs/uni-cloud-router.md
浏览文件 @
fa3b5055
...
...
@@ -112,7 +112,7 @@ sayHello() {
## 深入学习
### 控制器(Controller)
### 控制器(Controller)
@controller
负责解析用户的输入,处理后返回相应的结果。
...
...
@@ -190,7 +190,7 @@ class PostController extends Controller {
}
```
Service 的具体写法,请查看
[
Service
](
#
服务
service
)
章节。
Service 的具体写法,请查看
[
Service
](
#service
)
章节。
#### 定制 URL 化返回的状态码
...
...
@@ -285,7 +285,7 @@ module.exports = class Instance extends Controller
```
### 服务(Service)
### 服务(Service)
@service
业务逻辑封装的一个抽象层,有以下几个好处:
...
...
@@ -325,7 +325,7 @@ module.exports = class PostService extends Service {
[
在 Controller 中调用 Service
](
#调用-service
)
### 中间件(Middleware)
### 中间件(Middleware)
@middleware
在路由请求前,后添加处理逻辑,实现一些特定功能,如:用户登录,权限校验等
...
...
@@ -397,7 +397,7 @@ Context 是一个请求级别的对象,在每一次收到用户请求时,会
#### 获取方式
最常见的 Context 实例获取方式是在
[
Middleware
](
#
中间件middleware
)
,
[
Controller
](
#控制器controller
)
以及
[
Service
](
#服务
service
)
中。
最常见的 Context 实例获取方式是在
[
Middleware
](
#
middleware
)
,
[
Controller
](
#controller
)
以及
[
Service
](
#
service
)
中。
```
js
// 在 Controller 中通过 this.ctx 获取 Context 实例
...
...
docs/uni-cloud-s2s.md
浏览文件 @
fa3b5055
...
...
@@ -41,7 +41,7 @@ uni-cloud-s2s仅能在云函数内使用,开发者需要按照uni-cloud-s2s的
接收方仅要求请求方在请求头的
`Unicloud-S2s-Authorization`
内携带
`CONNECTCODE ${connectCode}`
,其中connectCode为配置文件内的connectCode值。
如果请求发起方是uniCloud云函数,可以调用uni-cloud-s2s提供的
[
getSecureHeaders
](
#get-secure-headers
)
方法传入数据直接获取安全请求头信息。如果请求接收方是uniCloud云函数,可以调用uni-cloud-s2s提供的
[
verifyHttpInfo
](
#verify
-http-info
)
方法传入云函数收到的httpInfo信息直接获取验证结果。
如果请求发起方是uniCloud云函数,可以调用uni-cloud-s2s提供的
[
getSecureHeaders
](
#get-secure-headers
)
方法传入数据直接获取安全请求头信息。如果请求接收方是uniCloud云函数,可以调用uni-cloud-s2s提供的
[
verifyHttpInfo
](
#verify
)
方法传入云函数收到的httpInfo信息直接获取验证结果。
**示例**
...
...
@@ -83,7 +83,7 @@ uni-cloud-s2s仅能在云函数内使用,开发者需要按照uni-cloud-s2s的
-
使用POST方法,content-type为
`application/json`
,取body内的json转化后的对象内的基础类型值(字符串、数字、布尔值)进行校验
如果请求发起方是uniCloud云函数,可以调用uni-cloud-s2s提供的
[
getSecureHeaders
](
#get-secure-headers
)
方法传入数据直接获取签名后的请求头信息。如果请求接收方是uniCloud云函数,可以调用uni-cloud-s2s提供的
[
verifyHttpInfo
](
#verify
-http-info
)
方法传入云函数收到的httpInfo信息直接获取验证结果。
如果请求发起方是uniCloud云函数,可以调用uni-cloud-s2s提供的
[
getSecureHeaders
](
#get-secure-headers
)
方法传入数据直接获取签名后的请求头信息。如果请求接收方是uniCloud云函数,可以调用uni-cloud-s2s提供的
[
verifyHttpInfo
](
#verify
)
方法传入云函数收到的httpInfo信息直接获取验证结果。
对于非云函数场景,请求发起方需要按如下规则进行签名,接收方也需要按照如下规则重新生成签名以验证签名真伪。
...
...
docs/uni-id/app-x.md
浏览文件 @
fa3b5055
# uni-id-pages-x
> uni-id-pages-x 是 uni-id-pages 的[uni-app x](
uni-app-x/README.md
)版,目前 uni-app x仅支持Android 端
> uni-id-pages-x 是 uni-id-pages 的[uni-app x](
https://doc.dcloud.net.cn/uni-app-x/
)版,目前 uni-app x仅支持Android 端
`uni-id-pages-x`
,是
`uni-id`
体系的一部分。
...
...
@@ -217,7 +217,7 @@ export default {
}
```
以上配置仅开启前端登录入口,实现功能还需:开通对应登录方式服务,获得服务密钥,并在服务端
`uni-id`
模块的配置文件中完成配置。详情查看:
[
登录服务开通与配置
](
#登录服务开通与配置
)
以上配置仅开启前端登录入口,实现功能还需:开通对应登录方式服务,获得服务密钥,并在服务端
`uni-id`
模块的配置文件中完成配置。详情查看:
[
登录服务开通与配置
](
cloud-object.md?id=openAndConfig
)
#### 隐私政策@agreements
|字段 |类型 |描述 |
...
...
docs/uni-id/app.md
浏览文件 @
fa3b5055
...
...
@@ -246,7 +246,7 @@ export default {
**注意:**
iOS 的 AppStore 规则:应用若支持三方社交登录服务(如:一键登录、微信登录等),则必须同时向用户提供“以苹果账号登录”的选项。即:如果你的应用不支持三方登录,那么可以不带上苹果登录,如果你的应用支持三方登录,那必须同时把苹果登录也带上。
以上配置仅开启前端登录入口,实现功能还需:
1.
开通对应登录方式服务,获得服务密钥,并在服务端
`uni-id`
模块的配置文件中完成配置。详情查看:
[
登录服务开通与配置
](
#登录服务开通与配置
)
1.
开通对应登录方式服务,获得服务密钥,并在服务端
`uni-id`
模块的配置文件中完成配置。详情查看:
[
登录服务开通与配置
](
cloud-object.md?id=openAndConfig
)
2.
如果是APP端,
`一键登录`
、
`微信登录`
、
`苹果登录`
,需要在
`manifest.json`
中勾选对应模块(微信登录必须配置:微信开发平台申请应用appID的值),并完成打包后才可用(自定义调试基座包和正式包均可)。
#### 隐私政策@agreements
...
...
docs/uni-id/cloud-object.md
浏览文件 @
fa3b5055
...
...
@@ -1322,7 +1322,7 @@ await uniIdCo.sendSmsCode({
|-- |-- |-- |-- |
|mobile |string |是 |手机号码 |
|captcha|string |是 |图形验证码 |
|scene |string |是 |短信验证码使用场景,务必确保使用验证码的场景和发送验证码时传的场景参数相匹配,否则会校验不通过,参考:
[
短信验证码使用场景
](
summary.md
#
sms-scene
)
|
|scene |string |是 |短信验证码使用场景,务必确保使用验证码的场景和发送验证码时传的场景参数相匹配,否则会校验不通过,参考:
[
短信验证码使用场景
](
summary.md
?id=
sms-scene
)
|
**返回值**
...
...
@@ -1351,7 +1351,7 @@ await uniIdCo.sendEmailCode({
|-- |-- |-- |-- |
|email |string |是 |邮箱 |
|captcha|string |是 |图形验证码 |
|scene |string |是 |使用场景,参考:
[
手机、邮箱验证码使用场景
](
#
sms-scene
)
|
|scene |string |是 |使用场景,参考:
[
手机、邮箱验证码使用场景
](
summary.md?id=
sms-scene
)
|
**返回值**
...
...
@@ -1897,7 +1897,7 @@ module.exports = {
}
```
## 登录服务开通与配置
## 登录服务开通与配置
@openAndConfig
服务端
`uni-id`
的密钥信息统一在
`uni-config-center`
中配置,路径:
`uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json`
以下简称:
`uni-id配置文件`
,完整的配置信息
[
详情查看
](
summary.md#config
)
...
...
docs/uni-id/old.md
浏览文件 @
fa3b5055
...
...
@@ -334,7 +334,7 @@ HBuilderX 3.4.9起,uni-app web端对应的platform由`h5`调整为`web`。此
为什么需要角色权限管理?
-
对于后台管理系统,比如
[
uniCloud admin
](
../admin
)
,除了超级管理员,不同账号通常需根据职位、责任设定不同的系统权限。
-
[
clientDB
](
../
database
)
允许前端直接操作数据库,但部分字段应该是系统计算或管理员设置的,比如文章的阅读数、收藏数及是否加精置顶,这些字段不允许普通用户在前端通过clientDB直接修改,此时也需要通过权限控制来保证系统的安全稳定。
-
[
clientDB
](
../
clientDB
)
允许前端直接操作数据库,但部分字段应该是系统计算或管理员设置的,比如文章的阅读数、收藏数及是否加精置顶,这些字段不允许普通用户在前端通过clientDB直接修改,此时也需要通过权限控制来保证系统的安全稳定。
`uni-id`
基于经典的RBAC模型实现了角色权限系统。
...
...
docs/uni-im.md
浏览文件 @
fa3b5055
...
...
@@ -464,7 +464,7 @@ uni-im2.0 废弃了1.0通过Vuex的状态管理方式,不再需要关心vuex
|
|
-
dataList|array |会话数据列表 |
|
|
-
hasMore |boolean |是否还有更多会话数据 |
|currentConversationId |string |正在对话的会话id |
|heartbeat |timestamp |心跳(精确到秒)详情:
[
心跳概念说明
](
#heartbeat
explain
)
|
|heartbeat |timestamp |心跳(精确到秒)详情:
[
心跳概念说明
](
#heartbeat
Explain
)
|
|friend |object |好友对象 |
|
|
-
dataList|array |好友数据列表 |
|
|
-
hasMore |boolean |是否还有更多好友数据 |
...
...
@@ -482,7 +482,8 @@ uni-im2.0 废弃了1.0通过Vuex的状态管理方式,不再需要关心vuex
|dataBaseIsOpen |boolean |判断本地sqlite数据库是否已经打开(仅app端有用) |
|socketOpenIndex |number |记录socket打开次数(用于处理:从云端同步,socket意外断开期间丢失的数据使用) |
心跳概念说明 heartbeat @heartbeatExplain
### 心跳概念说明heartbeat@heartbeatExplain
uni-im的会话列表和消息列表,需要显示实时的发生时间。而一个应用开启太多的定时器,会消耗大量的系统性能。
所以uni-im提供了一个每秒钟更新一次的响应式数据
`heartbeat`
,由uniImInit方法:启用一个定时器刷新,挂载在全局,所有应用场景引用这一个变量即可
...
...
@@ -684,12 +685,12 @@ utils封装了uni-im常用方法的模块,路径:`/uni_modules/uni-im/common
|名称 |类型 |说明 |入参 |返回值 |
|-- |-- |-- |-- |-- |
|init |function |初始化uni-im(监听聊天消息,定时每秒更新心跳值为当前时间戳) |无 |无 |
|getConversationId |function |获取会话id |对话的用户id或群id 详见
[
详见
](
#get
conversationi
d
)
|无 |
|getConversationId |function |获取会话id |对话的用户id或群id 详见
[
详见
](
#get
ConversationI
d
)
|无 |
|toFriendlyTime |function |用于将时间戳转友好时间提示(距离当前2小时内的时间戳,每隔一秒钟会刷新一次) |时间戳:timestamp |格式化后的时间字符串。如:x年x月x日,昨天,下午,1小时前等 |
|clearPushNotify |function |清空push消息栏通知 |无 |无 |
|login |function |非uni-id体系系统登录到uni-im方法 |时间戳:timestamp |参数为对象,含token和token过期时间,例如:
`{"token":"xxx","tokenExpired":1679403132582}`
|
-
获取会话id
@getConversationId
##### 获取会话id
@getConversationId
1.
获取单聊会话id
```
js
let
friend_uid
=
"
xxx
"
...
...
docs/uni-open-bridge.md
浏览文件 @
fa3b5055
...
...
@@ -36,7 +36,7 @@
云对象
`uni-open-bridge`
默认是定时运行的,在package.json中配置了每小时定时运行一次(部署到线上服务空间后生效)。
该云对象根据在
`uni-config-center`
中
[
配置
](
#uni-id-
config
)
固定凭据,从而有权定时向微信服务器发请求,将获取到的
`access_token`
或
`ticket`
保存到数据库
`opendb-open-data`
表中。
该云对象根据在
`uni-config-center`
中
[
配置
](
uni-id/summary.md?id=
config
)
固定凭据,从而有权定时向微信服务器发请求,将获取到的
`access_token`
或
`ticket`
保存到数据库
`opendb-open-data`
表中。
当所在服务空间开通redis时,还会缓存在redis的key。这会让系统性能更好。
...
...
@@ -49,7 +49,7 @@
从微信获取到各种凭据后,当各个业务代码需要这些凭据时,通过如下方式获取。
-
云函数/云对象获取这些临时凭据,可引用公共模块
`uni-open-bridge-common`
,通过该模块的API获取,比如getAccessToken。
[
见下
](
#uni-open-bridge-common
)
-
非uniCloud系统,比如传统云,获取这些凭据,需要将云对象
`uni-open-bridge`
进行URL化,通过Http方式请求凭据。
[
见下
](
#
http
)
-
非uniCloud系统,比如传统云,获取这些凭据,需要将云对象
`uni-open-bridge`
进行URL化,通过Http方式请求凭据。
[
见下
](
#
nouseuniopenbridge
)
流程图如下:
...
...
@@ -71,14 +71,14 @@
|
[
access_token
](
#access-token
)
|定时刷新 |定时刷新 |开发者操作 |开发者操作 |
|
[
user_access_token
](
#user-access-token
)
|- |开发者操作 |- |- |
|
[
session_key
](
#session-key
)
|uni-id维护或开发者操作 |- |- |- |
|
[
encrypt_key
](
#encrypt-key
)
|
[
uni云端一体安全网络
](
sec
ret-net
)
或开发者操作 |- |- |- |
|
[
encrypt_key
](
#encrypt-key
)
|
[
uni云端一体安全网络
](
sec
ure-network.md
)
或开发者操作 |- |- |- |
|
[
ticket
](
#ticket
)
|- |定时刷新 |- |- |
-
`定时刷新`
:指由云对象
`uni-open-bridge`
的定时任务触发,自动从微信服务器获取凭据,通过调用
`uni-open-bridge-common`
写入到Redis或数据库
-
`开发者操作`
:指由开发者引入公共模块
`uni-open-bridge-common`
,调用相关读写
[
方法
](
#uni-open-bridge-common
)
-
`session_key`
: 如果使用了uni-id,则uni-id用户登陆时会自动读写该凭据。一般无需开发者维护。
-
`encrypt_key`
依赖
`access_token`
、
`session_key`
,如果依赖的值已存在,可直接读取
`encrypt_key`
,如果不存在自动向微信服务器获取、开发者应该仅读取该值,如果使用了
[
uni云端一体安全网络
](
sec
ret-net
)
由其维护,如果有不使用
`uni-open-bridge`
托管的
[
情况
](
#nouseuniopenbridge
)
,则有外部系统操作
-
`encrypt_key`
依赖
`access_token`
、
`session_key`
,如果依赖的值已存在,可直接读取
`encrypt_key`
,如果不存在自动向微信服务器获取、开发者应该仅读取该值,如果使用了
[
uni云端一体安全网络
](
sec
ure-network.md
)
由其维护,如果有不使用
`uni-open-bridge`
托管的
[
情况
](
#nouseuniopenbridge
)
,则有外部系统操作
-
`ticket`
依赖
`access_token`
,直接获取
`ticket`
会检查
`access_token`
,如果不存在默认先请求微信服务器获取并保存,继续请求
`ticket`
还有一些不常用的凭据暂不列出,例如:非微信的App平台的 access_token。
...
...
@@ -104,7 +104,7 @@
1.
客户端登陆需要保存
[
session_key
](
#session-key
)
2.
解密用户敏感数据需要
[
access_token
](
#access-token
)
、
[
session_key
](
#session-key
)
,例如:获取用户授权的手机号、用户敏感资料
3.
解密
[
uni云端一体安全网络
](
sec
ret-net
)
通道使用的加密数据需要
[
access_token
](
#access-token
)
、
[
session_key
](
#session-key
)
、
[
encrypt_key
](
#encrypt-key
)
3.
解密
[
uni云端一体安全网络
](
sec
ure-network.md
)
通道使用的加密数据需要
[
access_token
](
#access-token
)
、
[
session_key
](
#session-key
)
、
[
encrypt_key
](
#encrypt-key
)
-
微信公众号
...
...
@@ -206,7 +206,7 @@
## uni-open-bridge的使用流程
### 1. **下载插件[uni-open-bridge](https://ext.dcloud.net.cn/plugin?id=9002)到项目中。
### 1. **下载插件[uni-open-bridge](https://ext.dcloud.net.cn/plugin?id=9002)到项目中
**
。
### 2. `uni-config-center`的 `uni-id` 下配置固定凭据
...
...
@@ -713,7 +713,7 @@ exports.main = async (event, context) => {
}
```
为了简化调用
`getAccessToken()`
、
`getTicket()`
已内置
`fallback`
到微信的服务器,需要在
`config-center`
中配置
`appid`
`appsecret`
,
[
详情
](
#uni-id-
config
)
为了简化调用
`getAccessToken()`
、
`getTicket()`
已内置
`fallback`
到微信的服务器,需要在
`config-center`
中配置
`appid`
`appsecret`
,
[
详情
](
uni-id/summary.md?id=
config
)
#### 注意事项
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录