diff --git a/docs/uniCloud/client-sdk.md b/docs/uniCloud/client-sdk.md index ccdb26375debc08bd012af7b5aa4e838e3285028..7a42cbab21a28cb487d8f19c98c85b3893ebe716 100644 --- a/docs/uniCloud/client-sdk.md +++ b/docs/uniCloud/client-sdk.md @@ -26,6 +26,7 @@ uniCloud分为客户端和云端两部分,有些接口名称相同,参数也 |uniCloud.offNeedLogin() |移除监听需要登录事件 [详情](#off-need-login) | |uniCloud.onRefreshToken() |监听token更新事件 [详情](#on-refresh-token) | |uniCloud.offRefreshToken() |移除监听token更新事件 [详情](#off-refresh-token) | +|uniCloud.initSecureNetworkByWeixin() |在微信小程序安全网络请求发送之前与云函数握手 [详情](#init-secure-network-by-weixin) | ### 获取当前用户信息getCurrentUserInfo@client-getcurrentuserinfo @@ -415,6 +416,45 @@ uniCloud.onNeedLogin(log) uniCloud.offNeedLogin(log) ``` +### 微信小程序安全网络初始化@init-secure-network-by-weixin + +> 新增于 3.6.8 + +安全网络相关文档请参考:[安全网络](secure-network.md) + +**参数** + +|参数 |类型 |必填 |默认值 |说明 | +|--- |--- |--- |--- |--- | +|callLoginByWeixin|boolean|否 |false |是否在安全网络初始化同时执行一次uni-id-co的微信登录| + +**示例** + +```js +// App.vue + + + +``` + +**注意** + +- 发送安全网络请求前uniCloud客户端sdk会判断是否完成初始化,如未完成会等待完成后再发送安全网络请求。 +- 需要确保安全网络请求在此方法调用后执行 + ## 属性 ### 获取当前uniCloud实例的服务商 diff --git a/docs/uniCloud/secure-network.md b/docs/uniCloud/secure-network.md index 311830b808a7372b4eac195acc89b0d62601f7b7..3d532007f029e54f3e635f8e838c424bc6445f4e 100644 --- a/docs/uniCloud/secure-network.md +++ b/docs/uniCloud/secure-network.md @@ -82,7 +82,7 @@ App和微信小程序略有区别,但大体都要经过如下流程: 3. 工程中导入uni-id-pages - `uni-id` [文档](uni-id-summary.md#save-user-token) -- `uni-id-co` [插件下载地址](https://ext.dcloud.net.cn/plugin?id=8577) +- `uni-id-pages` [插件下载地址](https://ext.dcloud.net.cn/plugin?id=8577),需要`uni-id-pages 1.0.27`及以上版本 `uni-id-pages`这个插件是云端一体的登录插件,其实安全网络只需要其中的`uni-id-co`云对象。插件中前端登录页面是否使用由开发者自己根据业务决定。 @@ -135,45 +135,27 @@ App和微信小程序略有区别,但大体都要经过如下流程: 如果项目之前已经使用过uni-id-pages和uni-open-bridge,则上述步骤可省略。 -6. 在应用的生命周期 `onLaunch` 中检查微信登陆状态,如果过期需要登陆 - -注意: [uni.checkSession](https://uniapp.dcloud.net.cn/api/plugins/login.html#uni-checksession) 有调用次数限制警告,一个 `pv` 可调用 `2` 次 +6. 在应用的生命周期 `onLaunch` 调用 `uniCloud.initSecureNetworkByWeixin()`,进行安全网络请求前的握手操作,关于此接口详细描述见:[uniCloud.initSecureNetworkByWeixin](client-sdk.md#init-secure-network-by-weixin) App.vue页面需要补充如下代码: ```js ``` + +在此方法内部会调用一次微信小程序的login,然后使用返回的code调用`uni-id-co`的`secureNetworkHandshakeByWeixin`方法(新增于uni-id-pages 1.0.27) 7. 在项目根目录manifest.json文件内为微信小程序平台开启`云端一体安全网络模块` ![微信小程序云端一体安全网络模块](https://f184e7c3-1912-41b2-b81f-435d1b37c7b4.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/ab96f1f7-af14-4f08-8b1c-699ecfce3381.jpg) -**注意** - -- 发送安全网络请求前如果检测到客户端storage内不存在`uni_id_token`(即用户未登录),则会自动调用一次`uni-id-co`的`loginByWeixin`方法进行一次登录 - ## 客户端验证@verify-client > 新增于 HBuilderX 3.6.8 @@ -215,6 +197,7 @@ App.vue页面需要补充如下代码: **注意** - 如果修改客户端验证配置需要重新打包做出修改的客户端。 +- 如需对clientDB请求验真需要使用`uni-clientDB`作为云函数名 ## 数据加密传输@encrypt-data diff --git a/docs/uniCloud/uni-id-pages.md b/docs/uniCloud/uni-id-pages.md index 839b61ea3fc47bd7954aa96a5e2fd19ca97e5c40..46cbf7101cae34d37f7477f85ffbdb55514af4d3 100644 --- a/docs/uniCloud/uni-id-pages.md +++ b/docs/uniCloud/uni-id-pages.md @@ -1495,6 +1495,15 @@ await uniIdCo.setPushCid({ | |- token |string |token | | |- tokenExpired|string |token过期时间 | + +#### 微信安全网络握手@secure-network-handshake-by-weixin + +此接口用于微信小程序端安全网络的握手,安全网络相关文档请参考:[安全网络](secure-network.md) + +一般无需通过uniCloud.importObject方式调用,在客户端调用`uniCloud.initSecureNetworkByWeixin()`时会通过此接口获取会话相关信息。 + +此接口会将会话信息存储在`opendb-open-data`表内,如果在`initSecureNetworkByWeixin`方法内传递了`callLoginByWeixin: true`会在存储会话信息的同时执行一次uni-id-co的`loginByWeixin`方法 + ### 管理接口@admin #### 管理员新增用户@add-user