Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Tc.小浩
unidocs-zh
提交
d768813a
U
unidocs-zh
项目概览
Tc.小浩
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d768813a
编写于
8月 16, 2022
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
需要韩东汛继续修改
上级
ad0ae40b
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
68 addition
and
32 deletion
+68
-32
docs/uniCloud/uni-open-bridge.md
docs/uniCloud/uni-open-bridge.md
+68
-32
未找到文件。
docs/uniCloud/uni-open-bridge.md
浏览文件 @
d768813a
...
...
@@ -125,23 +125,56 @@
> `云函数公共模块`是不同云函数共享代码的一种方式。如果你不了解什么是`云函数公共模块`,请另读文档[公共模块](https://uniapp.dcloud.io/uniCloud/cf-common)
`uni-open-bridge-common`
提供了
`access_token`
、
`session_key`
、
`encrypt_key`
、
`ticket`
的读取、写入、删除操作。
`uni-open-bridge-common`
提供了
`access_token`
、
`
user_access_token`
、
`
session_key`
、
`encrypt_key`
、
`ticket`
的读取、写入、删除操作。
`uni-open-bridge-common`
支持多层 读取 / 写入 机制,
`redis -> database -> fallback`
,优先级如下:
如果用户没有开通
`redis`
或者操作失败,透传到
`database`
,
`database`
失败后,如果用户配置了
`fallback`
,继续调用
`fallback`
方法,否则抛出
`Error`
,
`database`
对应的表为:
`opendb-open-data`
在常见的情况下,在你的云函数/云对象中调用
`uni-open-bridge-common`
的几个get方法即可。
//TODO
**评审这段代码**
@handongxu
```
js
const
key
=
{
dcloudAppid
:
'
__UNI__xxx
'
,
// DCloud Appid
platform
:
'
mp-weixin
'
// 平台,解释见下
}
let
uobc
=
require
(
'
uni-open-bridge-common
'
)
uobc
.
getAccessToken
(
key
)
uobc
.
getUserAccessToken
(
key
)
uobc
.
getSessionKey
(
key
)
uobc
.
getEncryptKey
(
key
)
uobc
.
getTicket
(
key
)
```
#### Platform@platform
平台对应的值
|值 |描述 |
|:-: |:-: |
|mp-weixin |微信小程序 |
|app-weixin |微信 App |
|h5-weixin |微信公众号 |
|web-weixin |微信pc网页 |
|mp-qq |QQ 小程序 |
|app-qq |QQ App |
提示:目前仅支持
`mp-weixin`
、
`h5-weixin`
后续补充其他平台
#### getAccessToken(key: Object, fallback: Function)
读取 access_token
#### setAccessToken(key: Object, value: Object, expiresIn: Number)
写入 access_token
写入 access_token
。开发者一般只需使用get类方法,用不到set、remove类方法。下同
#### removeAccessToken(key: Object)
删除 access_token
删除 access_token
。开发者一般只需使用get类方法,用不到set、remove类方法。下同
**key 属性**
...
...
@@ -202,15 +235,15 @@ exports.main = async (event, context) => {
#### getUserAccessToken(key: Object, fallback: Function)
读取
user_access_token
读取
`user_access_token`
#### setUserAccessToken(key: Object, value: Object, expiresIn: Number)
写入
user_access_token
写入
`user_access_token`
#### removeUserAccessToken(key: Object)
删除
user_access_token
删除
`user_access_token`
对应微信公众平台网页用户授权
`access_token`
,详情见下文说明
...
...
@@ -496,20 +529,6 @@ exports.main = async (event, context) => {
```
#### Platform@platform
平台对应的值
|值 |描述 |
|:-: |:-: |
|mp-weixin |微信小程序 |
|app-weixin |微信 App |
|h5-weixin |微信公众号 |
|web-weixin |微信pc网页 |
|mp-qq |QQ 小程序 |
|app-qq |QQ App |
提示:目前仅支持
`mp-weixin`
、
`h5-weixin`
后续补充其他平台
#### fallback
...
...
@@ -538,6 +557,7 @@ exports.main = async (event, context) => {
请求类型
`POST`
, 可以配置IP白名单字段
`ipWhiteList`
,参见
`config.json`
配置URL化后,其他系统可以通过下面的http接口,读写删各种开放平台凭据。
#### getAccessToken
...
...
@@ -556,8 +576,12 @@ https://xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx.bspapp.com/uni-open-bridge/getAcces
}
```
其中参数platform值域
[
详见
](
#platform
)
。下同,不再复述。
#### setAccessToken
如果各种开放平台凭据由
`uni-open-bridge`
托管,那么只需要调用各种get方法,是用不到set等方法的。但在某些情况下,相关凭据没有由
`uni-open-bridge`
从微信服务器获取,就需要这些set方法了。
[
详见
](
#nouseuniopenbridge
)
Url
```
...
...
@@ -566,7 +590,7 @@ https://xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx.bspapp.com/uni-open-bridge/setAcces
参数
[
如何获取需要传递的参数
](
#nouseuniopenbridge
)
由外部系统从微信获取到相关凭据,然后写入。
[
详见
](
#nouseuniopenbridge
)
```
json
{
...
...
@@ -597,7 +621,6 @@ https://xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx.bspapp.com/uni-open-bridge/removeAc
}
```
其中参数platform值域
[
详见
](
#platform
)
#### getUserAccessToken
...
...
@@ -627,7 +650,7 @@ https://xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx.bspapp.com/uni-open-bridge/setUserA
参数
[
如何获取需要传递的参数
](
#nouseuniopenbridge
)
由外部系统从微信获取到相关凭据,然后写入。
[
详见
](
#nouseuniopenbridge
)
```
json
{
...
...
@@ -687,7 +710,7 @@ https://xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx.bspapp.com/uni-open-bridge/setSessi
参数
[
如何获取需要传递的参数
](
#nouseuniopenbridge
)
由外部系统从微信获取到相关凭据,然后写入。
[
详见
](
#nouseuniopenbridge
)
```
json
{
...
...
@@ -748,7 +771,7 @@ https://xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx.bspapp.com/uni-open-bridge/setEncry
参数
[
如何获取需要传递的参数
](
#nouseuniopenbridge
)
由外部系统从微信获取到相关凭据,然后写入。
[
详见
](
#nouseuniopenbridge
)
```
json
{
...
...
@@ -810,7 +833,7 @@ https://xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx.bspapp.com/uni-open-bridge/setTicke
参数
[
如何获取需要传递的参数
](
#nouseuniopenbridge
)
由外部系统从微信获取到相关凭据,然后写入。
[
详见
](
#nouseuniopenbridge
)
```
json
{
...
...
@@ -916,14 +939,27 @@ https://xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx.bspapp.com/uni-open-bridge/removeTi
## 不使用 `uni-open-bridge` 托管的情况@nouseuniopenbridge
某些场景下需要使用
`uni-open-bridge`
托管三方平台数据
如开发者的老业务里已经获取了微信的access_token等凭据,难以迁移到由
`uni-open-bridge`
来托管微信相关凭据。
那么
`uni-open-bridge`
也暴露了允许三方系统给
`uni-open-bridge`
写入微信相关凭据的接口。
因为其他插件会依赖
`uni-open-bridge`
,比如:
1.
`uni-ad`
微信小程序激励视频广告服务器回调
2.
uni云端一体安全网络
如果
`uni-open-bridge`
里没有相关凭据,上述插件或功能就无法使用。
因此,开发者即不想改成由
`uni-open-bridge`
托管微信凭据,又需要使用上述依赖
`uni-open-bridge`
的功能或插件,就只能将老系统获取到的相关凭据写入到
`uni-open-bridge`
中。
此时,开发者需通过以下方式处理:
1.
取消
`uni-open-bridge`
云对象的定时任务,不再定时向微信服务器请求凭据
例如:
`uni-ad`
微信小程序激励视频广告服务器回调
在
`uni-open-bridge`
云对象的package.json中找到定时器节点
`triggers`
,删除该节点。本地修改package.json后需重新上传到服务空间方生效。
因
`uni-ad`
微信小程序激励视频广告服务器回调依赖
`uni-open-bridge`
托管三方平台数据,但现有业务也需要三方平台数据,又不想改动现有逻辑,也需要广告服务器回调功能
参考
[
定时任务配置
](
cf-functions.md#packagejson
)
)。
通过以下方式处理:
2.
老系统从微信服务器获取到相关凭据后调用
`uni-open-bridge`
的set方法写入凭据
1.
关闭
`uni-open-bridge`
定时刷新,
[
详情
](
#uniopenbridgeconfig
)
先将云对象
`uni-open-bridge`
进行URL化,暴露出http接口。然后老系统调用setAccessToken、setUserAccessToken、setSessionKey、setEncryptKey、setTicket等接口。
[
参考
](
#cloudurl
)
2.
由原业务系统将数据同步到
`uni-open-bridge`
,
[
详情
](
#cloudurl
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录