微信小程序中的授权、登录注册token和code


一、实现思路

  1. 刚开始进入小程序时,先判断是否授权。
  2. 如果没有授权,显示授权button按钮,让用户实现点击的功能,就是通过button组件去触发getUserInfo接口,通过调用 wx.login获取code码,读取登录接口,判断用户是否是新用户。
  3. 如果是新用户,则接着通过调用wx.login获取code码,然后读取注册接口,注册完之后在读取登录,保存后台返回的token,实现登录。
  4. 如果不是新用户,也是保存后台返回的token,则直接获取个人信息。
  5. 如果已经授权了,在判断token是否存在,如果不存在,则读取登录接口,跟上面步骤一样。如果存在,则直接跳过这个页面,进入首页。
    在这里插入图片描述

二、实现登录的代码

1.app.js

代码如下(示例):

//获取用户信息
wx.getSetting({
	success:res => {
		if(res.authSetting['scope.userInfo']){
			//已经授权,可以直接调用getUserInfo获取头像昵称,不会弹框
			wx.getUserInfo({
				success:res => {
					//可以将res发送给后台解码出unionId
					this.globaData.userInfo = res.userInfo
					//由于getUserInfo是网络请求,可能会在Page.onLoad之后才返回
					//所以此处加入callback以防止这种情况
					if(this.userInfoReadyCallback){
						this.userInfoReadyCallback(res)
					}
				}
			})
		}
	}
})

2.用户点击button按钮

<button open-type="getUserInfo" bindgetuserinfo="getUserInfo">获取头像昵称</button>
getLogin(){
	wx.login({
		success: async (res) => {
			if(res.code){
				//登录
				let {data} = await request('/user/wxapp/login','POST',{
					code:res.code
				})
				//data.code == 10000  没有注册
				if(data.code == 10000){
					wx.login({
						success: async (r) => {
							//注册
							let {data: re} = await request('/user/wxapp/register/complex', "POST", {
                  				code: r.code,
                  				iv: this.data.iv,
                 	 			encryptedData:this.data.encryptedData
                			})
                			this.getLogin()
						}
					})
				}else{
					wx.ssetStorageSync('token',data.data.token);
					wx.setStorageSync('uId',data.data.uid);
					this.getList()
					this.setData({
						hasUserInfo:true,
						user:data.data,
						uId:data.data.uid
					})
				}
			}else{
				console.log('登录失败' + res.errMsg);
			}
		}
	})
},
getUserInfo: async function(e) {
	this.setData({
		iv:e.detail.iv,
		 encryptedData:e.detail.encryptedData
	})
	app.globalData.userInfo = e.detail.userInfo
	if(e.detaill.userInfo){
		this.getLogin()
		this.setData({
        userInfo: e.detail.userInfo,
        detail: e.detail,
      })
	}
}


```c
data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
易语言是一种可视化编程语言,可以用来开发微信小程序微信小程序是一种在微信平台上运行的应用,用户可以通过扫码、搜索等方式打开它们。在开发微信小程序时,需要进行用户授权,以获取用户的基本信息和权限。 授权code微信小程序开放平台返回给开发者的一个授权码,用于换取授权access_token和用户唯一标识openid。开发者在小程序通过调用微信提供的接口,传入授权code并经过验证后,获取到access_token和openid,从而可以获取用户的个人信息和进行其他权限相关操作。 具体实现步骤为:用户在小程序点击授权按钮,微信小程序会弹出授权对话框,用户确认授权后,微信会返回一个临时的授权code小程序。开发者应该在小程序调用微信提供的接口,将授权code和开发者的appid、secret等参数一起发送给微信服务器验证,并获取到相应的access_token和openid。 授权code的作用是为了保护用户的隐私和数据安全,确保开发者只能获取到用户授权的信息,并防止恶意请求等问题。开发者需要妥善保存和使用授权code,并按照相关规定进行数据保护和权限管理,确保用户的信息安全。 总之,易语言微信小程序授权code是一种用于获取用户授权信息的授权码,通过调用微信提供的接口可以换取到access_token和openid,从而实现对用户信息和权限的管理和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值