diff --git a/docs/api/README.md b/docs/api/README.md index 6c6aa08778603a2e9c5063c98113daf5e4c41690..83e2e99d9938afdaa1b410bcb8d8beb0a75851ef 100644 --- a/docs/api/README.md +++ b/docs/api/README.md @@ -562,7 +562,7 @@ uni.addInterceptor({ |[uni.preLogin](api/plugins/login?id=prelogin)|预登录| |[uni.closeAuthView](api/plugins/login?id=closeauthview)|关闭一键登录页面| |[uni.getCheckBoxState](api/plugins/login?id=getcheckboxstate)|获取一键登录条款勾选框状态| -|[uni.getOAuthManager](api/plugins/login?id=getOAuthManager)|获取全局唯一的 OAuth 管理器 oAuthManager| +|[uni.getUniverifyManager](api/plugins/login?id=getUniverifyManager)|获取全局唯一的一键登录管理器 univerifyManager| |[uni.share](api/plugins/share?id=share)|分享| |[uni.shareWithSystem](api/plugins/share?id=sharewithsystem)|使用系统分享| |[uni.requestPayment](api/plugins/payment?id=requestpayment)|支付| diff --git a/docs/api/plugins/login.md b/docs/api/plugins/login.md index 37fb2009f8cadd90632adf3ba5f735f188bedf7b..ffdea04c51e1e055b7a80905223c7db744096d7a 100644 --- a/docs/api/plugins/login.md +++ b/docs/api/plugins/login.md @@ -301,8 +301,8 @@ uni.login({ |state|Boolean|一键登录条款勾选框状态| |errMsg|String|描述信息| -### uni.getOAuthManager(OBJECT) -获取全局唯一的 OAuth 管理器 oAuthManager +### uni.getUniverifyManager(OBJECT) +获取全局唯一的一键登录管理器 univerifyManager **平台差异说明** @@ -310,16 +310,11 @@ uni.login({ |:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| |√ (3.2.11+)|x|x|x|x|x|x|x| -**OBJECT 参数说明** - -|参数名|类型|必填|说明| -|:-|:-|:-|:-| -|provider|String|否|登录服务提供商,通过 [uni.getProvider](/api/plugins/provider) 获取,目前仅支持一键登录| - **返回参数说明** |参数名|类型|说明| |:-|:-|:-| +|login|Function|一键登录| |preLogin|Function|一键登录预登录| |closeAuthView|Function|关闭一键登陆页面| |getCheckBoxState|Function|获取一键登录条款勾选框状态| diff --git a/docs/univerify.md b/docs/univerify.md index 6abd85687283fa88c4a286da7d7c6f2e9dce4808..31188884a1b8be73d69f9375add242ee672ef553 100644 --- a/docs/univerify.md +++ b/docs/univerify.md @@ -270,32 +270,6 @@ uni.closeAuthView() } ``` -> **3.2.11+ 版本:** 可以使用全局 [oAuthManager](https://uniapp.dcloud.io/api/plugins/login?id=getoauthmanager) 来获取按钮点击状态。 -> -> 此时点击按钮将不会触发`uni.login`的`fail`回调,也不会自动关闭一键登录弹框 - -```js -const oAuthManager = uni.getOAuthManager() -const callback = (res) => { - oAuthManager.getCheckBoxState({ - success(res) { - console.log("getCheckBoxState res: ", res); - }, - fail(err) { - console.log("getCheckBoxState err: ", err); - }, - complete() { - console.log('getCheckBoxState complete'); - } - }) -} - -// 订阅 -oAuthManager.onUniverifyButtonsClick(callback) -// 取消订阅 -oAuthManager.offUniverifyButtonsClick(callback) -``` - ### 获取用户是否选中了勾选框(HBuilderX 3.2.5+ 版本支持) `uni.getCheckBoxState(options)` @@ -314,6 +288,57 @@ uni.getCheckBoxState({ ``` +### **3.2.11+ 版本**可以使用全局 [univerifyManager](https://uniapp.dcloud.io/api/plugins/login?id=getUniverifyManager) 来更高效的使用一键登录 + +> 此时点击自定义按钮将不会触发`uni.login`的`fail`回调,也不会自动关闭一键登录弹框 + +```js +const univerifyManager = uni.getUniverifyManager() + +// 预登录 +univerifyManager.preLogin() + +// 调用一键登录弹框 +univerifyManager.login({ + univerifyStyle: { + "fullScreen": true, + "buttons": { + "iconWidth": "45px", + "list": [ + { + "provider": "apple", + "iconPath": "/static/apple.png" + }, + { + "provider": "weixin",**** + "iconPath": "/static/wechat.png" + } + ] + } + }, + success (res) { + console.log('login success', res) + } +}) + +const callback = (res) => { + // 获取一键登录弹框协议勾选状态 + univerifyManager.getCheckBoxState({ + success(res) { + console.log("getCheckBoxState res: ", res); + if (res.state) { + // 关闭一键登录弹框 + univerifyManager.close() + } + } + }) +} +// 订阅自定义按钮点击事件 +univerifyManager.onButtonsClick(callback) +// 取消订阅自定义按钮点击事件 +univerifyManager.offButtonsClick(callback) +``` + ### 用access_token换手机号 客户端获取到 `access_token` 后,传递给uniCloud云函数,云函数中通过`uniCloud.getPhoneNumber`方法获取真正的手机号。