uni-app授权第三方登录(微信授权登录)

Posted 马克斯先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uni-app授权第三方登录(微信授权登录)相关的知识,希望对你有一定的参考价值。

APP微信授权登录需要到微信开放平台申请,在HBuilderX配置APP SDK中微信登录的appId,另外需要跟小程序、公众号授权账号互通的话也需要在微信开放平台申请,这是需要付费的呦(300元)

官方手册地址: https://uniapp.dcloud.io/api/plugins/login?id=getuserinfo

1、在微信公众平台申请应用,获取相应的appid和appsecret

2、在HBuilderX配置APP SDK中微信登录的appId和appsecret
在这里插入图片描述

App端登陆相关的SDK需要在manifest中配置:

  1. 打开 manifest.json -> App模块权限配置,勾选 OAuth(登陆鉴权)。
  2. 打开 manifest.json -> App
    SDK配置,查看到登陆鉴权。在说明中有蓝色链接,其中包括向微信、QQ、微博等平台申请sdk的链接。
  3. 向微信、QQ、微博等平台申请到sdk的信息后,回填到manifest里。
  4. 这些配置需要打包生效,真机运行仍然是HBuilder基座的设置,可使用自定义基座包。离线打包请参考离线打包文档在原生工程中配置。
  5. 配置并打包后,通过uni.getProvider可以得到配置的结果列表,注意这里返回的是manifest配置的,与手机端是否安装微信、QQ、微博无关。

如果手机端未安装QQ、微信、微博 调用时会启动这些平台的wap页面登陆,如果已安装相应客户端,会启动它们的客户端登陆。

实例

uni.getProvider({
			service: 'oauth',
			success: function(res) {
				console.log(res.provider);
				// 手机app支持微信、qq和微博等
				if (~res.provider.indexOf('weixin')) {
					console.log('weixin');
					uni.login({
						provider: 'weixin',
						success: function(loginRes) {
							console.log(JSON.stringify(loginRes));
							// 获取用户信息
							uni.getUserInfo({
								provider: 'weixin',
								success: function(infoRes) {
									console.log('-------获取微信用户所有-----');
									console.log(JSON.stringify(infoRes.userInfo));
									const userInfo = infoRes.userInfo
									getApp().globalData.userInfo = userInfo;
									getApp().globalData.wxCode = userInfo.nickName;
									console.log(getApp().globalData.userInfo);
									uni.switchTab({
										url: '/pages/my/my'
									})
								}
							});
						},
						fail: function(res) {
							console.log(res)
							uni.showToast({
								icon: 'none',
								title: '登陆失败,请确保已安装或已登录微信',
								//title: res.errMsg,
								duration: 2000
							});
							setTimeout(function() {
								uni.switchTab({
									url: '/pages/my/my'
								})
							}, 2000)
						}
					});
				}
			}
		});

以上是关于uni-app授权第三方登录(微信授权登录)的主要内容,如果未能解决你的问题,请参考以下文章

uni-app授权第三方登录(微信授权登录)

uni-app授权第三方登录(微信授权登录)

uni-app 微信小程序授权登录

uni-app H5授权微信登录怎么获取code?

uni-app 第三方授权登录

公众号微信第三方登录(静默授权和非静默授权)(具体代码:U盘 新浪云SAE)