小程序端的一键登录代码:

<u-button type="primary" text="点击展开查询" @click="toLogin"></u-button>
		toLogin() {
				uni.getUserProfile({
					desc: '微信登录',
					success: info => {
						console.log(info) //获取登录的信息

						uni.login({
							success(res) {
								console.log(res.code) //获取微信code
								loginByCode({
									code: res.code
								}).then(res1 => { //调用后端接口,参数为code,如果返回值 200表示已经注册直接登录,如果是2004 表示未登录执行注册接口
									if (res1.code === '2004') {
										wechatRegister({ //注册接口传参
											encryptedData: info.detail.encryptedData,
											rawData: info.detail.rawData,
											iv: info.detail.iv,
											signature: info.detail.signature,
											openId: res1.data.openId, //后端返回
											sessionKey: res1.data.sessionKey, //后端返回
											unionId: res1.data.unionId ? res1.data.unionId : res1.data.openId //后端返回
										}).then(res2 => {
											//1.通过res.code2判断如果200 表示注册成功 保存token
											//2.判断res2.data.member.mobile是否存在,如果存在手机号码,直接跳转首页
											//3.如果没有res2.data.member.mobile,需要跳转到手机号注册页面,完成手机号码注册,跳转到首页

										})
									} else {
										//小程序已经注册,再去判断时候注册手机号,需要跳转到手机号注册页面,完成手机号码注册

									}
								})
							}
						})
					}
				})
			},

这样就完成了 小程序端的一键登录

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐