微信小程序—用户授权登陆

微信授权

	1、通过wx.login(Object object);来获取获取code值,然会通过通过code利用wx.request调用
	小程序登录接口来换取token。
		wx.login():他是微信小程序自带的一个方法,主要是调用接口获取登录凭证(code)。
		通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录
		的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。

代码案例:

	//步骤:
	/**
     * 第一步:通过wx.login先获取code
     * 第二步:通过wx.getUserInfo获取encryptedData和iv
     * 第三步:调取后台注册接口写入用户信息
     */
    // 用户注册
    wx.login({
			success:res=>{
				console.log(res)
				//这里是解构赋值的写法
				let { code } = res;	
				if(code) 
				{
					//通过wx.getUserInfo来获取用户信息
					wx.getUserInfo({
						success: result => {
							// console.log(result)
							let { encryptedData,iv} = result;
							//请求后台的登陆接口
							wx.request({
								url: 'https://api.it120.cc/ddd/user/wxapp/register/complex',
								//在data传递code,encryptedData,iv
								data:{
									code,
									encryptedData,
									iv
								},
								//设置header请求头
								header: {
									'content-type':'application/x-www-form-urlencoded'
								},
								//这里的看你接口需求的接口是使用post / get
								method:"POST",
								success:(res)=>{
									console.log('注册返回的结果',res);
									//判断里面的code返回注册成功或者是失败
									if(res.data.code===0)
									{
										wx.showToast({
											title: '注册成功',
										})
									};
									if(res.data.code===10000) 
									{
										wx.showToast({
											title: '用户已注册',
										})
									};
								}
							})
						}
					})
				}
			},
			//如果登陆数失败的化返回的数据
			fail(error) {
				console.log('登陆失败',error);
			}	
		})
	},

猜你喜欢

转载自blog.csdn.net/qq_43036190/article/details/105959298