From b9055fe7ca2dcf8a96bb0c5988d28dbbdfd38c5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=BA=9A=E7=90=AA?= Date: Fri, 25 Feb 2022 12:16:37 +0800 Subject: [PATCH] docs: uniCloud with hx v3.4.0 --- docs/uniCloud/cf-functions.md | 4 +++- docs/uniCloud/cloud-obj.md | 2 +- docs/uniCloud/jql.md | 3 +++ docs/uniCloud/send-sms.md | 19 +++++++++++++++++++ docs/uniCloud/uni-id.md | 29 ++++++++++++++++++++++------- docs/uniCloud/univerify.md | 21 +++++++++++++++++++++ 6 files changed, 69 insertions(+), 9 deletions(-) diff --git a/docs/uniCloud/cf-functions.md b/docs/uniCloud/cf-functions.md index 0f816bfe0..554a17abf 100644 --- a/docs/uniCloud/cf-functions.md +++ b/docs/uniCloud/cf-functions.md @@ -459,7 +459,9 @@ uniCloud.callFunction({ ## 云函数中调用云函数@callbyfunction -用法同客户端调用云函数,不支持callback形式。**云函数本地运行时使用callFunction会调用云端的云函数而不是本地云函数,连接本地云函数调试时云函数内的callFunction会调用本地云函数** +用法同客户端调用云函数,不支持callback形式。 + +`HBuilderX 3.4.0`版本之前**云函数右键本地运行时使用callFunction会调用云端的云函数而不是本地云函数,连接本地云函数调试时云函数内的callFunction会调用本地云函数**,`HBuilderX 3.4.0`及之后的版本**连接本地云函数或运行本地云函数时,如果在云函数内调用同一服务空间下的云函数会直接调用本地云函数。** #### 请求参数 diff --git a/docs/uniCloud/cloud-obj.md b/docs/uniCloud/cloud-obj.md index 29467f913..6eb72a7dd 100644 --- a/docs/uniCloud/cloud-obj.md +++ b/docs/uniCloud/cloud-obj.md @@ -224,7 +224,7 @@ module.exports = { **注意** -- 与云函数内获取客户端platform稍有不同,云函数未拉齐vue2、vue3版本app平台的platform值,vue2为`app-plus`,vue3为`app`。云对象无论客户端是vue2还是vue3,在app平台获取的platform均为`app` +- 与云函数内获取客户端platform稍有不同,云函数未拉齐vue2、vue3版本app平台的platform值,vue2为`app-plus`,vue3为`app`。云对象无论客户端是vue2还是vue3,在app平台获取的platform均为`app`。这一点在使用uni-id时需要特别注意,详情见:[uni-id文档 preferedAppPlatform](uniCloud/uni-id.md?id=prefered-app-platform) ### 获取云端信息@get-cloud-info diff --git a/docs/uniCloud/jql.md b/docs/uniCloud/jql.md index cfab63831..5191fada6 100644 --- a/docs/uniCloud/jql.md +++ b/docs/uniCloud/jql.md @@ -695,6 +695,9 @@ limit foreignKey // foreignKey自 HBuilderX 3.3.7版本支持 where field // 关于field的使用限制见下方说明 +groupBy // HBuilderX 3.4.0起支持 +groupField // HBuilderX 3.4.0起支持 +distinct // HBuilderX 3.4.0起支持 orderBy skip limit diff --git a/docs/uniCloud/send-sms.md b/docs/uniCloud/send-sms.md index 442566fb1..8f3134a93 100644 --- a/docs/uniCloud/send-sms.md +++ b/docs/uniCloud/send-sms.md @@ -7,6 +7,8 @@ keyword: 短信,sms > 自`HBuilderX 3.3.0`起,本接口支持传入phoneList参数批量发送短信,其他参数均于发送单条短信相同 +> 自`HBuilderX 3.4.0`起云函数需启用uni-cloud-sms之后才可以调用sendSms接口,详细说明见:[云函数使用短信扩展库](#extension) + 自HBuilderX 2.8.1起,uniCloud内置了短信发送API。给开发者提供更方便、更便宜的短信发送能力。 该服务类似小程序的模板消息,在一个固定模板格式的文字里自定义某些字段,而不是所有文字都可以随便写。 @@ -36,6 +38,23 @@ keyword: 短信,sms - 如果使用uni-id发送短信,请参考[uni-id发送短信验证码](https://uniapp.dcloud.net.cn/uniCloud/uni-id?id=sendsmscode) +#### 云函数使用短信扩展库@extension + +自HBuilderX 3.4.0起,短信相关功能移至扩展库`uni-cloud-sms`内。在一段时间内无论开发者是否使用扩展库云函数都可以正常使用`uniCloud.sendSms`。预计于2022年3月初发布的HBuilderX内强制使用扩展库,即使用在此时间点后发布的HBuilderX上传云函数时如果没有指定使用`uni-cloud-sms`扩展库的云函数将无法调用uniCloud.sendSms接口。 + +关于扩展库的说明见:[云函数扩展库](uniCloud/cf-functions.md?id=extension) + +在云函数的package.json内添加`uni-cloud-sms`的引用即可为云函数启用此扩展,无需做其他调整,完整的package.json示例如下: + +```js +{ + "name": "uni-sms", + "extensions": { + "uni-cloud-sms": {} // 启用uni-cloud-jql扩展,值为空对象即可 + } +} +``` + #### 参数templateId说明@smstemplate 按照国家法律和运营商要求,每个要发送短信的应用,需要备案其短信模板,并且经过运营商的审核。通过审核的模板,会得到一个templateId。 diff --git a/docs/uniCloud/uni-id.md b/docs/uniCloud/uni-id.md index 2003dd147..51dcb4f82 100644 --- a/docs/uniCloud/uni-id.md +++ b/docs/uniCloud/uni-id.md @@ -467,15 +467,15 @@ function hasPermission(token, permission) { 用法:`uniID.createInstance(Object CreateInstanceParams);` -CreateInstanceParams内可以传入云函数context +CreateInstanceParams内可以传入云函数context,自`uni-id 3.3.13`起,也可以传入clientInfo参数,作用和context类似。方便在云对象内获取clientInfo后直接传入,[什么是云对象?](uniCloud/cloud-obj.md)。 ```js -// 云函数代码 +// 云函数代码,传入context const uniID = require('uni-id') exports.main = async function(event,context) { - context.APPID = '__UNI__xxxxxxx' // 替换为当前客户端的APPID,通过客户端callFunction请求的场景可以使用context.APPID获取 - context.PLATFORM = 'h5' // 替换为当前客户端的平台类型,通过客户端callFunction请求的场景可以使用context.PLATFORM获取 - context.LOCALE = 'zh-Hans' // 替换为当前客户端的语言代码,通过客户端callFunction请求的场景可以使用context.LOCALE获取 + context.APPID = '__UNI__xxxxxxx' // 替换为当前客户端的APPID,通过客户端callFunction请求的场景可以使用context.APPID获取 + context.PLATFORM = 'h5' // 替换为当前客户端的平台类型,通过客户端callFunction请求的场景可以使用context.PLATFORM获取 + context.LOCALE = 'zh-Hans' // 替换为当前客户端的语言代码,通过客户端callFunction请求的场景可以使用context.LOCALE获取 const uniIDIns = uniID.createInstance({ // 创建uni-id实例,其上方法同uniID context: context, // config: {} // 完整uni-id配置信息,使用config.json进行配置时无需传此参数 @@ -484,11 +484,26 @@ exports.main = async function(event,context) { if (payload.code) { return payload } - const res = await uniIDIns.updateUser({ + const res = await uniIDIns.updateUser({ uid: payload.uid, nickname: 'user nickname' }) - return res + return res +} + +// 云对象代码传入clientInfo +const uniID = require('uni-id') +module.exports = { + _before() { + const clientInfo = this.getClientInfo() + this.uniID = uniID.createInstance({ // 创建uni-id实例,其上方法同uniID + clientInfo + }) + }, + login() { + // ... + // this.uniID.login() + } } ``` diff --git a/docs/uniCloud/univerify.md b/docs/uniCloud/univerify.md index 5d45dc14a..6b31983f1 100644 --- a/docs/uniCloud/univerify.md +++ b/docs/uniCloud/univerify.md @@ -9,12 +9,33 @@ univerify 是DCloud 推出的一键登录产品,通过与运营商深度合作 univerify是替代短信验证登录的下一代登录验证方式,能消除现有短信验证模式等待时间长、操作繁琐和容易泄露的痛点。 +## 重要调整 + +### 云函数使用一键登录扩展库@extension + +自`HBuilderX 3.4.0`起,一键登录相关功能移至扩展库`uni-cloud-verify`内。在一段时间内无论开发者是否使用扩展库云函数都可以正常使用`uniCloud.getPhoneNumber`。预计于2022年3月初发布的HBuilderX内强制使用扩展库,即使用在此时间点后发布的HBuilderX上传云函数时如果没有指定使用`uni-cloud-verify`扩展库的云函数将无法调用uniCloud.getPhoneNumber接口。 + +关于扩展库的说明见:[云函数扩展库](uniCloud/cf-functions.md?id=extension) + +在云函数的package.json内添加`uni-cloud-verify`的引用即可为云函数启用此扩展,无需做其他调整,完整的package.json示例如下: + +```js +{ + "name": "univerify", + "extensions": { + "uni-cloud-verify": {} // 启用uni-cloud-jql扩展,值为空对象即可 + } +} +``` + ## 客户端@client 客户端如何使用一键登录请参考此文档:[univerify 使用指南](/univerify) ## 云函数@cloud +> 自`HBuilderX 3.4.0`起云函数需启用uni-cloud-verify之后才可以调用getPhoneNumber接口,详细说明见:[云函数使用一键登录扩展库](#extension) + 客户端调用一键登录接口会获取如下结果 ```js -- GitLab