uniapp实现微信登录或者QQ登录

uniapp实现微信登录或者QQ登录

无论是哪种登录, 都要用到uni.login

一. 获取服务供应商

在实现登录前,先查看一下可以使用哪种方式登录. 在APP平台, 可用的服务商, 是打包环境中配置的服务商, 与手机端是否安装了该服务商的APP没有关系

uni.getProvider({
    service: 'oauth',
    success: function (res) {
        console.log(res.provider);
    }
});
  1. service值说明
  • oauth: 授权登录
  • share: 分享
  • payment: 支付
  • push: 推送
  1. success返回参数说明
  • service: 服务类型(string)
  • provider: 得到的服务供应商(Array)
  1. provider在不同服务类型下可能的取值说明
  • service: oauth
    - provider: weixin 微信登录
    - provider: qq QQ登录
    - provider: sinaweibo 新浪微博登录
    - provider: xiaomi 小米登录
    - provider: apple Apple登录
  • service: share
    - provider: sinaweibo 新浪微博分享
    - provider: qq QQ分享
    - provider: weixin 分享微信消息、朋友圈及微信小程序
  • service: payment
    - provider: alipay 支付宝支付
    - provider: wxpay 微信支付
    - provider: baidu 百度收银台
    - provider: appleiap 苹果应用内支付
  • service: push
    - provider: unipush
    - provider: igexin 个推
    - provider: mipush 小米推送

二. 使用uni.login登录

uni.login({
  provider: 'weixin',
  success: function (loginRes) {
		console.log("微信登录")
		console.log(loginRes)
		console.log(loginRes.code)
  }
});
  1. object参数说明
  • provider: 登录服务提供商(如果不设置则弹出登录列表选择界面)
  • scopes: 授权类型, 默认auth_base. auth_base(静默授权) / auth_auser(主动授权) / auth_zhima(芝麻信用)
  • timeout: 超时时间(单位ms)
  • success: 成功的回调函数
  • fail: 失败的回调函数
  • complete: 接口调用结束的回调函数(调用成功失败都会执行)
  1. success返回参数说明
  • authResult: 登录服务商提供的登录信息, 服务商不同返回的结果不完全相同
  • code: 小程序专有, 用户登录凭证. 开发者需要在开发者服务器后台, 使用code换取openid和session_key等信息
  • errMsg: 描述信息

三. 获取用户信息

uni.login({
provider: 'weixin',
success: function (loginRes) {
  console.log(loginRes);
  // 获取用户信息
  uni.getUserInfo({
    provider: 'weixin',
    success: function (infoRes) {
      console.log(infoRes);
    }
  });
}
});
  1. object参数说明
  • provider: 登录服务提供商
  • withCredentials: 是否带上登录态信息
  • leng: 指定返回用户信息的语言, 默认为en, 中文为zh_CN
  • timeout: 超时时间, 单位ms
  • success:成功回调函数
  • fail:失败回调函数
  • complete:接口调用结束的回调函数
  1. success返回参数说明
  • userInfo: 用户信息对象
  • rawData: 不包括敏感信息的原始数据字符串, 用于计算签名
  • signature: 使用sha1(rawData + sessionkey)得到字符串, 用于校验用户信息
  • encryptedData: 包括敏感数据在内的完整用户信息的加密数据,
  • iv: 加密算法的初始用量
  • errMsg: 描述信息
  1. userInfo参数说明
  • nickName: 用户昵称
  • openId: 该服务商唯一用户标识
  • avatarUrl: 用户头像

你可能感兴趣的:(#,uniapp,uniapp,前端,微信授权登录,登录)