uniapp关于小程序登录和微信登录流程

1.首先配置manifest.json文件

在这里插入图片描述
appid: 是从微信开放平台申请的
在这里插入图片描述

ios平台通用链接(不开发ios可不填) 最好 最好 最好!!!! 自动生成 ,教程在此
注意:ios不支持仅开通微信登录,如果开通了微信登录那么必须带上苹果登录。

2.小程序登录直接上代码

html

<button class="login-btn" open-type="getPhoneNumber" @getphonenumber="onGetPhoneNumber"></button>

js

onLoad() {
	uni.login({
		provider: 'weixin',
		success: res => {
			this.code = res.code
			uni.getUserInfo({
				success: res1 => {
					this.avatarUrl = res1.userInfo.avatarUrl
					this.nickName = res1.userInfo.nickName
					this.gender = res1.userInfo.gender
				}
			})
		},
		fail: err => {
			console.log('err', err);
		}
	});
},
onGetPhoneNumber(e) {
	this.userdetail = e.detail
	this.wxLogin()
},
// 获取openid 去登录或者注册
wxLogin() {
	let params = {
		code: this.code
	};
	this.$http.getOpenId(params).then(res => {
		this.userdetail.session_key = res.data.session_key
		this.wxAuth(res.data.openid);
	});
},
// 解析数据
wxAuth(openid) {
	let params = {
		openid,
		session: this.userdetail.session_key,
		iv: this.userdetail.iv,
		encryptedData: this.userdetail.encryptedData,
		imageUrl: this.avatarUrl,
		nickName: this.nickName,
		sex: this.gender
	};
	// 调登录接口
	this.$http.wxAuth(params).then(res => {
		if (res.code === 200) {
			uni.setStorageSync('token', res.data.token)
			uni.navigateBack()
		}
	});
},

2.微信登录直接上代码

wxLogin() {
	let self = this
	uni.getProvider({
		service: 'oauth',
		success(res1) {
			if (~res1.provider.indexOf('weixin')) {
				uni.login({
					provider: 'weixin',
					success(res2) {
						uni.getUserInfo({
							provider: 'weixin',
							success(res3) {
								self.$http.weixinLogin({
									openid: res3.userInfo.openId,
									nickName: res3.userInfo.nickName,
									sex: res3.userInfo.gender,
									imageUrl: res3.userInfo.avatarUrl
								}).then(res => {
									if (res.code === 200) {
										uni.setStorageSync('token', res.data.token)
										uni.navigateBack()
									}
								})
							}
						})
					}
				})
			}
		}
	})
},

微信登录结束流程结束
接下来就是调试了。。。。。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值