3-7 获取临时授权和微信基本信息 - EMOS小程序1
微信小程序授权和信息获取 本节课主要讲解如何在 uni-app 框架中获取微信临时授权字符串和微信基本信息,这部分内容非常简单。uni-app 框架中包含了原生微信小程序的 wx 对象,但推荐使用 uni 对象,因为它是跨平台的,可以在多种平台上使用。 一、获取临时授权字符串 uni 对象提供了 login 方法来获取微信临时授权字符串,该字符串是有时间限定的,默认有效期是 5 分钟。如果过期,就无法换取 OpenId 了。login 方法的参数是一个对象,包含 provider、scopes、timeout、success、fail 和 complete 等属性。 provider 属性指定登录服务提供商,通过 uni.getProvider 获取。如果不设置则弹出登录列表选择界面。scopes 属性指定授权类型,默认是 auth_base,支持 auth_base(静默授权)、auth_user(主动授权)和 auth_zhima(芝麻信用)。 timeout 属性指定超时时间,单位是毫秒。success 属性指定接口调用成功的回调函数,fail 属性指定接口调用失败的回调函数,complete 属性指定接口调用结束的回调函数(调用成功、失败都会执行)。 success 回调函数的参数是一个对象,包含 authResult 属性,该属性是登录服务商提供的登录信息,服务商不同返回的结果不完全相同。code 属性是小程序专有,用户登录凭证。开发者需要在开发者服务器后台,使用 code 换取 openid 和 session_key 等信息。 示例代码: ``` uni.login({ provider: 'weixin', success: function (resp) { console.log(resp.code); } }); ``` 二、获取微信基本信息 uni 对象提供了 getUserInfo 方法来获取微信基本信息,该方法的参数是一个对象,包含 provider、withCredentials、lang 和 timeout 等属性。 provider 属性指定登录服务提供商,通过 uni.getProvider 获取。withCredentials 属性指定是否带上登录态信息。lang 属性指定返回用户信息的语言,默认为 en。timeout 属性指定超时时间,单位是毫秒。 success 回调函数的参数是一个对象,包含 userInfo 属性,该属性是一个用户信息对象,包含 rawData、signature、encryptedData 和 iv 等属性。rawData 属性是用户信息对象的原始数据字符串,用于计算签名。signature 属性是使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息。encryptedData 属性是包括敏感数据在内的完整用户信息的加密数据,详细见加密数据解密算法。iv 属性是加密算法的初始向量,详细见加密数据解密算法。 errMsg 属性是描述信息。 示例代码: ``` uni.getUserInfo({ provider: 'weixin', success: function (resp) { let nickName = resp.userInfo.nickName; console.log(nickName); } }); ``` 本节课讲解了如何在 uni-app 框架中获取微信临时授权字符串和微信基本信息,这部分内容非常简单,但非常重要,因为它们是微信小程序开发的基础。
- 粉丝: 20
- 资源: 332
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0